- 二进制日志文件:默认在数据目录以mysql-bin或SERVERHOSTNAME开头,末尾为.bin.00000NUM的文件。每次重启服务器后日志将进行滚动。保留旧文件,新创建文件。
- 索引文件:记录了二进制日志文件的相关信息。默认在数据目录,名字为mysql-bin.index。建议将二进制日志文件和数据分开存放在不同磁盘,这样既能保证安全性,又能保证日志文件之间不出现竞争io的情况。。注意只有二进制和中继日志才是真的滚动,其他日志都是关闭后打开。
- server-id=1 -- master
- binlog_format STATMENT|ROW|MIXED 指定二进制日志文件的格式
- log-bin ON|OFF [FILE] 指定二进制日志文件的位置,没有指定FILE默认写在数据文件下,是否启用二进制日志文件功能。在[mysqld]中添加log-bin=mysql-bin和binlog_format=mixed。
- sql_log_bin ON|OFF 控制是否将日志写入二进制日志文件
- binlog_cache_size 缓存大小,跟随binlog_stmt_cache_size大小变化
- binlog_stmt_cache_size 语句缓存大小
- sync_binlog NUM 设定对二进制日志文件写入NUM次后就同步到磁盘。0表示不同步,1表示事务提交后才写入二进制日志中。其他正数都表示二进制日志在NUM次写入后就同步到磁盘。注意若autocommit=1,则每条语句的执行都将直接提交。否则事务只有执行COMMIT操作,明确提交后才写入二进制日志中。
max_binlong_cache_size 上限值
max_binlog_size
max_binlog_stmt_cache_size 上限值 - expire_logs_days DAY 设定日志过期时间为DAY天,过期会被自动删除。默认为0。
#######mysqlbin-log使用
path:cd /var/log/mysql/
ip 172.17.0.5/16
port 3333:3306
CREATE USER testduliyan IDENTIFIED BY '123456';
select host,user from mysql.user;
use testduliyan;
show variables like 'log_bin';--查看bin_Log是否开启
show binary logs-- 查看日志列表
show master status-查看当前正在使用的文件
SHOW BINLOG EVENTS in ‘mysql-bin.00000NUM’ [FROM POSITION] -- 查看具体内容
flush logs --手动滚动日志
PURGE BINARY LOGS TO ‘BINLOGFILE’ 可以删除指定文件之前的日志文件
/usr/bin/mysqlbinlog --base64-output=decode-rows -v /var/log/mysql/mysql-bin.000001 |more-- 解读row日志文件可读
网友评论