MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

一、问题描述:

当我们配置好MySQL主主同步时,是可以实现主主同步,但是重启机器后或者其他原因导致MySQL无法同步了。

二、Slave两个关键进程

mysql replication 中slave机器上有两个关键的进程,死一个都不行,一个是slave_sql_running,一个是Slave_IO_Running,一个负责与主机的io通信,一个负责自己的slave mysql进程。

三、如果是Slave_SQL_Running:no:

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

解决办法如下:

MariaDB [(none)]> stop slave;                                                      
MariaDB [(none)]> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;            
MariaDB [(none)]> start slave;                                                      
MariaDB [(none)]> show slave status\G  

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

四、如果是slave_io_running:no

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

解决办法如下:

1、查看主服务器

MariaDB [(none)]> show master status\G                                             

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

2、在从服务器上查看

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

问题所在:发现Master_Log_File没有对应。

3、出现Slave_IO_Running: No的机器上操作

MariaDB [(none)]> slave stop;                 
MariaDB [(none)]>CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000026', MASTER_LOG_POS=0;  
MariaDB [(none)]> slave start;                               
MariaDB [(none)]> show slave status\G      

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

到此问题就解决了!

mysql> CHANGE MASTER TO MASTER_HOST = '192.168.11.22', MASTER_PORT = 3306, MASTER_USER = 'repl8', MASTER_PASSWORD = '1ZmE2HIx', MASTER_AUTO_POSITION = 1;
ERROR 3079 (HY000): Multiple channels exist on the slave. Please provide channel name as an argument.
mysql>  reset slave all;
Query OK, 0 rows affected (0.01 sec)

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法

stop slave;
 change master to master_auto_position=0;

MySQL数据同步,出现Slave_SQL_Running:no和slave_io_running:no问题的解决方法