Mysql中binlog日志

        binlog 基本认识

        MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。


        一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景:

        其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。

        其二:自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。


        二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。


1、开启binlog日志

        服务器上,打开mysql配置文件

vim /etc/my.cnf

        添加如下配置

log-bin=mysql-bin

        重启mysql

service mysqld restart


2、查询binlog日志

        连接服务器

mysql -h127.0.0.1 -uroot -proot

        查询binlog配置

        Variable_name为log_bin的值为ON,表示已经开启binlog日志

mysql>show variables like 'log_%';

        每次mysql重启,File、Position都会重置

mysql>show master status\G


3、常用binlog日志操作命令

       查看所有binlog日志列表 

mysql>show master logs;

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

mysql>show master status;

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

mysql>flush logs;

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

        重置(清空)所有binlog日志

mysql>reset master;


转载:https://www.cnblogs.com/martinzhang/p/3454358.html 

冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论