我正在尝试通过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
Run Code Online (Sandbox Code Playgroud)
尝试在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
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
#2002 - The server is not responding (or the local MySQL server's socket is not correctly configured)
Run Code Online (Sandbox Code Playgroud)
尝试在mysql控制台中运行show引擎,发现对innodb的支持设置为默认值.我没有单独安装mysql,通过wampserver安装它.主目录和组目录的默认值为c:\ mysql\data,但该目录不存在.所以我做的是放:
C:\wamp\bin\mysql\mysql5.5.8\data
Run Code Online (Sandbox Code Playgroud)
我不确定我是否做对了.我该怎么做呢?请帮忙.谢谢!
Ken*_*ega 10
首先是第一件事.您所做的配置与MySQL日志中显示的先前错误无关.
从5.5版开始,MySQL 在DDL语句中改变了TYPE=INNODBto 语法ENGINE=INNODB.这意味着您需要检查Web应用程序发出的受影响的SQL语句,以便纠正问题.
我看到你正在使用PHPMyAdmin.可能不会更新此程序包以反映语法更改.查看最新版本的PHPMyAdmin并尽可能升级它.
确保my.cnf等选项文件中没有这样的参数,如下所示:
skip-innodb
Run Code Online (Sandbox Code Playgroud)
否则,即使您已正确设置其他参数,Innodb引擎也将关闭.
或者,要验证InnoDB是否为默认存储引擎,您可以在MySQL客户端控制台中发出以下命令以确认InnoDB是否可用:
SHOW VARIABLES LIKE 'have_innodb';
Run Code Online (Sandbox Code Playgroud)
如果结果为NO,那么你有一个mysqld二进制文件,它是在没有InnoDB支持的情况下编译的,你需要得到一个不同的二进制文件.
顺便说一句,最后一条错误消息提示您检查有关MySQL套接字的配置,这可能是一个很好的提示,可以找出MySQL选项文件中实际出错的地方.如果您确定MySQL选项文件中没有任何错误,您可以尝试在再次启动MySQL服务器之前终止当前在后台运行的所有MySQL进程.这确保没有其他MySQL进程保持本地套接字被占用.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
11854 次 |
| 最近记录: |