0
点赞
收藏
分享

微信扫一扫

Mysql导出binlog日志

MaxWen 03-18 18:15 阅读 3

Mysql导出binlog日志

前提条件:进入至数据库服务器中


  1. windows打开mysql程序目录下的my.ini配置文件

Linux打开/etc/my.cnf


查找log-bin配置项,找到Mysql binlog日志存放位置及文件头部名

Mysql导出binlog日志_mysql



2、找到需要导出数据的,对应时间范围的binlog日志,如此例中,binlog文件名开头为log-bin需要导出2021/1/19 15:00执行的sql语句,log-bin.000013最后修改时间为2021/1/7 17:33,log-bin.000014文件的最后修改时间为2021/1/19 15:19,说明2021/1/19 15:00执行的sql语句在log-bin.000014文件中

Mysql导出binlog日志_mysql_02



  1. Windows:在mysql bin目录下打开一个cmd窗口


Mysql导出binlog日志_sql语句_03


Mysql导出binlog日志_sql_04


执行如下命令:

mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v E:/dhgsoft/mysql-8.0.22-winx64/logs/log-bin.000014 > E:/14.sql

其中:

E:/dhgsoft/mysql-8.0.22-winx64/logs/log-bin.000014:binlog日志位置及文件名,请自行根据实际情况进行修改

E:/14.sql:结果输出位置,请自行根据实际情况进行修改


Linux:使用cd命令进入到mysql存放binlog日志的目录中,执行如下命令

mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -v log-bin.000014 > /tmp/14.sql

其中:

log-bin.000014:binlog日志文件名,请自行根据实际情况进行修改

/tmp/14.sql:结果输出位置,请自行根据实际情况进行修改

--base64-output:用来控制binlog部分是否显示出来的,指定为decode-rows表示不显示binglog部分

-v:可以从binlog中显示sql语句



4、命令执行完成后,Linux可执行使用vim命令进行查看,Windows需要对sql文件进行切割至小文件后进行查看

如下附件为Windows使用的大文件切割工具:

Mysql导出binlog日志_sql语句_05


解压后双击执行【Knife.exe

Mysql导出binlog日志_sql_06



程序运行后,依次点击【文件】——【文件切割】

Mysql导出binlog日志_mysql_07


选择如下图中的【请选择要切割的大文件】下的【】,选择需要切割的14.sql文件

Mysql导出binlog日志_sql_08


Mysql导出binlog日志_sql语句_09



在目标文件【规格】处填写【50】,即将大文件切割成多个50M小文件

点击【保存到】下方的【】,自行选择需要保存切割文件的位置

Mysql导出binlog日志_mysql_10



Mysql导出binlog日志_mysql_11



点击【开始切割】

Mysql导出binlog日志_sql语句_12



切割完成后,即可在设定的切割文件保存路径显示切割后的文件

Mysql导出binlog日志_mysql_13



对于切割后的binlog日志文件,可使用NotePad++打开即可

Mysql导出binlog日志_mysql_14



输出示例结果如下:

Mysql导出binlog日志_sql_15



根据时间点或表名,可自行查找增删改语句执行记录,比如,需要查询schedule_job表的记录增删改情况,则查找关键字【`schedule_job`

Mysql导出binlog日志_mysql_16


举报

相关推荐

0 条评论