-
CentOS7下部署了Mysql的分支Mariadb。每天数据盘都增长100M左右的数据占用空间。进入系统查询Mariadb数据库每天才产生几十M的空间,于是找了半天才发现在其根目录下有很多mysql-bin.xxx的日志文件。这是由于启用mysql-bin日志记录的缘故。
mysql> show global variables like '%bin%';
+---------------------------------+----------------------+
| Variable_name | Value |
+---------------------------------+----------------------+
| binlog_cache_size | 32768 |
| innodb_locks_unsafe_for_binlog | OFF |
| log_bin | ON |
| log_bin_trust_function_creators | OFF |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_size | 104857600 |
| sync_binlog | 0 |
+---------------------------------+----------------------+
7 rows in set (0.00 sec)
其中一个数据库,积累了大量的bin日志:
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000064 | 3175623 |
| mysql-bin.000065 | 104857696 |
| mysql-bin.000066 | 30124812 |
| mysql-bin.000067 | 104857882 |
| mysql-bin.000068 | 104857829 |
| mysql-bin.000069 | 104857910 |
| mysql-bin.000070 | 29627738 |
有三种解决方法:
1、关闭mysql主从,关闭binlog;
2、开启mysql主从,设置expire_logs_days;
3、手动清除binlog文件;
实现方法如下:
01、关闭mysql主从,关闭binlog
# vim /etc/my.cnf //注释掉log-bin,binlog_format # Replication Master Server (default) # binary logging is required for replication # log-bin=mysql-bin # binary logging format - mixed recommended # binlog_format=mixed
然后重启数据库
02、重启mysql,开启mysql主从,设置expire_logs_days
# vim /etc/my.cnf //修改expire_logs_days,x是自动删除的天数,一般将x设置为短点,如10 expire_logs_days = x //二进制日志自动删除的天数。默认值为0,表示“没有自动删除”
03、手动清除binlog文件
# /usr/local/mysql/bin/mysql -u root -p > PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); //删除10天前的MySQL binlog日志,附录2有关于PURGE MASTER LOGS手动删除用法及示例 > purge binary logs to 'mysql.bin.000071'; //删除指定日志文件; > reset master; //这种清理法更狠,一键清除所有日志; Query OK, 0 rows affected (0.06 sec) > show master logs;
04、清除binlog时,对从mysql的影响
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
常用的命令:
mysql>show slave hosts -- 查看所有连接到Master的Slave信息 mysql>show master status -- 查看Master状态信息 mysql>show slave status -- 查看Slave状态信息 mysql>show binary logs -- 查看所有二进制日志 mysql>show binlog events [IN log_file] -- 查看二进制日志中的事件
Mysql或Mariadb产生大量的mysql-bin.xxx日志文件
3688人参与 |分类: 站长百科|时间: 2016年05月28日
相关文章
- 2020-01-10作为站长应该懂得的7大搜索引擎站长平台
- 2019-10-22个人博客网站用什么程序比较好?
- 2019-10-12头条搜索站长平台如何添加网站和sitemap文件?附图文教程
- 2019-09-26PHP环境下是选择Apache和Nginx?
- 2019-09-11网站运维人员必做的7项网站维护工作
- 2019-08-26现在还要必要坚持做PC网站或个人博客吗?
- 2019-08-03宝塔面板+云锁nginx自编译web防护的图文教程
- 2019-07-08解决国内主机服务器 WordPress 后台异常卡顿的问题
- 2019-07-02网站启用SSL自动301跳转到HTTPS教程
- 2019-06-06宝塔/BT面板内存占用MySQL频繁崩溃自动重启方法