欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL 命令行导入数据库报错

程序员文章站 2022-05-07 20:30:19
...

情景:

我用本地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: root@192.168.11.249
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文件编码也要一致。

 

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

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

 

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