首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

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

发布网友 发布时间:2022-04-22 00:14

我来回答

3个回答

懂视网 时间:2022-04-07 23:03

set autocommit = 0;   insert into t1(name) values ("user1"); savepoint p1;   insert into t1(name) values("user2");   svaepoint p2;   insert into t1(name) values("user3");   savepoint p3;   rollback to p2;   //结果是user3数据插入失败

mysql创建还原点

标签:

热心网友 时间:2022-04-07 20:11

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、开发还是生产库?不能乱指挥。
【备份:做故障还原及数据恢复前切忌做好备份(数据文件以及日志文件)】

热心网友 时间:2022-04-07 21:29

您好,很高兴为您解答。

要想通过日志恢复数据库,在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-FBk4fWaz8I7v3M8U5zkvX6tE58h5kC29w4tv1atq-KhYFfnzb7krZAEk-1kjC17Uas-8Kym3pudnF_eGMkz7Vi

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

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

~ O(∩_∩)O~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com