导出mysql binlog数据备忘

2022/9/10 2:23:23

本文主要是介绍导出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,表示不自动删除

 



这篇关于导出mysql binlog数据备忘的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程