欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

mysql配置日志老化配置_mysql配置-日志大小限制和自动删除

发布时间:2023/12/10 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mysql配置日志老化配置_mysql配置-日志大小限制和自动删除 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

线上的项目磁盘消耗问题, 发现和MySQL日志有关系.

需要处理的问题

如何限制大小 不让日志无限膨胀?

配置日志不留?

删除的方式和直接删除会对服务有什么影响?

解决方式

限制大小, 保留最近一段时间日志.

set global expire_logs_days=7; # 命令行进入MySQL中, 临时设置保留最近7天日志文件.

expire_logs_days = 7 # 打开 my.cnf 配置文件写入配置, 上面是临时设置的 重启后需要这个文件也要配置下.

max_binlog_size = 100M # 打开 my.cnf 配置文件写入配置, 配置二进制日志每一文件的大小限制为100M.

当修改配置并重启后, 二进制超出配置的部分会被删除, 如果需要之前的日志文件, 注意先备份出来.

上面配置置参考[资料1]

涉及其它的内容

删除的方式和直接删除会对服务有什么影响?

Tip: 删除之后可能导致数据库崩溃时无法进行恢复,所以若要删除二进制日志首先将其和数据库备份一份.

删除方式1-按文件名. PURGEBINARY LOGS TO 'mysql-bin.000007'; 命令行进入mysql中, 将mysql-bin.000007之前的二进制日志文件删除.

删除方式2-按时间删除. PURGEBINARY LOGS BEFORE '13-10-19 10:26:36'; 命令行进入mysql中, 将指定时间前二进制日志文件删除.

参考[资料2]

配置日志不留?

mysql> show global variables like "%log%";

sql_log_bin ={ON|OFF} #用于控制会话级别二进制日志功能的开启或关闭。默认为ON,表示启用记录功能。用户可以在会话级别修改此变量的值,但其必须具有SUPER权限。

Tip: 在my.cnf中没有找到sql_log_bin的配置值, 那么应该只是通过命令行设置就行. 还待查询确认.

参考[资料2]

如何知道配置文件的位置?

mysql --help | grep my.cnf 这个是默认mysql配置文件存放路径.

mysqld --verbose --help #和上面相同 参考[资料3]

whereis my.cnf 通过文件直接查找, 但是有可能找到的配置文件不是当前mysql加载的.

如何自定义my.cnf存放路径?

待查找解决….

启动mysql后,我们查看mysql的进程,看看是否有设置使用指定目录的my.cnf文件,如果有则表示mysql启动时是加载了这个配置文件。

命令: ps aux|grep mysql|grep ‘my.cnf’

参考[资料4]

参考资料

总结

以上是生活随笔为你收集整理的mysql配置日志老化配置_mysql配置-日志大小限制和自动删除的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。