• ADADADADAD

    【MySQL】Server-id导致Slave_IO_Running: No主从复制故障[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:10:39

    作者:文/会员上传

    简介:

    【问题描述】:
    在master停机维护启动服务之后,slave的Slave_IO_Running状态被置为NO
    Slave_SQL_Running为Yes,猜测应该是master的锅
    继续检查网络,权限等问题之后仍然为不可用

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    【问题描述】:
    在master停机维护启动服务之后,slave的Slave_IO_Running状态被置为NO
    Slave_SQL_Running为Yes,猜测应该是master的锅
    继续检查网络,权限等问题之后仍然为不可用
    也尝试重新
    change master to ...., ...., ....,
    master_log_file = 'master-bin.034555',
    master_log_pos = 98;
    依旧不可用

      1603229:42:51 [Note] Slave SQL thread initialized, starting replication in log 'master-bin.034555' at position 98, relay log './mysqld-relay-bin.0000 01' position: 4 1603229:43:01 [Note] Slave I/O thread: connected to master 'repl@*.*.*.*:3306',replication started in log 'master-bin.034555' at position 98 1603229:43:01 [ERROR] Error reading packet from server: Misconfigured master - server id was not set ( server_errno=1236) 1603229:43:01 [ERROR] Got fatal error 1236: 'Misconfigured master - server id was not set' from master when reading data from binary log 1603229:43:01 [Note] Slave I/O thread exiting, read up to log 'master-bin.034555', position 98 1603229:43:07 [Note] Error reading relay log event: slave SQL thread was killed

    检查配置文件发现#server-id = xxx 被注释

    【解决方案】:
    由于server_id为“Dynamic Variable”
    故到master中手动执行
      mysql> SETGLOBALserver_id=3028;
      Query OK, 0 rows affected (0.00 sec)

    最后在将配置文件中添加
    server-id=3028

    在slave上检查:
      mysql>SHOW SLAVE STATUS\G
      *************************** 1. row ***************************
      Slave_IO_State: Waiting for master to send event
      Master_Host: 192.168.30.28
      Master_User: repl
      Master_Port: 3306
      Connect_Retry: 60
      Master_Log_File: master-bin.034556
      Read_Master_Log_Pos: 59312658
      Relay_Log_File: mysqld-relay-bin.000002
      Relay_Log_Pos: 64698308
      Relay_Master_Log_File: master-bin.034555
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
      ………………………… Seconds_Behind_Master: 10071
      1 row in set (0.00 sec)

    解决。


    同样,某些时候在start slave时报错“The server is not configured as slave”,
    同样也很有可能是server-id的缘故,只需要手动在主和从库上执行:
    SET GLOBAL server_id = xxx,并保证两台server-id不一样即可,最后写入my.cnf中。


    作者微信公众号(持续更新)
    【MySQL】Server-id导致Slave_IO_Running: No主从复制故障.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: iomysqlserverid