MySQL修改GTID_MODE状态顺序
- 问题描述
在管理控制台发起 Linux 环境下 MySQL 数据库异机恢复任务,任务执行失败,执行输出中提示如下错误信息:
恢复失败,运用MySQL binlog日志出现异常。@@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE=ON.
-
问题原因
异机数据库参数 GTID_MODE 状态为 ON,导致 GTID_NEXT 不能被设置为 ANONYMOUS 状态,从而导致恢复过程应用 binlog 日志失败。
-
解决方案
为了解决上述问题,需要修改异机数据库参数 GTID_MODE=OFF 解决。步骤如下:
1.命令行登录异机 MySQL 数据库服务器,执行以下命令,登录到恢复的 MySQL 数据库。
注:此处命令中 root 是数据库内 root 用户;password 是 root 用户的密码。
2.执行以下命令,查看并修改参数 GTID_MODE。
show global variables like 'gtid_mode'; ///查看 GTID_MODE 当前状态。
set @@GLOBAL.GTID_MODE=ON_PERMISSIVE; ///修改GTID_MODE 状态为 ON_PERMISSIVE。
set @@GLOBAL.GTID_MODE=OFF_PERMISSIVE; ///修改GTID_MODE 状态为 OFF_PERMISSIVE。
set @@GLOBAL.GTID_MODE=OFF; ///修改GTID_MODE 状态为 OFF。
注:更改 GTID_MODE 状态顺序为 ON<->ON_PERMISSIVE<->OFF_PERMISSIVE<->OFF ,需要按照顺序依次改变。