gpt4 book ai didi

mysql - 删除旋转的 MySQL 二进制日志是否安全?

转载 作者:IT老高 更新时间:2023-10-28 23:57:13 27 4
gpt4 key购买 nike

我有一个启用了二进制日志记录的 MySQL 服务器。一天一次日志文件被“轮换”,即 MySQL 似乎停止写入它并创建新的日志文件。例如,我目前在/var/lib/mysql 中有这些文件

-rw-rw---- 1 mysql mysql 10485760 Jun  7 09:26 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Jun 7 09:26 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Jun 2 15:20 ib_logfile1
-rw-rw---- 1 mysql mysql 1916844 Jun 6 09:20 mybinlog.000004
-rw-rw---- 1 mysql mysql 61112500 Jun 7 09:26 mybinlog.000005
-rw-rw---- 1 mysql mysql 15609789 Jun 7 13:57 mybinlog.000006
-rw-rw---- 1 mysql mysql 54 Jun 7 09:26 mybinlog.index

mybinlog.000006 正在增长。

我可以简单地获取 mybinlog.000004 和 mybinlog.000005,将它们压缩并传输到另一台服务器,还是我需要先做其他事情?

mybinlog.index 中存储了什么信息?只有最新的二进制日志信息?

更新:我知道我可以使用更新 mybinlog.index 文件的 PURGE BINARY LOGS 删除日志。但是,我需要在删除日志之前将日志传输到另一台计算机(我测试备份在另一台计算机上是否有效)。为了减少传输大小,我希望对文件进行 bzip2。如果日志文件不再“存在”,PURGE BINARY LOGS 会做什么?

最佳答案

您可以删除旧的二进制日志。与其直接删除它们,不如使用 MySQL 语句 PURGE BINARY LOGS 更安全,它还会更新您的 mybinlog.index 文件。此文件存储哪些文件名已用于二进制日志记录,请参阅

http://dev.mysql.com/doc/refman/5.0/en/purge-binary-logs.html

此外,您可以将 MySQL 服务器配置为自动删除旧的二进制日志。将服务器配置中的变量 max_binlog_sizeexpire_logs_days 设置为适当的值。

ibdataib_logfile 文件与二进制日志记录无关。它们由 innodb 存储引擎使用。不要误以为它们似乎没有增长:如果您的服务器上有 innodb-tables,这些文件很重要,删除它们可能会导致数据丢失。您可以在文档中阅读有关 InnoDB 的更多信息:

http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html

关于mysql - 删除旋转的 MySQL 二进制日志是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989215/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com