mysql> SHOW VARIABLES LIKE 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | OFF | +---------------+-------+ 1 row in set, 1 warning (0.02 sec)从结果可以看出,二进制日志是关闭的。
[mysqld]
log-bin=dir/[filename]
log-bin
重启 MySQL 服务器后,可以在 MySQL 数据库的数据目录下看到 LAPTOP-UHQ6V8KP-bin.000001 这个文件,同时还生成了 LAPTOP-UHQ6V8KP-bin.index 文件。此处,MySQL 服务器的主机名为 LAPTOP-UHQ6V8KP。log-bin=C:log\mylog
重启 MySQL 服务后,可以在 C:log 文件夹下看到 mylog.000001 文件和 mylog.index 文件。mysql> SHOW binary logs; +----------------------------+-----------+ | Log_name | File_size | +----------------------------+-----------+ | LAPTOP-UHQ6V8KP-bin.000001 | 177 | | LAPTOP-UHQ6V8KP-bin.000002 | 154 | +----------------------------+-----------+ 2 rows in set (0.00 sec)
mysql> SHOW master status; +----------------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +----------------------------+----------+--------------+------------------+-------------------+ | LAPTOP-UHQ6V8KP-bin.000002 | 154 | | | | +----------------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
mysqlbinlog filename.number
mysqlbinlog 命令只在当前文件夹下查找指定的二进制日志,因此需要在二进制日志所在的目录下运行该命令,否则将会找不到指定的二进制日志文件。C:\Users\11645>cd C:\log C:\log>mysqlbinlog mylog.000001 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; # at 4 #200527 9:33:37 server id 1 end_log_pos 123 CRC32 0x69738cfd Start: binlog v 4, server v 5.7.29-log created 200527 9:33:37 at startup ......由于日志内容较长,这里只展示了 mylog 中的部分内容。
mysqlbinlog C:\log\mylog.000001
这样,mysqlbinlog 命令就会到 C:\log 目录下去查找 mylog.000001 文件。如果不指定路径,mysqlbinlog 命令将在当前目录下查找 mylog.000001 文件。RESET MASTER;
登录 MySQL 数据库后,可以执行该语句来删除所有二进制日志。删除所有二进制日志后,MySQL 将会重新创建新的二进制日志,新二进制日志的编号从 000001 开始。PURGE MASTER LOGS TO 'filename.number';
该语句将删除编号小于 filename.number 的所有二进制日志。PURGE MASTER LOGS TO 'mylog.000004';
代码执行完后,编号为 000001、000002 和 000003 的二进制日志将被删除。PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';
其中,“hh”为 24 制的小时。该语句将删除在指定时间之前创建的所有二进制日志。PURGE MASTER LOGS TO '2019-12-20 15:00:00";
代码执行完后,2019-12-20 15:00:00 之前创建的所有二进制日志将被删除。SET SQL_LOG_BIN=0/1;
以上命令中,0 表示暂停二进制日志功能,1 表示开启二进制功能。
expire_logs_days = 10
max_binlog_size = 100M
本文链接:http://task.lmcjl.com/news/16835.html