3

所以,我希望能够将最大日志文件大小设置为 64M,但是在innodb_log_file_size=64MMySQL 启动后这样做可以正常工作,但似乎没有任何工作正常。

编辑:我的意思是完全没有。设置其他 InnoDB 变量不会导致任何问题。

我应该如何解决这个问题?

4

3 回答 3

4

确保 MySQL 完全关闭,并ib_logfile*从 MySQL 数据目录中删除(或移动到其他位置)所有文件(/var/lib/mysql/通常)。

我已经对其进行了测试并为我工作。这是此提示的来源

InnoDB 在show table status评论字段中报告了一些错误。您会在 MySQL 错误日志中发现其他问题(hostname.err在 MySQL 数据目录中)。

于 2008-11-24T20:30:57.697 回答
3

我也遇到了这个问题,根据@porneL 的回答,这是我纠正这个问题的具体 bash 步骤:

service mysql stop              # Stop MySQL
rm /var/lib/mysql/ib_logfile0   # Delete log file 1
rm /var/lib/mysql/ib_logfile1   # Delete log file 2
vim my.conf                     # Change innodb_log_file_size = 64M
service mysql start             # Start MySQL

我在MySQL 论坛上找到了这些具体步骤。

于 2013-07-05T20:51:35.837 回答
1

在更改innodb_log_file_size之前,您必须从其中清除所有剩余的事务数据。您只需将innodb_fast_shutdown设置为 0 或 2。

  • innodb_fast_shutdown = 0 :InnoDB 在关闭之前进行缓慢关闭、完全清除和插入缓冲区合并
  • innodb_fast_shutdown = 2 :InnoDB 刷新其日志并冷关闭,就好像 MySQL 已经崩溃一样;没有提交的事务丢失,但是崩溃恢复操作使下次启动需要更长的时间。

鉴于此,这就是你处理它的方式

mysql -ANe"SET GLOBAL innodb_fast_shutdown = 2"
vi /etc/my.cnf                  # Change innodb_log_file_size = 64M
service mysql stop              # Stop MySQL
rm /var/lib/mysql/ib_logfile0   # Delete log file 1
rm /var/lib/mysql/ib_logfile1   # Delete log file 2
service mysql start             # Start MySQL
于 2013-07-05T21:01:00.820 回答