我过去没有做太多的调整,所以这可能相对容易但是我遇到了问题。这就是我的工作:
innodb_log_file_size
)启动正常然而所有InnoDB表都有.frm文件无效错误,状态显示InnoDB引擎被禁用,所以我显然回去,删除更改,一切都恢复正常。
我能够更改我尝试过的所有其他变量,但我似乎无法找出为什么即使在删除日志文件后InnoDB也无法启动。我错过了什么吗?
感谢。
编辑:粘贴下面的日志 - 看起来似乎仍然找不到日志文件,即使它们不存在?
关机:
090813 10:00:14 InnoDB: Starting shutdown...
090813 10:00:17 InnoDB: Shutdown completed; log sequence number 0 739268981
090813 10:00:17 [Note] /usr/sbin/mysqld: Shutdown complete
进行更改后启动:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
090813 11:00:18 [Warning] 'user' entry 'root@XXXXX.com' ignored in --skip-name-resolve mode.
090813 11:00:18 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.81-community-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Edition (GPL)
090813 11:00:19 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './XXXX/User.frm'
090813 11:00:19 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './XXXX/User.frm'
090813 11:00:19 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './XXXX/User.frm'
它只是一个同样错误的垃圾邮件,直到我纠正它
当它重新创建日志文件后启动它所以它必须在同一个地方寻找我。
答案 0 :(得分:15)
首先,我必须指出,在InnoDB数据文件中的任何变形之前,应该阅读13.2.5. Adding, Removing, or Resizing InnoDB Data and Log Files。
您指出的步骤几乎是正确的。建议在此类更改之前进行备份。让我们看看你发生了什么:
错误消息
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 268435456 bytes!
是由更改innodb_log_file_size的大小而不是删除旧文件引起的。可能你忘了在更改后第一次运行mysqld时删除de ib_logfile0/1
。消息
090813 11:00:18 [Note] /usr/sbin/mysqld: ready for connections.
表明您已解决此问题(通过删除ib_logfile
)。但是,在删除它们时,您会产生另一个问题。 XXXX \ User.frm数据损坏或InnoDB Engine出现问题。
要确保启用InnoDB,请在mysql提示符下运行此命令:
show variables like "%inno%";
在结果列表中必须有“have_innodb = YES
”。有时,InnoDB可以不启动(值为NO
或DISABLED
),会显示Incorrect information in file
消息。
- 如果这是问题,你已经改变了阻止InnoDB引擎正常启动的其他东西(datadir的权限或tmpdir的权限,其他innodb变量(你没有显示完整的日志。),等等。)。查看更改或放置.cnf
文件(之前和之后)
- 如果InnoDB引擎是YES
,那么你必须修复表。 (如果是这种情况,请添加评论,我会在这里添加信息。我现在太懒了。)
答案 1 :(得分:1)
错误中的第一行表明您尚未删除ib_logfile0。你能确认你正在重命名/删除正确的吗?
答案 2 :(得分:0)
要检查的事项:
答案 3 :(得分:0)
您是否尝试过使用SQL客户端编辑innodb_log_file_size
字段?
我个人喜欢SQuirreL
答案 4 :(得分:0)
我怀疑您删除了错误的日志文件。环顾四周寻找其他ib_logfile *文件。也许你正在使用innodb_log_group_home_dir?
如果是这样,请确保从那里删除了ib_logfiles而不是datadir。