当前位置:Gxlcms > mysql > MySQLbin-log日志实验测试

MySQLbin-log日志实验测试

时间:2021-07-01 10:21:17 帮助过:11人阅读

二进制日志:对数据库的恢复还原是非常有用的。

在my.cnf中开启二进制日志,

server-id = 1

log-bin=mysql-bin

查看是否开启:

msyql中运行 :show variables like "%bin%";

得到信息:log-bin on

则开启成功!

查看二进制日志:

show master status;

查看二进制日志文件:show master logs;

一些相关命令:

flush logs //刷新,生成一个新的二进制日志bin-log文件。

reset master //清空所有的bin-log日志,只有一个000001的bin-log文件

测试:有一张表t1,有二条数据1,2. 【对应的二进制日志为000001】

先备份:msyqldump -uroot -p123456 test -l -F>/tmp/test.sql

【-l 锁表,防止数据库的增删改操作,-F重新生成新的二进制日志,在备份的时候一定要记得刷新生成新的二进制日志】

此时:show master status;可看到新的二进制日志为000002文件。

插入数据:insert into t1 values(3),(4);

再show master status;可以看到position的值改变了,比如为288

也可以查看bin-log文件日志,也可以看到里面的操作情况和他的position

Mysqlbinlog --no-defaults mysql-bin.000002;

现在突然:数据库t1被黑被删掉。用二进制日志恢复。

1.还原备份的数据:

/bin/mysql -uroot -p123456 test

此时得到的是1,2二条数据,后来插入的3,4数据没有恢复。

2.二进制恢复数据:

Mysqlbinlog --no-defaults --stop-position="288" mysql-bin.000002 | /lamp/bin/mysql -uroot -p123456 test //--stop-position="288"表示恢复到

288这个位置即可,因为上面插入数据后他的position是288,所以恢复到288即可

现在查看数据。就得到4条记录了。数据还原成功!

一些参数:

--stop-position ="288" //恢复到二进制日志到288的位置。

--start-position="XXX" //开启恢复的位置

--stop-date ="2010-21 12:11:50"

--start-date ="2011-21 12:11:50"

人气教程排行