• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

MySQLbinlog启动和查看

武飞扬头像
经年藏殊
帮助1

启动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=1
log_bin=mysql-bin
binlog_format=ROW
expire_logs_days=30
binlog_do_db=db_a
binlog_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

参考文献

  1. Windows下MySql开启binlog
  2. MySql开启binlong
  3. mysqlbinlog 查看binlog时报错unknown variable ‘default-character-set=utf8’
  4. Flink 使用之 MySQL CDC 讲了MySQL怎么开启binlog,说的很好

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgghakf
系列文章
更多 icon
同类精品
更多 icon
继续加载