一、简介
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
3.配置重启生效后,会在配置目录下自动生成日志文件
三、测试
对数据库进行增删改查等操作后,使用MySQL自带的工具(如mysqlbinlog)或其他监控工具来查看和分析二进制日志。
mysqlbinlog --no-defaults -vv --base64-output=decode-rows mysql-bin.000001
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END