如何在已安装的MySql实例上启用inno-db支持?
我已经安装了mysql-5.0.67-win32。当执行'show engine‘时,'InnoDB’被'DISABLED‘。根据文档,MySql是在支持inno-db的情况下编译的(来自文档:值为DISABLED是因为服务器启动时使用了禁用引擎的选项,或者因为没有给出启用引擎所需的所有选项)。
在my.ini中,我用'skip-innodb‘注释行。这没什么用。所有其他与inno-db相关的变量都保持不变。
在经历所描述的情况之前,我执行了一些不寻常的操作。我安装了mysql-4.0.17-win。我卸载了它,然后安装了mysql-5.0.67-win32。在安装向导中,我选择了MyISAM支持(据我所知,我以这种方式禁用了inno-db支持。当我尝试在支持inno-db的情况下重新安装时,我在使用以前的数据库'mysql‘和帐户信息时遇到了问题)。
MySQL文档说我应该使用mysqldump导出数据,然后在升级过程中导入导出的数据。我试过这样做,但是在导入数据时,我得到了语法错误的信息(我认为这与mysql的第4和第5版本的一些不兼容有关)
发布于 2008-09-23 17:34:16
我已经解决了这个问题。
简而言之:由于导入数据时出现一些奇怪的语法错误,我无法在MySql4上转储数据库并在MySql5上恢复它。
我在安装后尝试用旧的数据库覆盖MySql5数据库,包括数据库'mysql‘。它工作正常,但我无法启用inno-db支持。(通过这种方式,我甚至可以对旧密码使用函数密码(而不是OLD_PASSWORD))
由于'mysql‘的数据库结构在5版本中发生了变化,所以我尝试重新安装MySql5,并复制了除'mysql’之外的旧数据库。在此之后,我用从'mysql‘导出的数据的更正版本更新了'mysql’数据库。通过这种方式,我让MySQL5正常工作。
毕竟我还执行了
mysqlcheck --all-databases --auto-repair
来升级我的桌子。
另外,感谢所有答案的作者,它们提示我解决问题的正确方法。
发布于 2008-09-21 20:35:54
默认情况下应启用。在某些情况下,MySQL lib文件夹上的错误权限会导致InnoDB乱叫。检查权限错误的MySQL错误日志。
发布于 2008-09-21 20:36:55
我在my.ini中确实有以下innodb选项。这是一个非常小的配置,所以如果你想让mysql有一个好的性能,就不要使用这个值。请在更改my.ini后重新启动mysql。
#*** INNODB Specific options ***
innodb_data_home_dir="C:/mysqldata/"
#skip-innodb
innodb_additional_mem_pool_size=120M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=10M
innodb_log_file_size=2M
innodb_thread_concurrency=8https://stackoverflow.com/questions/112010
复制相似问题