Mysql开二进制日志的风险

在项目外包中,为了数据库恢复与安全考虑,决定开启二进制日志。操作看似简单,却揭示了生产环境改动的风险。最终,通过修改配置解决实际问题,强调了在复杂环境中进行改动时的审慎态度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有个项目外包出去了,最近上去检查Mysql数据库发现只有备份,既没有做同步也没有打开二进制日志。

为了便于崩溃后恢复,和一些安全问题,想打开二进制日志。 由于是外包的项目所以本地没有测试环境。

觉得打开二进制日志没什么风险,也没有做测试。通知业务部门,晚上修改重启,让一个夜班的同事测试,

测试反馈一切正常,收工回家。

第二天业务部门来问有没有修改程序,说有个功能不正常了。我们没有升级程序,也无法看到应用错误日志,就让他找外包厂商了。

mysql> select version();
+----------------------+
| version()            |
+----------------------+
| 5.1.53-community-log |
+----------------------+

最后找到问题的原因:
Binary logging not possible. Message: Transaction level ‘READ-COMMITTED’ in InnoDB is not safe for binlog mode ‘STATEMENT’。

修改binlog_format为mixed后问题解决。

mysql> show variables like 'binlog_format' ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | MIXED |
+---------------+-------+

结论:许多貌似简单,安全的操作,往往是暗藏风险的。生产环境的改动一定要小心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值