GTID 已关闭,但复制时出现错误

GTID 已关闭,但复制时出现错误

我刚刚从 mariadb5 升级到 mariadb10。然后我的从属复制出现错误

无法从 mysql.gtid_slave_pos 加载复制 GTID 从属状态:表“mysql.gtid_slave_pos”不存在

我此复制的主服务器未使用 GTID,为什么会出现此错误。虽然我遇到了此错误,但我的 slave_IO 和 slave_SQL 仍在运行。

这是我的奴隶状态,供参考

**************************** 1. 行 ****************************
Slave_IO_State:等待主服务器发送事件
Master_Host:172.19.19.149
Master_User:从属
Master_Port:3306
Connect_Retry:10
Master_Log_File:mysql-bin.000385
Read_Master_Log_Pos:564
Relay_Log_File:migrate-relay-bin.000002
Relay_Log_Pos:535
Relay_Master_Log_File:mysql-bin.000385
Slave_IO_Running:是
Slave_SQL_Running:是
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:1146
Last_Error:无法从 mysql.gtid_slave_pos 加载复制 GTID 从属状态:表'mysql.gtid_slave_pos'不存在
Skip_Counter:0
Exec_Master_Log_Pos:564
Relay_Log_Space:834
Until_Condition:无
Until_Log_File:
Until_Log_Pos:0
Master_SSL_Allowed:否
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:否
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:1146
Last_SQL_Error:无法从 mysql.gtid_slave_pos 加载复制 GTID 从属状态:表'mysql.gtid_slave_pos'不存在
Replicate_Ignore_Server_Ids:
Master_Server_Id:30
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid:无
Gtid_IO_Pos:

谢谢。

答案1

我已经通过运行 mysql_upgrade 修复了复制问题,我在将 MariaDB 从 5 更新到 10 后忘记运行它了。

谢谢

答案2

有时 mysql_upgrade 无法修复此问题,将失败并出现以下错误 mysql.gtid_slave_pos 错误:表 'mysql.gtid_slave_pos' 在引擎状态中不存在:操作失败

在这种情况下,您将必须重新创建表。 http://alidba.blogspot.in/2017/05/table-mysqlgtidslavepos-doesnt-exist.html

相关内容