MySQL:binlog启动与查看
短信预约 -IT技能 免费直播动态提醒
启动binlog
Mysql binlog,即二进制日志,是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select、show等),以数据形式记录,还包含语句执行所消耗的时间。
binlog的主要目的是复制和恢复。
如何查看MySQL是否开启了binlog?
登录MySQL后,输入:
show variables like 'log_bin'
显示off则未开启,显示on则开启。
如何开启MySQL的binlog?
打开my.ini文件,在mysqld下添加:
# 必须项,如果是集群环境,每台需要修改为不同值server-id=2# 设置binlog文件前缀log-bin=mysql-bin# 每个binlog最大大小max_binlog_size=200M
保存文件,重启MySQL服务,再次查看binlog状态,这时候可以看到是on了。
对支持的其他命令做一下补充说明:
server_id=1log_bin=mysql-binbinlog_format=ROWexpire_logs_days=30binlog_do_db=db_abinlog_do_db=db_b
- server_id:MySQL5.7及以上版本开启binlog必须要配置这个选项。对于MySQL集群,不同节点的server_id必须不同。对于单实例部署则没有要求。
- log_bin:指定binlog文件名和储存位置。如果不指定路径,默认位置为
/var/lib/mysql/
- binlog_format:binlog格式。有3个值可以选择:ROW:记录哪条数据被修改和修改之后的数据,会产生大量日志。STATEMENT:记录修改数据的SQL,日志量较小。MIXED:混合使用上述两个模式。CDC要求必须配置为ROW。
- expire_logs_days:bin_log过期时间,超过该时间的log会自动删除。
- binlog_do_db:binlog记录哪些数据库。如果需要配置多个库,如例子中配置多项。切勿使用逗号分隔。
查看binlog
查看当前的日志:
mysql> show master status;
看二进制日志文件用mysqlbinlog:
shell>mysqlbinlog mail-bin.000001
但是容易报异常mysqlbinlog: unknown variable ``'default-character-set=utf8'
,
所以可以用下面代替,加入–no-defaults:
mysqlbinlog --no-defaults D:\software\mysql-5.7.37-winx64\mysql-5.7.37-winx64\data\mysql-bin.000001
参考文献
- Windows下MySql开启binlog
- MySql开启binlong
- mysqlbinlog 查看binlog时报错unknown variable ‘default-character-set=utf8’
- Flink 使用之 MySQL CDC 讲了MySQL怎么开启binlog,说的很好
来源地址:https://blog.csdn.net/wlh2220133699/article/details/131112654
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341