(二).binlog日志

一.什么是binlog日志

  mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句(除了数据查询语句)信息.可以使用mysqlbin命令查看二进制日志的内容.

二.binlog日志的作用

  1. 记录除查询之外的所有SQL语句.
  2. 可用于数据恢复
  3. 配置MySQL主从复制的必要条件
  4. STATEMENT(基于SQL语句的复制)

三.binlog日志格式

  每一条会修改数据的sql语句会记录到binlog中.

  1. ROW(基于行的复制)

  不记录每一条SQL语句的上下文信息,仅需记录哪条数据被修改了,修改成了什么样子了.

  1. MIXED(混合模式复制)

  以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式.

四.如何启用(配置)binlog日志

  在MySQL配置文件my.cnf文件中的mysqld中添加配置信息.

[mysqld]

#启动并设置日志路径,注意路经需要mysql用户有权限写

log-bin = /目录/mysql-bin.log

#指定id值

server_id=100

#设置日志格式

binlog_format = mixed

#设置binlog清理时间

expire_logs_days = 7

#binlog每个日志文件大小

max_binlog_size = 100m

#binlog缓存大小

binlog_cache_size = 4m

#最大binlog缓存大小

max_binlog_cache_size = 512m

 

重启MySQL生效,如果不方便重启服务,也可以直接修改对应的变量即可.

五.binlog日志的相关操作

  1.手动生成新的日志文件

  •     重启MySQL服务
  •     mysql> flush logs;
  •      ]# mysqldump --flush-logs
  •     ]# mysql –uroot –p密码 –e ‘flush logs’

  2. 删除早于指定版本的binlog日志

    mysql> purge master logs to ‘binlog文件名’;

  3.删除所有binlog日志,重建新日志

    mysql> reset master;

  4.查看日志当前记录格式

    mysql> show variables like ‘binlog_format’;

  5.查看binlog日志

    ]# mysqlbinlog /var/lib/mysql/mysql-bin.000001

 1  2     # at 4
 3     #170412 12:05:32 server id 1  end_log_pos 123 CRC32 0x6d8c069c  Start: binlog v 4, server v 5.7.17-log created 170412 12:05:32 at startup
 4     # Warning: this binlog is either in use or was not closed properly.
 5     ROLLBACK/*!*/;
 6     BINLOG '
 7     jKftWA8BAAAAdwAAAHsAAAABAAQANS43LjE3LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 8     AAAAAAAAAAAAAAAAAACMp+1YEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
 9     AZwGjG0=
10     '/*!*/;
11

    

  “# at 4” 说明”事件”的开始点

  “end_log_pos 123” 说明”事件”的结束点

  “#170412 12:05:32” 发生”事件”的时间点

  “server id 1” 服务器的标识id

转载于:https://www.cnblogs.com/hydby/p/11271501.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值