【问题标题】:InnoDB Error on MySQL StartupMySQL 启动时的 InnoDB 错误
【发布时间】: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的内容是:

[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_pa​​cket=800M 最大连接数=2000 交互超时=1000 等待超时=1000 连接超时=100 线程缓存大小=8 key_buffer=8M join_buffer=1M 表缓存=100 记录缓冲区=1M sort_buffer_size=2M read_buffer_size=2M max_connect_errors=200 线程并发=1 myisam_sort_buffer_size=4M 服务器 ID=1 [安全_mysqld] 错误日志=/var/log/mysqld.log open_files_limit=400 [mysql转储] 快的 [mysql] #default-storage-engine=myisam 没有自动重新散列 #安全更新 [isamchk] key_buffer=4M 排序缓冲区=4M read_buffer=4M write_buffer=4M [myisamchk] key_buffer=4M 排序缓冲区=4M read_buffer=4M write_buffer=4M

【问题讨论】:

    标签: mysql innodb


    【解决方案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 设置恢复为原始值,则不会丢失任何数据。
    • 现在我有另一个问题stackoverflow.com/questions/28510472/…
    • 阅读问题 - 您可能遇到了崩溃或硬件故障。不幸的是,我从未尝试过 InnoDB 恢复。我只知道它是手动的,您需要重新创建每个损坏的表。见dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 2017-11-17
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多