1、【mysql的binlog不可直接用文本文件打开,sql语句可以】
2、Windows中
(1)生成的binlog位于data目录
如:D:\ProgramData\MySQL\MySQL Server 5.1\data\mysql-bin.000024
(2)将mysql的binlog导出为sql语句
在dos的黑窗口中输入:mysqlbinlog mysql-bin.000024 -d mytestdb > mytestdb.sql
在windows中由于文件夹可包含空格,所以可以用如下截图导出
【注意:这个截图的数据库名称是labg1604,不是mytestdb哟!!】
3、linux中
(1)生成的binlog位于如:/var/lib/mysql/mysql-bin.000024
(2)将mysql的binlog导出为sql语句
mysqlbinlog mysql-bin.000024 -d mytestdb > /home/myhome/mytestdb.sql
mysqlbinlog --start-datetime="2020-01-17 14:40:00" --stop-datetime="2020-01-17 15:40:00" mysql-bin.000024 -d mytestdb > mytestdb.sql
4、mysqlbinlog命令参数说明:
-d -database
-h -host
-p -password
-P -port
--start-datetime
--start-position
--stop-datetime
--stop-position
4、使用binlog导出的sql语句恢复数据库
注意,使用binlog导出的sql语句恢复数据库时,需要将导出的sql语句,需要删除最后面的ROLLBACK,如下图所示:
ROLLBACK /* added by mysqlbinlog */;
如上图所示,删除ROLLBACK语句后,使用黑窗口(cmd)的root账号登录mysql后,
mysql > use labg1604;
mysql> source C:/......./Desktop/mytestdb.sql; -- 这里表示导出sql的存放位置 --
进行这一段时间数据库sql恢复。