Mysq bin-log介绍

来源:互联网 发布:汤晓燕网络书法展 编辑:程序博客网 时间:2024/05/19 05:29

一、bin-log的作用

mysql bin-log用于记录数据的操作,比如创建数据库,创建表,新增、修改、删除操作。

二、为什么需要使用bin-log

正如第一条讲的,bin-log可以记录我们对数据库的操作,假如在操作数据库修改或者删除操作的时候,没有带条件,那么带来的结果将是灾难,除非你进行实时备份,可能会恢复数据,但是可能还是会有遗漏,如果不相关的数据还好,但是如果是订单这样的数据就惨了。

基于如上的错误我们可以通过mysql提供bin-log来进行挽救,当然不是有了解决方案我们就可以随便的修改、删除数据了

三、如何使用mysql bin-log

打开mysql的配置文件,windows下面为my.ini配置文件(该文件是在安装mysql通过bin\mysqld --defaults-file=my.ini --initialize-insecure,mysql的安装参考点击打开链接),linux下面为my.cnf,打开配置文件,配置完成之后需要重新启动mysql服务器


四、查看mysql bin-log命令查看是否开启成功,切换到mysql命令行下面,通过show variables liek '%log_bin%';查看


然后通过show master status;查看会有一个mysql-bin.000001的文件,这个文件存放在我们mysql的数据存放位置


五、bin-log实践

创建数据库、创建表、插入记录

然后通过mysqlbinlog --no-defaults ../data/mysql-bin.000001(bin-log存放的路径)命令,命令如下


展示的记录如下


上图只截取了一部分,并且标注出来了创建数据库和创建表的记录,对于新增、修改、删除语句也有记录,但是你通过查找,是查找不到的。

如何查看新增、修改、删除语句呢

通过刚才的命令加上参数就可以实现了



通过上图我们就知道我们在那个地方执行了新增、删除、修改操作

六、数据恢复


上图我已经标注出来执行操作的时间、位置,大家不懂的可以多看看,看多了就明白了。

以下命令都是在mysql安装目录的bin下面执行

 通过位置恢复

mysqlbinlog --start-position='' --stop-position=''  bin-log的位置|mysql -uroot -p

也可以不指定开始位置,那么就从头执行bin-log到指定的结束位置

也可以不指定结束位置,那么就是从指定的开始位置执行到结束位置

通过时间恢复

mysqlbinlog --start-date='' --stop-date=''  bin-log的位置|mysql -uroot -p

开始时间或者结束时间也可以不指定,原理同上

1 0
原创粉丝点击