mysql> show variables like '%log_bin%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | ON | #记录binlog的开关,ON表示开启
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON | #临时不记录binlog开关(增量恢复)
+---------------------------------+-------+
3 rows in set (0.00 sec)
3、查看当前mysql正在使用的binlog日志,这里的binlog日志千万不能删(主从库都要看)
mysql> show master status;
+------------------+-----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+-----------+--------------+------------------+-------------------+
| mysql-bin.000106 | 925450924 | | | |
+------------------+-----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
4、删除binlog日志2种方法(亲测有效,删除之前先做个备份)
(1) 通过修改配置文件删除(需要重启mysql)
# vi /etc/my.cnf
expire_logs_days = 30 #保留最近30天的bin-log日志
#重启后查看mysql配置是否生效(或查看/mysql/data/目录下的mysql-bin.00* 是否只有30天的)
mysql> show variables like "expire_logs_days";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 30 |
+------------------+-------+
1 row in set (0.00 sec)
(2) 直接通过命令删除(无需重启mysql直接生效)
#登录mysql
[root@jxq-c2-16-10 mysql]# mysql -uroot -p
#删除mysql-bin.000064之前的所有binlog日志(不包括'mysql-bin.000004')
mysql> purge binary logs to 'mysql-bin.000004'; #当前正在使用的binlog千万不能删。
Query OK, 0 rows affected (0.03 sec)