前几天在测试主从服务器Mysql同步时遇到了从数据库显示Slave_IO_Running:Connecting; Slave_SQL_Running:Yes的问题。
下面列举几种可能的错误原因:
1.网络不通
2.账户密码错误
3.防火墙
4.mysql配置文件问题
5.连接服务器时语法
6.主服务器mysql权限
我的服务器ip:
主服务器ubuntu:192.168.16.105
从服务器ubuntu:192.168.16.115
逐项排除:
1:因为从服务器是虚拟机,网卡选择了桥接模式,ip地址确认在同一网段中,且互ping能通,排除网络问题。
2:主服务器创建了账号slave密码slave的权限账号,在主服务器可以登录slave帐号,排除帐号密码问题。
3:终端输入 关闭防火墙, 查看防火墙,确认已关闭,排除防火墙原因。(打开防火墙)
4:配置文件
(1)查看主服务器配置文件:,看第83行:确认log_bin和server-id已经取消注释,设置无错误。
(2)查看从服务器:
此处server-id只需要与主服务器不同即可,我设置为ip的末尾数字115。确认配置无错误,排除。
5.语法:
(1)查看主服务器二进制日志信息
(2)设置从服务器链接到master主服务器,确认语句无错误,排除。
注:
master_host:主服务器Ubuntu的ip地址
master_log_file: 前面查询到的主服务器日志文件名
master_log_pos: 前面查询到的主服务器日志文件位置
6.权限:
(1)主服务器查看slave帐号,已设置登录ip为%
(2)在从服务器上登录主服务器slave帐号测试:
无法登录主服务器!打开主服务器配置文件发现43行有一条绑定主机ip的语句,问题出在这里!!!给它注释掉!保存退出。重启主服务器数据库:
(3)重新测试从服务器上登录主服务器slave帐号:登录成功!
(4)重新进入从服务器链接master主服务器,开启主从同步,输入查看从服务器状态,若开启不成功先,再,可以看到Slave_IO_Runninghe和Slave_SQL_Running状态都是Yes,同步成功。