修改mysql配置文件mysql.ini,在[mysqld]节点下添加
# log-bin log-bin =E:/log/logbin.log
路径中不要包含中文和空格。重启mysql服务。通过命令行停止和启动mysql服务
c:\>net stop mysql; c:\>net startmysql;
进入命令行进入mysql并查看二进制日志是否已经启动
mysql>show variables like 'log_%';
日志成功开启后,会在E:/log/目录下创建logbin.index和logbin.000001两个文件。logbin.000001就是数据库的备份文件,以后就可以通过此文件对数据库进行恢复操作。
查看备份的二进制文件 :
cmd下进入到mysql的bin目录:
c:\mysql\bin\>mysqlbinloge:/log/logbin.000001
日后记录的操作多了,命令行方式基本就用不上了。可以使用将日志导出文件的方式来查看日志内容
c:\mysql\bin\>mysqlbinloge:/log/logbin.000001 > e:/log/log.txt
">": 导入到文件中; ">>": 追加到文件中
查看日志可以看到做的操作sql语句。
恢复的时候只要恢复一部分数据,则可以按指定位置导出
--start-position=185 --stop-position=338(185和338是设定的开始和结束位置)
c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338e:/log/logbin.000001 > e:/log/log3.txt
在mysql查询分析器中也可以用SHOW BINLOG EVENTS;命令来查询
3.1 恢复: Sql代码
复制代码代码如下:
c:\mysql\bin\>mysqlbinlog e:/log/logbin.000001 | mysql -u root -p
3.2 按指定位置恢复: Sql代码
复制代码代码如下:
c:\mysql\bin\>mysqlbinlog --start-position=185 --stop-position=338e:/log/logbin.000001 | mysql -u root -p
输入密码即可完成恢复。3.3 按指定时间恢复: Xml代码
复制代码代码如下:
c:\mysql\bin\>mysqlbinlog --start-datetime="2010-01-07 11:25:56"--stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 | mysql -uroot -p
3.4 通过导出的脚本文件恢复 Sql代码
复制代码代码如下:
c:\mysql\bin\>mysql -e "source e:/log/log.sql"