MYSQL 命令行导入数据库报错

情景:

我用本地mysql命令端向其他服务器导入数据

mysql> source E:\backup.sql;

sql文件插入语句中有中文,报语法错误,提示如下信息

写道
ERROR 1064 (42000): 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 '1','寮犳樉鍙?,null,'1977-02-28','510524197702283018','0',null,null,'2017-05-19 ' at line 1746

 

分析:

1、可能是语法错误导致,根据提示仔细检查语句。

2、可能是编码集与数据库不一致

键入命令:status查看数据库信息

写道
mysql> status
--------------
mysql Ver 14.14 Distrib 5.5.46, for Win64 (x86)

Connection id: 16796
Current database: cloud
Current user: [email protected]
SSL: Not in use
Using delimiter: ;
Server version: 5.6.25 MySQL Community Server (GPL)
Protocol version: 10
Connection: 192.168.11.155 via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: gb2312
Conn. characterset: gb2312
TCP port: 3306
Uptime: 36 days 22 hours 17 min 31 sec

如果服务器和命令行(客户端)编码集不一致,键入命令:mysql> set names utf8; 改成服务器编码集,sql文件编码也要一致。

扫描二维码关注公众号,回复: 219344 查看本文章

3、可能是客户端可能与服务器版本不一致导致

情况2中 “mysql Ver 14.14 Distrib 5.5.46, for Win64 (x86)” 和 “Server version: 5.6.25 MySQL Community Server (GPL)”可以看出两边版本不一致。解决办法是要么下载与服务器保持一致的客户端,要么远程到服务器上去执行sql文件。

我的情况是与服务器版本不一致导致的。

猜你喜欢

转载自fengjianrong.iteye.com/blog/2386333