根据mysql文档(Docs http://dev.mysql.com/doc/refman/5.5/en/innodb-data-log-reconfiguration.html),为了在步骤#4中更改innodb-log-file-size,我需要删除二进制日志。我对此有一些担忧和疑问。我当前的 innodb-log-file-size 值为 5MB。所以我假设我的二进制日志文件每个(最大)为 5MB。当我查看 bin-log 目录时,我有一堆文件名,如“mysql-bin.000001”、“mysql-bin.000002”等。我相信这些是二进制日志文件,但它们都是相当多的。大于 5MB 一点。有 2 个文件(ib_logfile0、ib_logfile1),大小为 5 MB。所以我的问题是
- 其中哪个文件是我的“二进制日志”?
- 我需要删除其中哪些?
提前致谢
InnoDB 日志位于 ib_logfile0 和 ib_logfile1 中。这些文件的大小为innodb_log_file_size
.
要调整 InnoDB 日志的大小,您首先需要彻底关闭 mysqld。这将确保日志中的任何更改都已刷新到您的表空间中。干净关闭很重要,因为如果不执行此步骤,则很有可能丢失数据。
彻底关闭 mysqld 后,ib_logfiles 就变得多余了。你必须rm
他们改变他们的大小。
当您重新启动 mysqld 时,InnoDB 注意到文件丢失,并根据新大小创建新文件innodb_log_file_size
my.cnf 文件中的变量。因此,请确保在重新启动之前编辑该文件,否则它只会创建新的 5MB 文件。
MySQL 5.6 使这个过程变得更加简单。你不需要rm
日志文件,但您确实需要重新启动 mysqld 才能使新的日志文件大小生效。它在 5.6 中的工作方式是,如果这些文件的大小与配置变量不同,MySQL 会自动执行另一次干净重启(以确保文件不包含任何未刷新的更改),然后 InnoDB 调整文件大小最后启动时。
其他文件(mysql-bin.000001等)是二进制日志。这些可能会成长为max_binlog_size
(默认为 1GB),但是二进制日志的大小有所不同,因为每当您重新启动 mysqld 或执行时都会创建新日志FLUSH LOGS
。无论如何,它们与 InnoDB 日志无关。
PS:你可能会喜欢这篇文章:如何计算合适的 InnoDB 日志文件大小 http://www.mysqlperformanceblog.com/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)