Mysql主从复制之解决Slave_Io_Running:NO AND Slave_SQL_Running:NO

文章目录

    • 1. Slave_Io_Running:NO
    • 2. Slave_SQL_Running :no

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

Mysql主从复制之解决Slave_Io_Running:NO AND Slave_SQL_Running:NO_第1张图片

2. Slave_SQL_Running :no

如果是遇到Slave_SQL_Running :no

解决办法:

  1. 首先启动主数据库,查看主库状态
    Mysql主从复制之解决Slave_Io_Running:NO AND Slave_SQL_Running:NO_第2张图片

查看其中的file和position,记住,查看后主库就别在执行命令,等从库配置好之后在执行命令。很重要,否则file和position会变化导致配置失败。

  1. 先停止从库服务:stop slave;

  2. 然后在从库执行如下命令

 change master to master_log_file='mysql-bin.000006',master_log_pos=1636;

  1. 最后重新启动从库
    start slave;

大功告成

Mysql主从复制之解决Slave_Io_Running:NO AND Slave_SQL_Running:NO_第3张图片

你可能感兴趣的:(mysql,sql,数据库)