问题:
参考安装主从复制,遇到从服务器无法连接上主服务器的问题。
查看从服务器的状态,其中应该显示YES的地方 一直在显示Connecting [Slave_IO_Running: Connecting]。
原因:
可能的原因有:密码不对,网络不通,防火墙,POS位置不对,权限不够
解决:
此处遇到的问题是网络不通。两台服务器可以ping通,但是加上端口号就不行了。
yum安装telnet,
测试 telnet 192.168.255.129 3306
显示:
Trying 192.168.255.129... telnet: connect to address 192.168.255.129: No route to host
怀疑是防火墙的原因,在centos6执行以下命令
# 关闭防火墙 service iptables stop # 禁止开机启动 chkconfig iptables off
之后在从服务器上启动客户端连接主服务的MySQL可以访问了。
进入从服务器,启动MySQL客户端,可以看到Slave_IO_Runninghe和Slave_SQL_Running状态都是Yes。
测试主从同步时出现类似以下的错误:Last_SQL_Error: Error 'Unknown table 'test.myTest'' on query,关闭从服务重新设置下同步位置即可:
#主服务器 show master stausG #从服务器 stop slave change master to master_host='192.168.255.129',master_user='root',master_password='123456',master_log_file='mysql-bin.000002', master_log_pos=1570; start slave show slave stausG
常用命令
查看日志开启状态 show variables like 'log_%';
查看所有binlog日志列表 show master logs;
刷新log日志,立刻产生一个新编号的binlog日志文件,跟重启一个效果 flush logs;
清空所有binlog日志 reset master;
日志查看,因为是二进制文件没法用vi等打开,可以用mysql的mysqlbinlog打开;
查看从服务器的状态:show slave statusG;
切换到从服务器,修改从服务器同步点:
change master to master_host='主服务器IP', master_user='主服务器MySQL用户名', master_password='主服务器MySQL密码',master_log_file='mysql binlog文件', master_log_pos=主服务器日志位置;