首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

的二进制日志binlog恢复数据库

欢迎各位再次来到这里听小编解说!小编已经把最精彩的文章已经写在了下边,希望大家能耐心的把文章看完。你们的阅读就是我坚持创作的动力!麻烦你点点关注和评论!小编会永远记在心里的!!!

MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语

句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。

一般来说开启binlog日志大概会有1%的性能损耗。

binlog日志有两个最重要的使用场景:

1)MySQL主从复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves来达到

master-slave数据一致的目的。

2)自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。

binlog日志包括两类文件:

1)二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件

2)二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句select)语句事件。

一、开启mysql-binlog日志

在mysql配置文件my.cnf加上如下配置

[mysqld]

log-bin=mysql-bin

重启mysql

service mysqld restart

查看binlog日志是否开启

mysql> show variables like 'log_%';

+---------------------------------+---------------------+

| Variable_name | Value |

+---------------------------------+---------------------+

| log_bin | ON |

二、常用的binlog日志操作命令

1)查看所有binlog日志列表

mysql> show master logs;

+------------------+-----------+

| Log_name | File_size |

+------------------+-----------+

| mysql-bin.000001 | 149 |

| mysql-bin.000002 | 4102 |

+------------------+-----------+

2 rows in set (0.00 sec)

2)查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

mysql> show master status;

3)flush刷新log日志,自此刻开始产生一个新编号的binlog日志文件

mysql> flush logs;

4)重置(清空)所有binlog日志

mysql> reset master;

注意:

每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;在mysqldump备份数据时加 -F 选项也会刷新binlog日志;

三:使用binlog日志恢复数据的方法

语法如下

mysqlbinlog mysql-bin.0000xx | mysql -u用户名 -p密码 数据库名

mysqlbinlog常见的选项有以下几个:

--start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间

--stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样

--start-position:从二进制日志中读取指定position 事件位置作为开始。

--stop-position:从二进制日志中读取指定position 事件位置作为事件截至

比如我们要把所有的操作都恢复(不包括我们的删除,我们知道删除是在755点上):

mysqlbinlog mysql-bin.000009 --start-position 154 --stop-position 755 | mysql -uroot -p mytest

既然binlog这么好,是不是开启了binlog就不需要定期做备份了呢,不要这样做。为什么呢,因为binlog的数据量非常大,另外就是使用binlog做数据的恢复性能会非常低。数据库的定期备份还是需要的。

非常感谢各位看官能在百忙之中阅读小编的文章,您们的阅读和评论是小编继续坚持创作的动力。你们的每一个评论,小编都会去非常认真的去阅读,你们提出的宝贵意见我也会虚心接受,争取每天都为大家带来更多的优质文章。让大家不但可以增长见识,还可以有个好的心情。希望您能喜欢小编的文章!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181026A1JF0V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券