当前位置:首页 > MySQL

mysql的binlog太大太多占用大量磁盘的解决

canca11年前 (2016-01-09)MySQL821

现象:网站访问越来越慢,最后无法访问了,经过检查发现磁盘满了。仔细查询下来确认是由于mysql的binlog太多太大占用了空间。

  分析过程及解决方案:通常出现这种问题都应该登录服务器检查磁盘、内存和进程使用的情况,通过top、df –h和free –m来检查,发现磁盘空间满了。再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大。清理binlog的方法如下:

  1) 设置日志保留时长expire_logs_days自动删除

  查看当前日志保存天数:

  show variables like '%expire_logs_days%';

  这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:

  set global expire_logs_days=7;

  设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,所以需在my.cnf中设置

  expire_logs_days = 7

  2) 手动删除BINLOG (purge binary logs)

  用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件

  PURGE {MASTER | BINARY} LOGS TO 'log_name'

  PURGE {MASTER | BINARY} LOGS BEFORE 'date'

  例如:

  PURGE MASTER LOGS TO 'mysql-bin.010';

  PURGE MASTER LOGS BEFORE '2008-06-22 13:00:00';

  PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/78.html

标签: MySQL
分享给朋友:

“mysql的binlog太大太多占用大量磁盘的解决” 的相关文章

mysql 配置命令大全

--auto-rehash       Enable automatic rehashing. One doesn't need to use             …

mysql 外鍵約束

1. 什么是参照完整性?——————–参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:文章分类表 -  categoriescategory_id ...…

MySql导入SQL文件

MySql导入SQL文件: mysql -u root -p <c:\sampledb.sql…

MySQL免安装配置方法

1.下载一个安装版的。 安装版,安装后%MYSQL_HOME%\bin下有一个mysqld-nt.exe文件。将它复制出来(珍藏起来)。 2.下载一个免安装版MSYQL 将它解压。例如:E:/mysql-6.0.3-alpha-win32 将my-huge.ini另存为my.ini。 打开my.in…

Mysql中触发器的使用

在SQL中,名词触发器指“在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。”(Wikipedia)说得简单一些,它是在一个特殊的数据库事件,如INSERT或DELETE发生时,自动激活的一段代码。触发器可方便地用...…

Mysql 删除重复记录

1、 具体实现如下: Table Create Table ------------ -------------------------------------------------------- users_groups CREATE TABLE `users_groups` ( `id`…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。