MySQL主从复制与读写分离报错与解决方案

当我在部署MySQL主从复制与读写分离时,连续出现了以下几个报错,让我直接炸裂,花了好几个小时候进行排错,现在将报错情况与解决方案与大家进行分享。

报错一:java 的3306端口找不到

在这里插入图片描述

解决思路:
amoeba是基于java 环境的服务,amoeba起来了 netstat 才能查到java的3306端口 .
这种问题如果第一次都起不来,那么就是配置文件出错了,先检查配置文件,如果第一次能起来,后面起不来了,那么就说明配置文件没问题,而是环境发生了变化 ,那么这时候就要排查日志了。
这里是第一次就直接起不来了,排查amoeba 配置文件后,发现是 amoeba的配置文件 dbServers.xml 中的第23行注释时结尾没加 --> 进行结束。
在这里插入图片描述
添加改正后即可找到端口。
在这里插入图片描述

报错二:端口次数出现太多

在这里插入图片描述
解决思路:
这种其实是不影响后续的操作的,不过为了避免眼睛看花容易搞错,可以先查看java 的进程号,然后用 kill -9 杀掉进程后再重启amoeba。

[root@localhost?conf]#ps -elf | grep java
0 S root      50542  50485  0  80   0 - 268130 futex_ 12:30 pts/2   00:00:03 /usr/local/jdk1.6/bin/java -server -Xms256m -Xmx256m -Xss128k -Damoa -Dclassworlds.conf=/usr/local/amoeba/bin/amoeba.classworlds -classpath /usr/local/amoeba/lib/classworlds-1.0.jar org.codehaus.classworlds.Laun
0 R root      51033  50485  0  80   0 - 28169 -      13:02 pts/2    00:00:00 grep --color=auto java
[root@localhost?conf]#kill -9 50542 50485
Connection closing...Socket close.
##杀掉java 进程后会断开 xshell 连接,重新连接即可(记得重连后关闭防火墙)
[root@localhost ~]#/usr/local/amoeba/bin/amoeba start&
[1] 51079

在这里插入图片描述

报错三:在客户机中远程连接 amoeba服务器 代理访问mysql 时,连接不上amoeba。

在这里插入图片描述
解决思路:
1、测试是否能ping到远程 amoeba主机,发现可以ping 通
在这里插入图片描述
2、检查是否能访问远程主机端口,发现不能访问

注意:telnet就是查看某个端口是否可访问。
Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
使用telent需要提前下载telent

yum install telnet –y

在这里插入图片描述
找到问题所在了,是防火墙没有关闭。
将每个像个服务器和PC的防火墙都关掉即可解决。

[root@localhost ~]#systemctl stop firewalld.service 
[root@localhost ~]#systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]#setenforce 0

此时就可以远程连接amoeba服务器了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Gengchenchen/article/details/113755166