首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL如何更改innodb log文件大小

MySQL如何更改innodb log文件大小
EN

Stack Overflow用户
提问于 2013-11-11 16:45:12
回答 2查看 12.9K关注 0票数 8

根据mysql文档(文档),为了在步骤4中更改无害的日志文件大小,我需要删除二进制日志。我对此有一些担忧和疑问。我当前的innodb日志文件大小值是5MB。因此,我假设二进制日志文件为5MB (最大)。当我查看bin-log目录时,我有一堆文件名,如“mysql-bin.000001”、“mysql-bin.000002”等等。我相信这些是二进制日志文件,但它们都比5MB大一些。有两个文件(ib_logfile0、ib_logfile1)是5MB。所以我的问题是

  1. 哪些文件是我的“二进制日志”?
  2. 我需要删除其中哪一个?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 17:06:00

InnoDB日志位于ib_logfile0和ib_logfile1中。这些是innodb_log_file_size大小的文件。

要调整InnoDB日志的大小,首先需要关闭mysqld干净的。这将确保日志中的任何更改已经刷新到表空间中。清洁关机很重要,因为如果不执行此步骤,则很有可能丢失数据。

在您彻底关闭mysqld之后,ib_logfiles是多余的。你必须用rm来改变它们的尺寸。

在重新启动mysqld时,InnoDB注意到文件丢失,并根据innodb_log_file_size文件中的innodb_log_file_size变量创建新文件。因此,请确保在重新启动之前编辑该文件,否则它只会创建新的5MB文件。

MySQL 5.6使这个过程稍微简单一些。您不需要rm日志文件,但是需要重新启动mysqld才能使新的日志文件大小生效。它在5.6中的工作方式是,如果这些文件的大小与配置变量不同,MySQL会自动进行另一次干净的重新启动(以确保文件不包含任何未刷新的更改),然后InnoDB在最终启动时调整文件大小。

其他文件(mysql-bin.000001等)是二进制日志。这些日志可能会增长到max_binlog_size (默认情况下是1GB ),但是二进制日志的大小不同,因为只要重新启动mysqld或执行FLUSH LOGS,就会创建新的日志。无论如何,它们与InnoDB日志无关。

PS:您可能喜欢这篇文章:如何计算一个好的InnoDB日志文件大小

票数 13
EN

Stack Overflow用户

发布于 2021-05-02 08:47:42

根据正式文档(它对MySQL 5.7.30适用)更改InnoDB重做日志文件的数量或大小,请执行以下步骤:

  • 停止MySQL服务器并确保它在没有错误的情况下关闭。
  • 编辑my.cnf以更改日志文件配置。若要更改日志文件大小,请配置innodb_log_file_size。若要增加日志文件的数量,请配置innodb_log_files_in_group。
  • 再次启动MySQL服务器。
  • 如果InnoDB检测到innodb_log_file_size与重做日志文件大小不同,它会写入日志检查点,关闭和删除旧的日志文件,按请求的大小创建新的日志文件,并打开新的日志文件。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19911551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档