1. Slave_Io_Running:NO
在配置主从复制的时候,因为我只安装了一台linux 又克隆了一台,一主一从 , 关键点就在于我是克隆的,才导致了报Slave_IO_Running: NO
原因:mysql 有个uuid , 然而uuid 是唯一标识的,所以我克隆过来的uuid是一样的,只需要修改一下uuid 就ok了,找到auto.cnf 文件修改uuid
而找这个文件也是有讲究的,方法如下
find / -iname "auto.cnf"
vim /data/mysql/auto.cnf
# 原内容
[auto]
server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1f
# 调整后内容,自定义即可,把最后一位f替换为a
[auto]
server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1a
找到该文件后,修改一位数据即可,即只要跟我们主库的uuid不同即可。
你们的文件夹可能跟我不太一样,根据实际情况进行修改,方法都是一样的
修改之后,记得重新启动数据库
# centos7.x
systemctl restart mysqld
# centos6.x
service myqld restart
启动成功之后,登录数据库
# 登录mysql
mysql -uroot -p
Enter password:123456
# 停止链路
stop slave;
# 启动链路
start slave;
# 查看链路
show slave status \G
2. Slave_SQL_Running :no
如果是遇到Slave_SQL_Running :no
解决办法:
- 首先启动主数据库,查看主库状态
查看其中的file和position,记住,查看后主库就别在执行命令,等从库配置好之后在执行命令。很重要,否则file和position会变化导致配置失败。
-
先停止从库服务:stop slave;
-
然后在从库执行如下命令
change master to master_log_file='mysql-bin.000006',master_log_pos=1636;
- 最后重新启动从库
start slave;
大功告成