导出mysql binlog数据备忘


# 查询 BINLOG 是否开启
show VARIABLES like 'binlog_%';

# 查询 BINLOG 格式
show VARIABLES like 'binlog_format';

# 查询 BINLOG 位置
show VARIABLES like 'datadir';

# 查看 master 正在写入的 BINLOG 信息
show master status;

# 查询当前数据库中 BINLOG 名称及大小
show binary logs;

# 开始一个新的binlog
flush logs;

# cmd进入mysql安装目录bin文件夹,执行导出
mysqlbinlog --no-defaults --base64-output=decode-rows -v --start-datetime="2022-01-01 00:00:00" --stop-datetime="2022-12-31 00:00:00" ../data/mysql-bin.000001 -r C:/Users/admin/Desktop/binlog-export.sql

–no-defaults 可以解决utf8mb4编码警告问题;

–base64-output可以将日志中base64文本解码;

此外,需要注意下日志文件的导入导出路径。

my.ini附录

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置3309端口
port = 3309
# 设置mysql的安装目录
basedir=C://Program Files (x86)//MySQL//mysql-8.0.11-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=C://Program Files (x86)//MySQL//mysql-8.0.11-winx64//data  
# 允许最大连接数
max_connections=200
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
group_concat_max_len=4294967295character-set-server=utf8mb4
default-storage-engine=INNODB
# 默认身份验证插件
default_authentication_plugin=mysql_native_password
# 允许创建sql方法
log-bin-trust-function-creators=1
#定义了MySQL应该支持的sql语法,对数据的校验
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# This buffer is allocated when MySQL needs to rebuild the index in
# REPAIR, OPTIMZE, ALTER table statements as well as in LOAD DATA INFILE
# into an empty table. It is allocated per thread so be careful with
# large settings.
sort_buffer_size=1M

# 主库配置
server-id=1    #服务器 id,随意,但要唯一
log-bin=mysql-bin   #二进制文件存放路径
sync_binlog=1      #确保binlog日志写入后与硬盘同步
binlog_format=row   #bin-log日志文件格式,设置为MIXED可以防止主键重复
expire_logs_days=7   #设置二进制日志自动删除/过期的天数,避免占用磁盘空间。默认值为0,表示不自动删除

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/288422.html

(0)
上一篇 2022年9月9日
下一篇 2022年9月9日

相关推荐

发表回复

登录后才能评论