近期公司的调度平台准生产环境出现小bug,日志显示已经执行失败的语句,实际上已经操作执行成功。为查清楚究竟发生了什么,学习了下关于MySQL binlog的基本操作,方便日志排查。
如何开启binlog ?
- 本身配置的数据库版本5.7,查看了网上很多说法,都不起作用,最后还是参考了官网。 – 重点:根据版本号,查询官网相关文档,找到最准确合适的配置方式!
- 实际操作: 修改配置文件 /etc/my.cnf
# add binlog
log_bin = mysql-bin
server-id = 1
相关的重要配置参数
- expire_logs_days
- binlog_format
- max_binlog_cache_size
- sync_binlog (binlog的存储位置也是有内存刷到硬盘上的,频率又该如何,这及其影响mysql的处理效率)
- binlog_do_db
- 其相关的还是影响处理效率,以及占用空间,记录内容!
基本查看方式
mysqlbinlog mysql-bin.00000X -start-datetime=‘’ -stop-datetime=‘’ --base-output=DECODE-ROWS -v > /tmp/log_name
鉴于只是刚开始的上手操作,不成体系,仅以记录,希望之后能逐步深入~