msyql 启用日志恢复---实战(帮同事已经恢复) 问题描述:今天中午同事找找,说数据库(做微贷网站的数据)被自己误操作,数据都没有了(看错了数据库,初始化了) 。没有办法我记得mysql可以通过log进行数据恢复
首先,mysql 启用日志功能 在my.cnf里面的
[mysqld]
log-bin=mysql-bin
binlog_format=mixed
2.通过日志恢复思路,在数据库的目录里面有很多的 mysql-bin.0000*文件,这些文件不要删除,便于恢复
自己在恢复过程中试过好多方法,
2.1.把日志下载到其他临时环境,来进行恢复失败
2.2.通过D:\mysql_log>mysqlbinlog logbin_ouyang.000007 --stop-date="2011-10-23 15:05:00"|mysql -uroot -p123456) 这种方式恢复失败
2.3 在真实机器按照2.2方式恢复时没有提示错误,但是恢复失败,没有数据
3. 恢复的时候必须从0001开始,因为有些数据的表结构没有
mysqlbinlog --database=tongweidai /var/lib/mysql/mysql-bin.000001 >/root/sql/1.sql
mysqlbinlog --database=tongweidai /var/lib/mysql/mysql-bin.000002 >/root/sql/2.sql
mysqlbinlog --database=tongweidai /var/lib/mysql/mysql-bin.000003 >/root/sql/3.sql
mysqlbinlog --database=tongweidai /var/lib/mysql/mysql-bin.000004 >/root/sql/4.sql
mysqlbinlog --database=tongweidai /var/lib/mysql/mysql-bin.000005 >/root/sql/5.sql
mysqlbinlog --database=tongweidai /var/lib/mysql/mysql-bin.000006 --stop-date="2015-09-07 13:41:28" >/root/sql/6.sql
备注:这里面没有指定数据库,可以指定数据库
4.进入数据库进行导入库工作
mysql -uroot -p123456
source /root/sql/1.sql
完成
备注:你可以从开始号
附件:1./mysql/bin/mysqlbinlog --database=tongweidai --start-date="2013-01-22 5:00:00" --stop-date="2013-01-22 9:00:00" /mysql/data/mysql-bin.000001 | /mysql/bin/mysql -uroot -p123456
2.mysqlbinlog --databases=tongweidai /var/lib/mysql/mysql-bin.000006 --stop-date="2015-09-07 13:41:28" >/root/sql/6.sql
|