首页 文章

未知的表引擎'InnoDB'

提问于
浏览
24

最近,我发现如果我有好的硬件,我可以最大化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'” .

我试图解决这个问题:

  • 我删除日志文件重启服务但我仍然收到错误 .

6 回答

  • 1

    其他解决方案并没有解决我的问题 . 调整config后,InnoDB引擎被禁用 .

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

  • 20

    我只是重试删除日志文件并重新启动服务,它的工作原理! But beware of allotting 2G because innodb might not compile, please use 1G 如果2G不起作用 .

  • 8

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

  • 4

    我尝试了所有这些(以及许多其他人),但 the one method that worked 对我来说是:

    • 停止MySql Server
      /etc/init.d/mysql stop

    • 删除日志文件
      rm ib_logfile0 ib_logfile1

    • 重命名InnoDB文件(如果没有其他工作,因为它将被重新创建) mv ibdata1 old_ibdata1

    • 我在_1312052中有这个配置 - >即使你没有指定它,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 Server
      /etc/init.d/mysql start
  • 0

    如果你完全破坏你的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

  • 11

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

相关问题