我正在尝试通过phpmyadmin导入功能从sql文件恢复数据库。我在尝试导入数据库时遇到此错误:
#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 :(得分:10)
首先是第一件事。您所做的配置与MySQL日志中显示的先前错误无关。
从5.5版开始,MySQL在DDL语句中将TYPE=INNODB
的语法更改为ENGINE=INNODB
。这意味着您需要检查Web应用程序发出的受影响的SQL语句,以便纠正问题。
我看到你正在使用PHPMyAdmin。可能不会更新此程序包以反映语法更改。查看最新版本的PHPMyAdmin并尽可能升级。
确保my.cnf等选项文件中没有这样的参数,如下所示:
skip-innodb
否则,即使您已正确设置其他参数,Innodb引擎也会关闭。
或者,要验证InnoDB是否为默认存储引擎,您可以在MySQL客户端控制台中发出以下命令以确认InnoDB是否可用:
SHOW VARIABLES LIKE 'have_innodb';
如果结果为NO,那么你有一个没有InnoDB支持编译的mysqld二进制文件,你需要得到另一个。
顺便说一句,最后一条错误消息提示您检查有关MySQL套接字的配置,这可能是一个很好的提示,可以找出MySQL选项文件中实际出现的错误。如果您确定MySQL选项文件中没有任何错误,您可以尝试在再次启动MySQL服务器之前终止当前在后台运行的所有MySQL进程。这可以确保没有其他MySQL进程保持本地套接字占用。
希望这有帮助!