如何通过mysql的日志恢复数据库 加急求救

如题所述

1、首先确定my.ini(Win系统)或my.cnf(Linux系统)是否有如下配置
[mysqld]
log-bin=mysql-bin
等号后面是文件名或者路径加文件名。
或者
用命令看是否开启binlog配置:
mysql> show master logs;
mysql> show binlog events g;
2、提供故障时点描述信息
3、如果开启了binglog那就可以按故障还原点或者时间点进行还原操作了
mysqlbinlog --start-position=
mysqlbinlog --start-datetime=
这里语法是进一步查询的线索,不知道你是什么OS、开发还是生产库?不能乱指挥。
【备份:做故障还原及数据恢复前切忌做好备份(数据文件以及日志文件)】
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-26
您好,很高兴为您解答。

要想通过日志恢复数据库,在my.cnf文件里应该有如下的定义,log-bin=mysql-bin,这个是必须的.binlog-do-db=db_test,这个是指定哪些数据库需要日志,如果有多个数据库就每行一个,如果不指定的话默认就是所有数据库.
[mysqld]
log-bin=mysql-bin
binlog-do-db=db_test
binlog-do-db=db_test2

删除二进制日志:
a.mysql> system ls -ltr /var/lib/mysql/bintest*;
mysql>reset master(清空所有的二进制日志文件)
b.purge master logs to 'bintest.000006';(删除bintest.000006之前的二进制日志文件)
c.purge master logs before '2007-08-10 04:07:00'(删除该日期之前的日志)
d.在my.cnf 配置文件中[mysqld]中添加:
expire_logs_day=3设置日志的过期天数,过了指定的天数,会自动删除

下面就是恢复操作了
特别提示,mysql每次启动都会重新生成一个类似mysql-bin.000003的文件,如果你的mysql每天都要重新启动一次的话,这时候你就要特别注意不要选错日志文件了。

可以看下这个:http://wenku.baidu.com/link?url=K4RYPxyNXo9gVJd3Rr-FBk4fWaz8I7v3M8U5zkvX6tE58h5kC2899w4tv1atq-KhYFfnzb7krZAEk-1kjC17Uas-8Kym3pudnF_eGMkz7Vi

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~
相似回答