欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL bin-log日志实验测试

程序员文章站 2022-06-09 18:14:22
...
二进制日志:对数据库的恢复还原是非常有用的。

在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"

相关标签: 数据库 二进制