繁体   English   中英

未知的表引擎“InnoDB”

[英]Unknown table engine 'InnoDB'

最近,我发现如果我有良好的硬件,我可以最大限度地提高 mysql 的性能。 由于我一直在使用 InnoDB,因此我在 my.ini 中添加了额外的配置

下面是新添加的配置:

innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 2G
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 120

然后我重新启动所有服务。 但是当我使用我的程序时,出现错误“未知表引擎'InnoDB'”。

我试图解决这个问题:

  1. 我删除了重新启动服务的日志文件,但仍然出现错误。

其他解决方案没有解决我的问题。 调整配置后禁用 InnoDB 引擎。

删除 mysql 数据目录中的 borked ib_* 日志文件修复了我的问题,并允许我为 InnoDB 使用 2G 缓冲池: http ://www.turnkeylinux.org/forum/support/20090111/drupal-6-problem-enable-innodb #comment-131

我只是重试删除日志文件并重新启动服务,它工作正常! 但是要注意分配 2G 因为 innodb 可能无法编译,如果 2G 不起作用,请使用 1G

我也遇到过这个问题。 问题是我为 InnoDB 分配的内存比服务器使用变量innodb_buffer_pool_size分配的内存多。 MySQL 没有抱怨无法在其日志中为此分配内存。

我尝试了所有这些(以及许多其他),但对我有用的一种方法是:

  • 停止 MySql 服务器
    /etc/init.d/mysql stop
  • 删除日志文件
    rm ib_logfile0 ib_logfile1
  • 重命名 InnoDB 文件(如果没有其他工作,因为它将被重新创建) mv ibdata1 old_ibdata1
  • 我在/etc/mysql/my.cnf有这个配置 -> 即使你没有指定这个,MySql 也会使用默认值。

     [mysqld] datadir=/data/mysql/data socket=/var/run/mysqld/mysqld.sock #Not a must to define the following innodb_log_file_size=1G innodb_file_per_table=1 innodb_flush_method=O_DIRECT innodb_buffer_pool_size=1G innodb_data_file_path=ibdata1:10M:autoextend innodb_lock_wait_timeout=18000
  • 启动 MySQL 服务器
    /etc/init.d/mysql start

如果您完全破坏 my.cnf 文件,则另一个选择是用 mysql 安装中的默认配置替换它。 对于Linux:

您有以下选择,

/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-small.cnf

这是安装它的示例:

#backup original config
mv /etc/my.cnf{,.bak}

#copy new my.cnf from template
cp /usr/share/mysql/my-large.cnf /etc/my.cnf

有关这些选项的更多信息,请访问http://dev.mysql.com/doc/mysql/en/option-files.html

从备份还原时出现此问题。 问题是我在 my.ini 中有一些不同的设置。 因此,如果有人遇到此问题,请务必设置相同的设置(复制 my.ini),停止 MySQL 服务,然后恢复整个数据文件夹,然后再次启动 MySQL 服务。

在 MariaDB 10.1 中,有一个ignore-builtin-innodb选项应该被禁用以停止修复错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM