2011-05-02 85 views
5

我试图通过phpmyadmin导入函数从sql文件恢复数据库。试图导入数据库中,我得到这个错误:如何在mysql中设置inno db 5.5.8

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 15 

试图要在my.ini的四周,做了一些编辑:

# Uncomment the following if you are using InnoDB tables 
innodb_data_home_dir = C:\wamp\bin\mysql\mysql5.5.8\data/ 
innodb_data_file_path = ibdata1:10M:autoextend 
innodb_log_group_home_dir = C:\wamp\bin\mysql\mysql5.5.8\data/ 
innodb_log_arch_dir = C:\wamp\bin\mysql\mysql5.5.8\data/ 
# You can set .._buffer_pool_size up to 50 - 80 % 
# of RAM but beware of setting memory usage too high 
#innodb_buffer_pool_size = 16M 
#innodb_additional_mem_pool_size = 2M 
# Set .._log_file_size to 25 % of buffer pool size 
#innodb_log_file_size = 5M 
#innodb_log_buffer_size = 8M 
#innodb_flush_log_at_trx_commit = 1 
#innodb_lock_wait_timeout = 50 

但我得到这个错误:

#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured) 

尝试在mysql控制台中运行show引擎,并发现对innodb的支持设置为默认值。 我没有单独安装mysql,通过wampserver安装它。主目录和组目录的缺省值是c:\ mysql \ data,但该目录不存在。所以我所做的是:

C:\wamp\bin\mysql\mysql5.5.8\data 

我不完全确定我是否做正确的事情。我如何正确地做到这一点?请帮忙。谢谢!

+0

也编辑后重新启动所有服务 – 2011-05-02 11:28:58

回答

10

第一件事第一件事。您所做的配置与MySQL日志中显示的以前的错误无关。

从版本5.5开始,MySQL在DECL语句中将TYPE=INNODB的语法更改为​​。这意味着您需要查看由您的Web应用程序发出的受影响的SQL语句,以解决问题。

我看你使用PHPMyAdmin。该软件包可能不会更新以反映语法更改。查看PHPMyAdmin的最新版本并尽可能升级它。

确保有像的my.cnf选项文件没有这样的参数如下:

skip-innodb 

否则,InnoDB引擎将被关闭,即使您已正确设置其它一些参数。

另外,以验证的InnoDB是默认的存储引擎,你可以发布的MySQL客户端控制台上运行以下命令来确认的InnoDB是否可用:

SHOW VARIABLES LIKE 'have_innodb'; 

如果结果是NO,你有一个mysqld在没有InnoDB支持的情况下编译的二进制文件,您需要获取其他文件。

顺便说一下,最后一条错误消息提示您检查有关MySQL套接字的配置,这可能是一个很好的提示,以查明MySQL选项文件中实际存在的错误。如果您确信您在MySQL选项文件中没有任何问题,那么您可以尝试在再次启动MySQL服务器之前终止当前在后台运行的所有MySQL进程。这确保没有其他MySQL进程保持本地套接字占用。

希望这会有所帮助!

+0

手动将'TYPE'更改为'ENGINE'对我很有用。谢谢! – mr5 2015-10-06 00:42:26