• 技术文章 >数据库 >mysql教程

    mysql怎么删除二进制日志

    青灯夜游青灯夜游2022-06-16 15:20:03原创302

    3种方法:1、删除所有日志,语法“RESET MASTER;”,删除后将会重新开始创建新的二进制日志;2、根据编号删除日志,语法“PURGE MASTER LOGS TO '文件名.number';”,将删除编号小于指定“number'”的所有二进制日志;3、根据创建时间删除日志,语法“PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';”。

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    mysql删除二进制日志的方法

    二进制日志启动后,每次重启 MySQL 服务后,都会生成一个新的二进制日志文件。

    二进制日志中记录着大量的信息,如果很长时间不清理二进制日志,将会浪费很多的磁盘空间。删除二进制日志的方法很多,下面介绍几种删除二进制日志的方法。

    方法1:删除所有二进制日志

    使用 RESET MASTER 语句可以删除的所有二进制日志,该语句的形式如下:

    RESET MASTER;

    登录 MySQL 数据库后,可以执行该语句来删除所有二进制日志。删除所有二进制日志后,MySQL 将会重新创建新的二进制日志,新二进制日志的编号从 000001 开始。

    方法2:根据编号删除二进制日志

    每个二进制日志文件后面有一个 6 位数的编号,如 000001。使用 PURGE MASTER LOGS TO 语句,可以删除指定二进制日志的编号之前的日志。该语句的基本语法形式如下:

    PURGE MASTER LOGS TO 'filename.number';

    该语句将删除编号小于 filename.number 的所有二进制日志。

    示例:

    //删除bin-log.000002之前的二进制日志
    purge binary logs to 'bin-log.000002';

    1.png

    方法3:根据创建时间删除二进制日志

    使用 PURGE MASTER LOGS TO 语句,可以删除指定时间之前创建的二进制日志,该语句的基本语法格式如下:

    PURGE MASTER LOGS TO 'yyyy-mm-dd hh:MM:ss';

    其中,“hh”为 24 制的小时。该语句将删除在指定时间之前创建的所有二进制日志。

    示例:删除 2019-12-20 15:00:00 之前创建的二进制日志

    PURGE MASTER LOGS TO '2019-12-20 15:00:00";

    代码执行完后,2019-12-20 15:00:00 之前创建的所有二进制日志将被删除。

    2.png

    另外,我们也可以设置expire_logs_days参数,设置自动清理,其默认值为0,表示不启用过期自动删除功能。

    show variables like 'expire_logs_days';

    3.png

    如果启用了自动清理功能,表示超出此天数的二进制日志文件将被自动删除,自动删除工作通常发生在MySQL启动时或FLUSH日志时。

    4.png

    【相关推荐:mysql视频教程

    以上就是mysql怎么删除二进制日志的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql
    上一篇:mysql怎么关闭二进制日志 下一篇:mysql怎么开启错误日志
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• mysql int多少字节• mysql中怎么将字符串转为浮点数• mysql怎么将日期转为字符串• mysql怎么修改字段的内容• 怎么查看mysql是多少位• mysql是否支持分区
    1/1

    PHP中文网