2008-11-24 75 views
4

所以,我想能够将最大日志文件大小设置为64M,但是在使用innodb_log_file_size = 64M后,MySQL开始正常运行,但似乎没有任何工作正常。编辑:通过正确的我的意思是根本没有。设置其他InnoDB变量不会导致任何问题。设置innodb_log_file_size崩溃MySQL

我该如何解决这个问题?

回答

4

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

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

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

1

我就遇到了这个问题太多,每@作为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