2008-09-21 38 views
2

如何在已安装的MySql实例上启用inno-db支持?如何在MySql 4上面安装的MySql 5上启用inno-db支持?

我已经安装了mysql-5.0.67-win32。 执行'显示引擎'时,'InnoDB''DISABLED'。 根据文档MySql编译时支持inno-db (来自doc: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版的某些不兼容性有关)

回答

0

我已经解决了这个问题。

简而言之: 由于导入数据时出现了一些奇怪的语法错误,我无法在MySql4上转储数据库并在MySql5上恢复它。

我在安装之后尝试用旧数据库覆盖MySql5数据库,包括数据库'mysql'。它工作正常,但我无法启用inno-db支持。 (这样,我甚至可以使用功能PASSWORD旧密码(而不是OLD_PASSWORD))

由于'mysql'的数据库结构在5版本中发生变化,我试图再次安装MySql5并复制我的旧数据库, mysql'之一。在此之后,我更新了'mysql'数据库,并更正了'mysql'导出数据的版本。以这种方式我获得了MySQL 5的工作。

毕竟我还执行
mysqlcheck --all-databases --auto-repair
升级我的表。

P.S.感谢所有答案的作者,这些答案暗示了解决问题的正确方法。

1

也许您已禁用inno-db全局配置文件。在Linux上,这将与/etc/mysql/my.cnf类似 - 也许Windows有一个类似的全局配置文件。

+0

看起来是这样的,我更新了问题的细节。 – sergtk 2008-09-21 20:39:10

+0

我评论了'skip-innodb'。这不会帮助:( – sergtk 2008-09-21 20:50:59

4

默认情况下应该启用。在某些情况下,MySQL lib文件夹的权限错误会导致InnoDB咆哮。检查您的MySQL错误日志是否有权限错误。

+0

我禁用它默认情况下,我添加到描述的原因,权限是可以的 – sergtk 2008-09-22 17:00:10

3

我在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=8 
1

确保您正在更改正确的my.ini文件。在Windows上,这是从许多地方读取。顺序是:

  1. WINDIR \ my.ini中,WINDIR \ my.cnf文件
  2. C:\ my.ini中,C:\ my.cnf文件
  3. INSTALLDIR \ my.ini文件,安装目录\我的。 CNF
  4. 默认值,额外的文件

在命令提示符下键入mysql --help看到你的计算机如实际顺序:

默认选项是从 中按给定顺序读取以下文件: C:\ my.ini C:\ my.cnf C:\ WINDOWS \ my.ini C:\ WINDOWS \ my.cnf C:\ Program FILES \ MySQL的\中号ySQL服务器5.0 \ my.ini的 C:\ Program Files文件\的MySQL \ MySQL服务器 5.0 \ my.cnf中

0

你检查启动参数?也许用来启动服务器的shell脚本或批处理文件会禁用命令行中的引擎。IIRC命令行标志将胜过.ini设置。