文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Mysql清理二进制日志的技巧

2024-04-02 19:55

关注

1:二进制日志

二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句。语句以“事件”的形式保存,它描述了数据的更改过程,此日志对于灾难时的数据恢复起着极其重要的作用

2:日志的位置和格式

当用—log-bin[=file_name]选项启动时,mysqld将包含所有更新数据的SQL命令写入日志文件。如果没有给出file_name值,默认名为主机名后面跟_bin,如果给出了文件名,但没有包含路劲,则文件默认被写入参数DATADIR(数据目录)指定的目录

3:日志的读取

由于日志以二进制的方式存储,不能直接读取,需要用mysqlbinlog工具来查看,语法如下:

#mysqlbinlog log_file

4:日志的删除

对于比较繁忙的OLTP系统,由于每天生产日志量大,这些日志如果长时间不清理,将会对磁盘空间带来很大的浪费,因此,定期删除日志是DBA维护MySQL数据库的一个重要工作内容,下面将介绍几种删除日志的常见方法

(1):

执行“reset master;”命令,该命令将删除所有二进制日志,新日志的编号从“000001” 开始,命令如下

Mysql>reset master;


(2):

执行“Purge master logs to ‘mysql-bin.*****’” 命令,该命令将删除“*****” 编号之前的所有日志,下列中删除了“mysql-bin.000001”之前编号的所有日志

Mysql>purge master logs to ‘mysql-bin.000015;


从结果中发现,编号000015之前的所有日志都已经删除

(3):

执行“purge master logs before ‘yyyy-mm-dd hh34:min:ss’”命令,该命令将删除日期为“yyyy-mm-dd hh34:mi:ss”之前产生的所有日志,下列中删除了日期在“2010-05-22 01:00:00”之前的所有日志

Mysql>purge master logs before ‘2010-05-22 01:00:00’’;


(4):

设置参数—expire_logs_days=#(days),此参数的含义是设置日志的过期天数,过来指定的天数后日志将会被自动删除,这样将有利于减少DBA管理日志的工作量。

#vi /etc/my.cnf
[mysqld]
--expire_logs_days=3


这样,3天前的日志都会被删除,系统自动删除


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯