欢迎访问机房运维工作室

爱数知识库

AnyBackup-Linux 环境下的 MySQL 云容灾失败,提示错误信息:MySQL数据库当前的日志模式为_MIXED,初始化复制过程中请将日志模式设置为

频道:爱数知识库 日期: 浏览:22

AnyBackup-Linux 环境下的 MySQL 云容灾失败,提示错误信息:MySQL数据库当前的日志模式为:MIXED,初始化复制过程中请将日志模式设置为 ROW 模式

关键字

云容灾、ROW 模式

适用产品

  • AnyBackup 6.0.x

问题描述

AnyBackup 执行 MySQL 云容灾失败,执行输出提示错误,点击查看详情显示下列错误信息:

MySQL 容灾任务出现异常。(错误提供者:mysqlDr,错误值:110,错误位置:ncMySQLDrSchedule.cpp:96)(附加信息:MySQL数据库当前的日志模式为:MIXED,初始化复制过程中请将日志模式设置为ROW模式。(错误提供者:mysqlDr,错误值:e07cc01b,错误位置:ncMySQLDrExec.cpp:436)

问题影响

AnyBackup 无法成功完成 MySQL 云容灾。

问题原因

源端服务器 MySQL 数据库日志模式不为 ROW 模式,AnyBackup 执行 MySQL 云容灾初始化过程中生产端日志模式必须为 ROW 模式。

解决方案

为了解决该问题,需开启 MySQL 数据库的二进制日志并将日志模式设置为 ROW 模式。此解决方案中以 MySQL 实例的 root 用户为例,具体步骤如下:

警告:以下步骤需重启 MySQL 数据库服务,请安排业务停机时间。

1.登录 MySQL 数据库,执行命令如下:

mysql -uroot -p

2.查看数据库日志模式,确认 binlog_format 是否为 ROW 模式,执行命令如下:

show variables like ‘binlog_format’

3.开启数据库的二进制日志,进入 MySQL 安装目录下,编辑配置文件 my.ini,在 [mysqld] 下添加两行,log_bin=mysql_binbinlog_format="ROW",保存后退出

4.重启 MySQL 数据库服务,命令如下:

service mysqld restart

5.重新登录 MySQL 数据库,查看数据库二进制日志模式,确认 binlog_format 是否为 ROW ,最终查到的状态如下图所示:

show variables like ‘binlog_format’

更多信息

二进制日志包含描述数据库更改的“事件”,例如表创建操作或对表数据的更改。关于 MySQL 的二进制日志,请参考: MySQL 官方文档