设置innodb_log_file_size会导致MySQL崩溃

问题描述 投票:3回答:3

所以,我希望能够将最大日志文件大小设置为64M,但在使用innodb_log_file_size=64M之后,MySQL启动正常,但似乎没有任何工作正常。

编辑:并且恰当地说我的意思是根本没有。设置其他InnoDB变量不会导致任何问题。

我应该如何解决这个故障?

mysql database innodb logfile
3个回答
4
投票

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

我已经测试过并为我工作过。这是source of this hint

InnoDB在show table status评论栏中报告了一些错误。您将在MySQL错误日志中找到其他问题(MySQL数据目录中的hostname.err)。


2
投票

我也遇到了这个问题,根据@ 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 forums上找到了这些具体步骤。


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
© www.soinside.com 2019 - 2024. All rights reserved.