MySQL 启动时的 InnoDB 错误

InnoDB Error on MySQL Startup

启动 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' 注册为存储引擎失败。

[注意] Event Scheduler: Loaded 0 events


[注] /usr/sbin/mysqld:准备连接。
版本:'5.1.73' 套接字:'/var/lib/mysql/mysql.sock' 端口:12485 MySQL 社区服务器 (GPL)

[注意] /usr/sbin/mysqld:正常关机

my.conf的内容是:


[mysqld]

 本地文件=0

 端口 = 12485

#skip-innodb

#socket=/var/lib/mysql/mysql.sock

#innodb_log_file_size=503316480

#innodb_force_recovery=6

跳过锁定

query_cache_limit=1M

query_cache_size=4M

query_cache_type=1

max_allowed_packet=800M

max_connections=2000

interactive_timeout=1000

wait_timeout=1000

connect_timeout=100

thread_cache_size=8

key_buffer=8M

join_buffer=1M

table_cache=100

record_buffer=1M

sort_buffer_size=2M

read_buffer_size=2M

max_connect_errors=200

thread_concurrency=1

myisam_sort_buffer_size=4M

服务器-id=1

[safe_mysqld]

错误日志=/var/log/mysqld.log

open_files_limit=400

[mysql转储]

快的

[mysql]

#default-storage-engine=myisam

无自动重新散列

#安全更新

[isamchk]

key_buffer=4M

sort_buffer=4M

read_buffer=4M

write_buffer=4M

[myisamchk]

key_buffer=4M

sort_buffer=4M

read_buffer=4M

write_buffer=4M

它不会启动,因为您更改了 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