之前 在大神帮助下搭建的时候 几乎没遇到什么问题
今天 一堆问题
1、防火墙没开对应端口
那么,开端口或者只是测试机的话,完全可以关防火墙去
防火墙配置:/etc/sysconfig/iptables
关闭防火墙:/etc/init.d/iptables stop
重启防火墙:/etc/init.d/iptables restart (修改配置之后需要重启去重新载入配置)
开启防火墙:/etc/init.d/iptables start
防火墙开放对应端口:-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
2、master_log_file和master_log_pos
其实这两个值在搭建的时候,并没有出啥错,就是,因为防火墙没开,导致 Slave_IO_Running一直是connecting状态
然后在不断测试问题的过程中,master的这两个值是会变的,所以,在最后配置之前,一定要再检查一次
3、账户问题
DBA的第一个关注点,就是账户安全性了,So,一般没发神经都不会给ROOT账户出去的,然后,这次配置账户出现了一个很奇怪的问题,目前暂时未CARE到点,先提出来,到时候回过头再来解决它。
- GRANT REPLICATION SLAVE ON *.* TO 'mysql'@'%' IDENTIFIED BY '123456';
这个账户建之后,连本机都登录不了……(MySQL5.6),网上百的结果是,因为 %导致了匿名用户,于是换了localhost还有slave的IP,无压力解决……
4、 slave_IO_Running:NO
网上各种解释直接误导我往网络方向去想了,因为是用的虚拟机,姐的网络又烂成N样,于是桥接和NAT各种切换之后发现,其实姐选NAT是更明智的选择
网上也有很多人,去查了错误日志,发现是XXX文件夹不存在,OK,也不是这个问题
也有人说是访问master的权限不够,唔,走开!
表示,以后查问题,一定要连问题周围一起查,在slave上用show slave status\G 列出后发现下面有ERROR的提示
"Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.”
于是最后去百度了这个问题,发现是这样的,因为是用虚拟机测试的,图方便就在第一台虚拟机搭建好之后,直接复制了一个虚拟机出来,其中,data目录下的auto.cnf也被复制过来了,虽然我们有在my.cnf上面配置不同的server_id,但是存在auto.cnf下面的UUID是一样的,So 报错了
解决倒是挺简单的,把之前的auto.cnf删了(或者重命名掉) 然后重启MySQL服务,会重新分配一个UUID
碰完以上问题之后,顺利搭建好了~撒花……嗯 时间也过了很久……好囧