使用mysql purge手动清除二进制日志

对于一个访问量很大的mysql数据库,二进制日志的增量通常十分迅速,很可能出乎你的意料。犹如跑马圈地一样,你的磁盘大部分都会被日志给占满了。

出现问题总是需要解决的,而且总有要解决的方法:

方法一、使用php,perl,python,java等实现

连接数据库后,根据你的需求执行:purge binary logs before ....或purge binary logs to ...命令。(关于这两个命令的详细用法请参考mysql手册)

然后,将执行脚本的命令添加到crontab计划任务

方法二、使用shell

创建内容如下的shell脚本:

#!/bin/bash

mysql -u username -h host -ppassword mysql<<EOFMYSQL

pugre binary logs before current_timestamp-interval 7 day  #或purge binary logs to mysql-bin.00043

EOFMYSQL

修改该脚本的相关权限(可执行等)

然后,将执行脚本的命令添加到crontab计划任务

原文地址:https://www.cnblogs.com/ncyhl/p/9087285.html

时间: 2024-10-22 22:07:37

使用mysql purge手动清除二进制日志的相关文章

MySQL知识总结(四)二进制日志

1 定义 bin-log日志记录了所有的DDL和DML的语句,但不包括查询的语句,语句以事件的方式保存,描述了数据的更改过程,此日志对发生灾难时数据恢复起到了极为重要的作用. 2 开启 mysql默认是没有开发bin-log日志,首先我们需要开启bin-log日志,在my.cnf中修改 [mysqld] log_bin = mysql-bin datadir=/var/lib/mysql //指定数据文件存放目录,如二进制日志文件 查看二进制日志文件 cd /var/lib/mysql ls 由

mysql查看和启用二进制日志

1.查看是否启用了日志 mysql>show variables like 'log_bin'; VALUE值为OFF为关闭状态 2.编辑my.cnf文件 vim /etc/my.cnf 在[mysqld]最下面填上  log-bin 保存退出 3.重启mysql service mysqld restart 4.再次查看是否启用了日志 mysql>show variables like 'log_bin'; 此时VALUE值为ON 5.查看当前的二进制日志 mysql> show ma

MySQL 解密 --&gt; 如何查看二进制日志ROW模式下最原始的SQL语句

MySQL的binlog的ROW模式解析          在mysql5.6以后,对主从数据一致性要求变高了,statement格式逐渐不太适合业务的需求了,所以生产环境大家都采用了row模式,row模式是传输最底层的数据变化的insert的模块来进行主从数据的传输,那么在binlog里面就和普通的statement模式有何差别?能否看到最原始的sql语句呢? 1.准备录入数据 mysql> create table test1(id int,c1 varchar(20),type int,a

MySQL二进制日志(binary log)总结

本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 今天无意中发现了一个云栖社区举行的MySQL“第一季:挑战玄惭之 慢SQL性能优化赛”,在测试服务器上执行其测试脚本写入数据的时候报错提示如下,Multi-statement transaction required more than 'max_binlog_cache_

mysql二进制日志详解

二进制日志事件 基于语句:statement 基于行:rows 混合:mixed 二进制日志操作 mysql>show binary logs;   查看日志目录 mysql>show master status;  查看当前正在使用的日志 mysql>show binlog events in 'mysql-bin.000001' from 107;  从position值为107的位置查看日志内容 mysql>purge binary logs to 'mysql-biin.0

MySQL 二进制日志(Binary Log)

同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等等.二进制日志,也叫binary log,是MySQL Server中最为重要的日志之一,本文主要描述二进制日志. 1.MySQL日志文件系统的组成   a.错误日志:记录启动.运行或停止mysqld时出现的问题.   b.通用日志:

MySQl Study学习之--MySQl二进制日志管理

MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log):   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库(DML)的语句的执行时间信息    不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能    主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新    用于在主复制服务器上记录所有将发送

Mysql关闭二进制日志的方法

一.清除二进制日志文件 方法一:reset master; 方法二:purge binary logs to '*.bin'或者 purge binary logs  before  'date' 或 set global expire_logs_days=3; 注意:log_bin为静态参数,不能在线修改,expire_logs_days为全局参数 二.修改/etc/my.cnf 文件,找到下面两行并注释 #log-bin=mysql-bin #binlog_format=mixed 三.找合

Mysql学习之--Mysql二进制日志管理

Mysql学习之--Mysql二进制日志管理 简介:     MySQL的二进制日志可以说或是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是失误安全型的.      MySQL的二进制日志的作用是显而易见的,可以方便的备份这些日志以便做数据恢复,也可以作为主从复制的同步文件,然而二进制日志的大小可能会根据不同的需求而存在麻烦,所以让日志回滚是必须的,当然MySQL已经为我们提供了二进制回滚的功