一、启动MySQL的二进制日志
在my.cnf文件中添加两行变量,然后重启mysql
[root@localhost mysql]# vim /etc/my.cnf
[mysqld]
log_bin=mysql
server-id=101 #必须是集群中的唯一id
[root@localhost ~]# systemctl restart mysqld
二、安全删除二进制日志文件
二进制文件不能直接删除,否则很有可能出现数据库崩溃。
每一次启动或刷新mysql都会产生新的二进制日志文件。
mysql> flush logs; #刷新数据库
Query OK, 0 rows affected (0.01 sec)
- 批量连续删除purge。
mysql> show master logs; +--------------+-----------+ | Log_name | File_size | +--------------+-----------+ | mysql.000001 | 197 | | mysql.000002 | 197 | | mysql.000003 | 197 | | mysql.000004 | 197 | | mysql.000005 | 197 | | mysql.000006 | 154 | +--------------+-----------+ 6 rows in set (0.00 sec) mysql> purge master logs to 'mysql.000005'; Query OK, 0 rows affected (0.01 sec) mysql> show master logs; +--------------+-----------+ | Log_name | File_size | +--------------+-----------+ | mysql.000005 | 197 | | mysql.000006 | 154 | +--------------+-----------+ 2 rows in set (0.00 sec)
- 全部删除,只余索引文件和一个空的新建的二进制日志文件。
reset master;mysql> show master logs; +--------------+-----------+ | Log_name | File_size | +--------------+-----------+ | mysql.000001 | 197 | | mysql.000002 | 197 | | mysql.000003 | 197 | | mysql.000004 | 197 | | mysql.000005 | 197 | | mysql.000006 | 154 | +--------------+-----------+ 6 rows in set (0.00 sec) mysql> reset master; Query OK, 0 rows affected (0.00 sec) mysql> show master logs; +--------------+-----------+ | Log_name | File_size | +--------------+-----------+ | mysql.000001 | 154 | +--------------+-----------+ 1 row in set (0.00 sec)
- 通过修改my.cnf配置文件删除
[root@localhost ~]# vim /etc/my.cnf [mysqld] expire_logs_days=3 #删除3天前的日志文件