created by Dejavu
mysql版本: mysql 5.7.26
操作系统: ubuntu 18.04
cd /var/log/mysql
sudo mysqlbinlog --base64-output=decode-rows -v /var/log/mysql/mysql-bin.000001
binlog简介
binlog是一个二进制格式的文件,用于记录用户对数据库增量操作的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录。
默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看
binlog是 记录数据库增删改,不记录查询的二进制日志.
用于数据恢复,主从复制及数据的增量恢复
binlog的配置
配置文件的各个option作用
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
binlog_format = "MIXED"
max_binlog_size = 100M
binlog_do_db = include_database_name
binlog_ignore_db = include_database_name
server_id
mysql> mysqlvariables like '%server_id%';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| server_id | 1 |
| server_id_bits | 32 |
+----------------+-------+
server_id 自然数,标识数据库id
log_bin
日志路径,填入后重启数据库,binlog启动并开始记录
expire_logs_days
日志过期时间,设置为0则永不过期
-- 修改过期时间
mysql> set global expire_logs_days=7;
-- 设置之后不会立即清除,触发条件是:
-- binlog大小超过max_b