Mysql开二进制日志的风险

有个项目外包出去了,最近上去检查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 |
+---------------+-------+

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值