Rumah >pangkalan data >tutorial mysql >MySQL bin-log日志实验测试

MySQL bin-log日志实验测试

WBOY
WBOYasal
2016-06-01 13:14:38905semak imbas

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn