MySQL的二进制日志(Binary Log)记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。二进制日志主要用于数据恢复和主从复制。
在MySQL配置文件(通常是my.cnf或my.ini)中,找到或添加以下配置项:
[mysqld]
log-bin=mysql-bin # 指定二进制日志文件的名称前缀
server-id=1 # 配置服务器ID,用于主从复制MySQL支持多种日志格式,如STATEMENT、ROW和MIXED。默认是STATEMENT,但为了更好的数据一致性,通常推荐使用ROW格式。
binlog_format=ROW # 设置二进制日志格式为ROW可以设置二进制日志文件的过期时间,以便自动删除旧的日志文件。
expire_logs_days=10 # 设置日志文件保留10天保存配置文件后,重启MySQL服务以使配置生效。
sudo systemctl restart mysql # 对于Linux系统如果二进制日志文件过大,可能会占用大量磁盘空间。可以通过设置max_binlog_size参数来限制单个日志文件的大小。
max_binlog_size=1024M # 设置单个日志文件最大为1GB确保MySQL配置文件中的log-bin参数正确设置,并且MySQL服务有权限写入该目录。
如果二进制日志文件损坏,可以尝试使用mysqlbinlog工具进行修复或恢复。
mysqlbinlog --force-if-open mysql-bin.000001 > /tmp/repair.sql # 尝试修复损坏的日志文件没有搜到相关的文章