MYSQL大批量删除日志

今天MYSQL服务器磁盘空间耗尽,经排查发现mysql目录下生成大量的二进制日志文件,占用几十G的磁盘空间,差不多3000多个文件,如下图

进入mysql里面查看相关log的设置

mysql> show variables like ‘%log%‘;
+-----------------------------------------+---------------------------------------------+
| Variable_name                           | Value                                       |
+-----------------------------------------+---------------------------------------------+
| back_log                                | 50                                          |
| binlog_cache_size                       | 32768                                       |
| binlog_direct_non_transactional_updates | OFF                                         |
| binlog_format                           | MIXED                                       |
| expire_logs_days                        | 0          #这个默认是0,也就是logs不过期

下面先通过手动删除这些日志文件,然后再设置expire_logs_days的值,超过7天的日志就自动删除。

mysql> purge master logs to ‘mysql-bin.002970‘;  #表示将主库的日志记录清除到以‘mysql-bin.002970‘为开始的日志。
Query OK, 0 rows affected (1 min 30.29 sec)

mysql> set global expire_logs_days=7;            #这个是全局变量,重启mysql就不会生效了
Query OK, 0 rows affected (0.00 sec)

另外一种方法就是修改/etc/my.cnf,在mysqld下面添加一行即可。重启mysql永久生效,只保留7天的二进制日志。

expire_logs_days = 7
时间: 2024-10-07 06:00:19

MYSQL大批量删除日志的相关文章

mysql慢查询日志

1.如何开启慢查询日志cd /etc/my.cnf[mysqld]log-slow-queries=/var/lib/mysqllong_query_time=n 停止mysql启动mysql -----------------------------------2.删除慢查询日志 1)直接删除即可2)#mysqladmin -u root -poracle flush-logs 注释:重新生成一个

mysql 海量数据删除

百度知道 - mysql删除海量数据 MySQL 数据库删除大批量数据的优化 看到这儿的话,最后看下这篇文章,对于操作海量数据的sql深入分析 cnblogs - 深度分析DROP,TRUNCATE与DELETE的区别[我的数据库之路系列] dzh项目海量数据删除实战,看了上面文章,考虑truncate只能删除数据,表没有删掉,我就用了drop 需求,除了dzh_weibo_cache表其余的都要删除 dzh_weibo_cache --2000w dzh_weibo_cache111 --15

MySQL优化之——日志

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46790451 MYSQL里的日志主要分为4类,使用这些日志文件.能够查看MYSQL内部发生的事情. 各自是 1.错误日志:记录mysql服务的启动.执行.停止mysql服务时出现的问题 2.查询日志:记录建立的client连接和运行的语句 3.二进制日志:记录全部更改数据的语句.能够用于数据复制 4.慢查询日志:记录全部运行时间超过long_query_time的全部查询或不使用

ELK logstash 处理MySQL慢查询日志(初步)

写在前面:在做ELK logstash 处理MySQL慢查询日志的时候出现的问题: 1.测试数据库没有慢日志,所以没有日志信息,导致 IP:9200/_plugin/head/界面异常(忽然出现日志数据,删除索引后就消失了) 2.处理日志脚本问题 3.目前单节点 配置脚本文件/usr/local/logstash-2.3.0/config/slowlog.conf[详细脚本文件见最后] output { elasticsearch { hosts => "115.28.3.150:9200

Mysql清理二进制日志的技巧

1:二进制日志 二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句.语句以"事件"的形式保存,它描述了数据的更改过程,此日志对于灾难时的数据恢复起着极其重要的作用 2:日志的位置和格式 当用-log-bin[=file_name]选项启动时,mysqld将包含所有更新数据的SQL命令写入日志文件.如果没有给出file_name值,默认名为主机名后面跟_bin,如果给出了文件名,但没有包含路劲,则文件默认被写入参数DATADIR(数

MySql通过二进制日志文件恢复数据

在<百度.阿里.腾讯如何承载PB级别大数据>的视频中了解到,大型网站的数据库每天都会定时的进行数据备份份.如果设置每天的0点进行数据备份,在两个数据备份周期期间数据库出现宕机情况,0点到宕机这个时间段的数据如何备份呢?在MySql中是通过数据库的二进制日志文件进行数据恢复的. MySql的二进制日志文件默认是关闭的,需要我们在MySql根目录下的my.ini文件中设置为开启状态.设置方式为在[mysqld]节点下,添加log-bin=mysql  binlog-do-db=spring,mys

如何通过Mysql的二进制日志恢复数据库数据

经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlog)来恢复数据. 系统环境: 操作系统:CentOS 6.5 X64  (虚拟机): WEB服务:PHP+Mysql+apache: 网站:为方便,直接在本地用蝉知系统搭建一个DEMO站点: 操作步骤: 1.开启binlog功能及基本操作: 2.往站点添加数据: 3.刷新binlog日志: 4.删除

Mysql中错误日志、binlog日志、查询日志、慢查询日志简单介绍

前言 数据库的日志是帮助数据库管理员,追踪分析数据库以前发生的各种事件的有力根据.mysql中提供了错误日志.binlog日志(二进制日志).查处日志.慢查询日志.在此,我力求解决下面问题:各个日志的作用是什么?如何去控制这些日志呢?如何去使用这些日志提供的信息呢? 错误日志 1.错误日志作用 错误日志记录了mysql启动和停止时.以及server执行过程中发生不论什么严重性错误的相关信息.当数据库出现不论什么故障导致无法启动时候.比方mysql启动异常.我们可首先检查此日志.在mysql中,错

Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一.初步了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. DDL-