MySQL 启动时的 InnoDB 错误
Posted
技术标签:
【中文标题】MySQL 启动时的 InnoDB 错误【英文标题】:InnoDB Error on MySQL Startup 【发布时间】:2015-04-14 20:10:59 【问题描述】:启动 mysql 时,我收到以下 InnoDB 错误。
mysqld_safe 使用 /var/lib/mysql 中的数据库启动 mysqld 守护进程 [警告] '--skip-locking' 已弃用,将在未来的版本中删除。请改用“--skip-external-locking”。 [警告] 'record_buffer' 已弃用,将在未来版本中删除。请改用“read_buffer_size”。 [注意] 插件 'FEDERATED' 已禁用。 InnoDB:初始化缓冲池,大小 = 8.0M InnoDB:缓冲池初始化完成 日志文件 ./ib_logfile0 大小不同 0 503316480 字节 InnoDB:比 .cnf 文件中指定的 0 5242880 字节! [错误] 插件“InnoDB”初始化函数返回错误。 [错误] 插件“InnoDB”注册为存储引擎失败。 [注意] 事件调度器:加载了 0 个事件 [注意] /usr/sbin/mysqld:准备连接。 版本:'5.1.73' 套接字:'/var/lib/mysql/mysql.sock' 端口:12485 MySQL 社区服务器(GPL) [注意] /usr/sbin/mysqld:正常关机my.conf
的内容是:
【问题讨论】:
【参考方案1】:它不会启动,因为您更改了 innodb 日志文件大小的大小(或者在这种情况下;您已对其进行了注释,而 MySQL 现在正在使用默认值)。
log file ./ib_logfile0 is of different size 0 503316480 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
如果您的 MySQL 数据库中有数据,我建议您通过删除井号将 innodb 日志文件大小值恢复为原始值:
innodb_log_file_size=503316480
另外,如果您真的有兴趣更改此设置;知道这很棘手,因为您最终可能会丢失数据。 如果您确实需要更改此设置,请按照 MySQL.com 上的指南进行操作:http://dev.mysql.com/doc/refman/5.1/en/innodb-data-log-reconfiguration.html
【讨论】:
我拥有超过 200 个 sql 数据库。请解释更多 请帮助我真的很痛苦 出于数据完整性的原因,MySQL 不允许您即时更改该设置。如果将 innodb_log_file_size 设置恢复为原始值,则不会丢失任何数据。 现在我有另一个问题***.com/questions/28510472/… 阅读问题 - 您可能遇到了崩溃或硬件故障。不幸的是,我从未尝试过 InnoDB 恢复。我只知道它是手动的,您需要重新创建每个损坏的表。见dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html以上是关于MySQL 启动时的 InnoDB 错误的主要内容,如果未能解决你的问题,请参考以下文章
mysql 启动错误(InnoDB: Operating system error number 1