linux配置mysql二进制日志记录详细教程

一、简介

mysql二进制日志由多个文件构成,里面记录着由update,delete,insert,create table, drop table,grant等语句完成的数据修改,二进制日志是一些二进制编码的数据修改“事件”,它有一套配套的索引文件,里面列出了服务器上现有的二进制日志文件

二进制日志索引文件

记录着服务器上现有的二进制日志文件,它可以配合数据库备份文件在系统发生崩溃后对数据表进行恢复,先从备份文件恢复数据库,然后使用mysqlbinlog工具把二进制日志的内容转换为文本语句,接下来把上次备份后执行的过的每一条数据修改语句依次执行,达到恢复到数据库崩溃前的状态。

二、配置方法

1.配置文件

#/etc/my.cnf 或/etc/my.cnf.d/mariadb-server.cnf或/etc/mysql/my.cnf

server-id		= 1     #每个MySQL实例的唯一标识,如果有多个实例,需要分别设置不同的值
log_bin			= /var/log/mariadb/binlog/mysql.bin   #启用二进制日志记录(配置路径即启用)
expire_logs_days	= 10   #指定二进制日志文件自动过期的天数
max_binlog_size         = 100M    #指定每个二进制日志文件的最大大小

#binlog_do_db		= include_database_name   #指定不记录的数据库,适用于排除一些不需要复制的数据库。
#binlog_ignore_db	= include_database_name   #指定仅记录的数据库,适用于指定需要复制的数据库
#binlog_checksum = CRC32 #启用二进制日志的校验和功能,用于确保日志的完整性。
#sync_binlog = 1 #指定每写入多少次事务就强制将日志刷新到磁盘。
#binlog_rows_query_log_events = 1  #记录影响行数的SQL语句。
#binlog_format = ROW  #指定二进制日志的格式,常见的有STATEMENT、ROW和MIXED。

2.创建目录并授权

要保证创建的二进制目录mysql有权限,然会报错!

sudo chown -R mysql:mysql /var/log/mariadb/binlog
sudo chown -R 755 /var/log/mariadb/binlog
图片[1] - linux配置mysql二进制日志记录详细教程 - 正则时光

3.配置重启生效后,会在配置目录下自动生成日志文件

图片[2] - linux配置mysql二进制日志记录详细教程 - 正则时光

三、测试

对数据库进行增删改查等操作后,使用MySQL自带的工具(如mysqlbinlog)或其他监控工具来查看和分析二进制日志。

mysqlbinlog --no-defaults -vv --base64-output=decode-rows mysql-bin.000001
图片[3] - linux配置mysql二进制日志记录详细教程 - 正则时光
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享