MYSQL主从同步如何自动化清理日志?
目前MYSQL 主从同步已经做好了。现在在考虑日志容量的问题,曾经被binlog搞爆过磁盘。
主从存在 主的mysql-bin 和 从的中继日志,我想请教一下有没有办法自动化去清理这俩个日志并且不影响到主从数据同步。百度了都是手动形式的,这样可太麻烦了。
我的想法是,mysql-bin是有pos的,不知道能不能从pos着手去清理某个点以前的日志,这样的话也不用锁表吧。但我不清楚如何能实现。
如果是从整个mysql-bin去清理,可能会需要去用到锁表吧。那用到了锁表是不是不太容易去自动化清理了?
或者哪位大神有完整的解决方案?谢谢赐教!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
binlog
日志可以按照时间和二进制文件来手动清理, 语法如下按照时间来: 设置一个定时任务,定时清理 n 小时/天前的二进制日志
按照文件来: 设置一个定时任务,定时获取最新的
binlog
日志文件(show master logs
), 然后预留一到两个二进制文件又或者把
binlog
日志的保留时间设置短一点,例如三天风险提示:如果清理了
binlog
日志,备节点没有及时同步,会有数据不一致风险,所以清理前要检查备节点读取到哪个位置。binlog
日志会把硬盘塞满意味着硬盘空间不合理,建议加大硬盘空间,或者把日志文件分开存放中继日志不建议手动清理,
MySQL
在执行完中继日志后会自动清理