登录
首页 >  数据库 >  MySQL

mysqlbinlog 简单实践

来源:SegmentFault

时间:2023-02-18 12:52:53 218浏览 收藏

在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《mysqlbinlog 简单实践》,聊聊MySQL,希望可以帮助到正在努力赚钱的你。

开启bin-log

在MySQL的配置文件中添加配置项,然后重启mysql

server_id=1 //5.7要求
log-bin=mysql-bin

如果不知道mysql配置项在哪,可以使用一下命令查看

mysql --help --verbose|grep 'my.cnf'

可以看到配置项

查看 binlog名字

mysqlbinlog简介

--start-datetime
指定开始时间

--end-datetime
指定结束时间

mysqlbinlog --start-datetime="2016-08-09 5:05:27" /var/lib/mysql/mysql-bin.000001

--start-position
开始位置,即bingLog日志中的
at
后面的数字

--end-position
结束位置

mysqlbinlog --start-position="2698" /var/lib/mysql/mysql-bin.000001

查看当前的binlog状态

show binaray logs;

关于binlog文件的生成:每重启一次,便会重新生成一个binlog文件;还有一种情况就是运行了FLUSH LOGS命令也会重建一个;还有一种情况就是当这个binlog文件的大小到了设定的值后,就会重新生成一个新的,我这里之所以会有第二个,是因为我刷新了日志

还原

binlog 默认在

/var/lib/mysql/
下,导出binlog里面的数据

 mysqlbinlog --stop-position="2698" /var/lib/mysql/mysql-bin.000001 > Back.sql
# 还原
mysql -uroot -p 

当然我这个只是简单的尝试,实际生产如果真要这么干的话,要复杂的多,而且一般不要这么干,如果真的管理好的话,可以用定时备份的数据来还原

总结

  定期使用 FlUSH LOGS 或者 mysqladmin flush-logs ,该操作会关闭当前的二进制日志文件,并新建一个binlog日志文件。(和重启mysql后新建的binlog操作一样)。以备份binlog日志,利用binlog日志也可以做增量备份。

参考文章:http://www.cnblogs.com/hanyif...

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《mysqlbinlog 简单实践》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表