查看mysql data的挂载目录

docker inspect mysql | grep Mounts -A 20

进入mysql容器


docker exec -it mysql bash

进入到mysql binlog所在目录

cd /var/lib/mysql

备份

mysqlbinlog --no-defaults --database=数据库名称 --base64-output=DECODE-ROWS --start-datetime="2023-11-28 00:00:00" --stop-datetime="2024-01-04 12:59:59" mysql_bin.000664 -v > 20240104.sql

参数解释

–no-defaults 可以避免 my.cnf 里配了 [client] 某些 mysqlbinlog 没有的参数导致 mysqlbinlog 失败

–database 指定数据库名称

–base64-output 不显示行格式,如果同时加 -v 参数,可以从行格式中解码为带注释的伪SQL

–start-datetime 指定开始时间

–stop-datetime 指定结束时间

mysql_bin.000661 指定binlog文件名称

-v

不加,只显示行格式(即那一串字符串),无法得到伪SQL
在这里插入图片描述

加-v,从行格式中重建伪SQL(带注释),不显示 binlog_rows_query_log_events 参数效果

–skip-gtids 不保留 GTID 事件信息,这样回放 binlog 时会跟执行新事物一样,生成新的 GTID。
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐