关键字
Binlog、ROW
适用产品
AnyBackup 7.0.6 - 7.0.8
问题描述
在 AnyBackup 管理控制台执行 MySQL 数据库定时备份任务失败,执行输出显示如下错误信息:
备份失败,原因:Binlog日志模式不为ROW或者未开Binlog日志。
问题影响
AnyBackup 无法完成 MySQL 数据库定时备份。
问题原因
AnyBackup 7.0 的 MySQL 数据库定时备份方案是基于二进制日志的逻辑备份,MySQL 数据库需日志需要要开启二进制日志和 ROW 模式。
解决方案
为了解决该问题,需开启 MySQL 数据库的二进制日志并将日志模式设置为 ROW 模式。此解决方案中以 MySQL 实例的 root 用户为例,具体步骤如下:
警告:以下步骤需重启 MySQL 数据库服务,请安排业务停机时间。
场景一,MySQL 数据库未开二进制日志
1.登录 MySQL 数据库,执行命令如下:
mysql -uroot -p
2.查看数据库是否开启了二进制日志,确认 log_bin 状态,执行命令如下:
show variables like ‘%log_bin%’;
3.开启数据库的二进制日志和 ROW 模式,编辑 MySQL 配置文件 my.cnf,在 [mysqld] 下添加两行,log_bin=mysql_bin和binlog_format="ROW",保存后退出:
4.重启 MySQL 数据库服务,命令如下:
service mysqld restart
5.重新登录 MySQL 数据库,查看数据库是否开启了二进制日志模式,确认 log_bin 是开启状态,请参考步骤1和2,最终查到的状态如下:
场景二,MySQL 数据库日志模式不为 ROW 模式
1.登录 MySQL 数据库,执行命令如下:
mysql -uroot -p
2.查看数据库日志模式,确认 binlog_format 是否为 ROW 模式,执行命令如下:
show variables like 'binlog_format';
3.编辑 MySQL 数据库配置文件 my.cnf,修改 binlog_format参数值,修改为: binlog_format="ROW"。
4.重启 MySQL 数据库服务,命令如下:
service mysqld restart
5.重新登录 MySQL 数据库,查看数据库二进制日志模式,确认 binlog_format 是否为 ,请参考步骤1和2,最终查到的状态如下:
更多信息
二进制日志包含描述数据库更改的“事件”,例如表创建操作或对表数据的更改。关于 MySQL 的二进制日志,请参考:MySQL 官方文档。