MySQL数据库主从出错 Slave_IO_Running: No 的解决办法

字号+ 编辑: 种花家 修订: 面向ICU 来源: 原创 2023-09-11 我要说两句(1)

在设置MySQL主从复制的时候, 使用SHOW SLAVE STAUTS命令发现Slave_IO_Running状态为NO, 怎么办呢?

打开MySQL错误日志, 假设日志地址在 /usr/local/mysql/var/localhost.localdomain.pid 打开文件, 发现有以下一行错误报出来:

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

在MySQL控制台下面输入以下命令, 发觉Slave_IO_Running:  No

SHOW SLAVE STATUS\G

一方面原因是因为网络通信的问题, 也有可能是日志读取错误的问题;

另一方面原因是在slave服务器进行了写操作, 改了东西。怎么办!

解决办法:

从机器停止slave

mysql> slave stop;

到master机器登录mysql:

记录master的bin的位置,例如:

mysql> show mster status;
+-------------------+----------+--------------+-------------------------------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB                   |
+-------------------+----------+--------------+-------------------------------------------+
| mysqld-bin.000010 |  106  |        | information_schema,mysql            |
+-------------------+----------+--------------+-------------------------------------------+

日志为mysqld-bin.000010

刷新日志(不一定需要):

mysql> flush logs;

因为刷新日志file的位置会+1,即File变成为:mysqld-bin.000011

马上到slave执行

mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000011',MASTER_LOG_POS=106;
mysql> slave start;
mysql> show slave status\G;
阅完此文,您的感想如何?
  • 有用

    6

  • 没用

    1

  • 开心

    2

  • 愤怒

    1

  • 可怜

    1

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 让Mysql查询后直接返回json字符串的方法

  • postgresql的pg_dump备份简单方法

  • 使用sql语句在MySQL库中去掉字段左边、右边指定字符串

  • 避免mysql全表扫描等影响性能的写法规则

我要说说
网上宾友点评
1楼 IP61.149.*.*的嘉宾说道: 4个月前
对MYSQL真是无爱,好好的搞mongodb不香吗??或者至少分个库也行,主从主从,老掉牙了。