共计 3582 个字符,预计需要花费 9 分钟才能阅读完成。
行业资讯
数据库
MySQL 数据库
MySQL 复制环境 Slave 报错 Got fatal error 1236 from master when reading data 怎么解决
本篇内容主要讲解“MySQL 复制环境 Slave 报错 Got fatal error 1236 from master when reading data 怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“MySQL 复制环境 Slave 报错 Got fatal error 1236 from master when reading data 怎么解决”吧!
MySQL 复制环境 Slave 节点报错
mysql show slave status\G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 10.20.30.10
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000008
Read_Master_Log_Pos: 920
Relay_Log_File: mysqld-relay-bin.000018
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000008
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 920
Relay_Log_Space: 154
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 1236
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
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 203fe772-177e-11e7-b15c-000c296b3b20
Master_Info_File: /mysql_data_57/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp: 170624 17:03:05
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
在 Master 节点上查看二进制日志的位置
mysql show master status;
+——————+———-+————–+——————+——————-+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+——————+———-+————–+——————+——————-+
| mysql-bin.000011 | 1734 | | | |
+——————+———-+————–+——————+——————-+
1 row in set (0.00 sec)
查看 Master 节点的二进制日志
mysql show master logs;
+——————+———–+
| Log_name | File_size |
+——————+———–+
| mysql-bin.000010 | 3780 |
| mysql-bin.000011 | 1734 |
+——————+———–+
2 rows in set (0.06 sec)
查看 Slave 节点的二进制日志
mysql show binary logs;
+——————+———–+
| Log_name | File_size |
+——————+———–+
| mysql-bin.000008 | 154 |
| mysql-bin.000009 | 154 |
+——————+———–+
2 rows in set (0.02 sec)
报错原因:
在 Master 节点上删除了二进制日志,导致 Slave 节点的 IO 线程获取不到指定的二进制日志
在 Master 节点上设置了自动删除二进制日志的参数,5 天后会自动删除二进制日志;而 Slave 节点所在的数据库一直没有启动,再次启动时 IO 线程获取不到 Master 节点的二进制日志
mysql show variables like %expire%
+——————————–+——-+
| Variable_name | Value |
+——————————–+——-+
| disconnect_on_expired_password | ON |
| expire_logs_days | 5 |
+——————————–+——-+
2 rows in set (0.02 sec)
解决方法:
除非主库有二进制日志备份,否则需要重建 Slave 节点
到此,相信大家对“MySQL 复制环境 Slave 报错 Got fatal error 1236 from master when reading data 怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!