解决MySQL数据同步中的Slave_SQL_Running:no和slave_io_running:no问题

问题解决:MySQL数据同步中的Slave_SQL_Running:no和slave_io_running:no问题可以通过以下方法解决。


1. 处理Slave_SQL_Running: No:


   - 在MySQL命令行中输入以下命令:

   

     ```

     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

     ```


   - 通过以上命令,首先停止从服务器的复制进程,然后设置SQL_SLAVE_SKIP_COUNTER为1,这将跳过一个事件,接着启动从服务器的复制进程,并通过show slave status\G命令来确认复制状态。

   

2. 处理slave_io_running: No:


   - 首先,在主服务器上执行以下命令查看主服务器的状态:

   

     ```

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

     ```


   - 然后,在从服务器上执行以下命令查看问题所在:

   

     ```

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

     ```

     

     在结果中观察Master_Log_File是否存在对应的值。

     

   - 如果从服务器上的结果显示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

     ```

     

     通过以上命令,首先停止从服务器的复制进程,然后通过CHANGE MASTER TO命令将主服务器的正确的日志文件(MASTER_LOG_FILE)和位置(MASTER_LOG_POS)设置到从服务器上,最后启动从服务器的复制进程,并通过show slave status\G命令来确认复制状态。

     

通过以上步骤,可以解决MySQL数据同步中的Slave_SQL_Running:no和slave_io_running:no问题。这些步骤能够修复复制进程的错误状态,并确保数据在主服务器和从服务器之间正确地同步。


会员中心