情景:
我用本地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 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文件。
我的情况是与服务器版本不一致导致的。
相关推荐
通过MySQL命令行工具执行`show variables like 'character%'`命令,可以获取当前会话的字符集设置详情,包括: - `character_set_client`:客户端连接的字符集。 - `character_set_connection`:连接到服务器的字符...
#### 二、MySQL命令行导入数据库 导入数据库的过程与导出类似,但需要使用`mysql`命令或在MySQL客户端中使用`source`命令。 ##### 1. 将要导入的.sql文件移至bin文件下 为了方便执行导入操作,建议将要导入的`....
在使用MySQL命令行工具进行数据库导入操作时,尤其是在处理包含中文字符的数据文件时,经常遇到乱码问题。这是因为字符编码不匹配导致的。为了解决这个问题,我们可以采取以下几个步骤: 首先,我们需要确保SQL文件...
二、MySQL 命令行导入数据库 要导入 MySQL 数据库,需要使用 mysql 命令。mysql 命令是 MySQL 的一个工具,用于将备份的数据库文件导入到 MySQL 服务器中。mysql 命令的基本语法如下: mysql -u 用户名 -p 数据库...
"sqlyog导入数据库脚本报错"这个标题揭示了一个常见的技术挑战,即在尝试导入大型SQL文件时,由于默认设置限制导致的错误。描述中的情况就是一个典型的例子,一个61MB的SQL文件在导入过程中频繁报错,这可能是由于...
第一步,通过CMD命令行连接到MySQL数据库。使用`show databases;`列出所有数据库,然后用`use test;`切换到你要操作的数据库。 第二步,检查数据库的字符集设置。输入`show variable like '%char%';`,这将列出与...
在使用Navicat这款强大的数据库管理工具时,有时会遇到导入数据库数据结构SQL时出现“datetime(0)”的错误。这个错误通常是由于不同MySQL版本之间的数据类型不兼容性导致的,特别是从较高版本(如MySQL 5.7)导出的...
当需要导入这些导出的数据时,可以使用`LOAD DATA INFILE`语句或者`mysql`命令行工具来读取SQL文件并执行其中的SQL语句。需要注意的是,导入导出过程中应确保数据的完整性和一致性,避免数据丢失或错误。在大型系统...
MySQL的默认编码是Latin1,不支持中文,如何修改MySQL的... 您可能感兴趣的文章:Mysql命令行导入sql数据MYSQL初学者命令行使用指南如何用命令行进入mysql具体操作步骤Windows7下如何在命令行使用MySQLmysql常用命令行
例如,在MySQL命令行客户端中,可以输入: ```sql mysql> SET character_set_client=utf8; mysql> SET character_set_results=utf8; mysql> SET character_set_connection=utf8; ``` 6. 如果以上步骤都尝试过...
在MySQL数据库操作中,有时会出现“Table is read only”的错误,这意味着系统无法对特定的表进行写操作。这种问题可能由多种原因引起,包括文件权限、数据库服务配置、操作系统问题等。以下是一些针对Linux和...
本文将详细讲解如何使用MySQL的命令行工具`LOAD DATA INFILE`来解决SQLyog导入CSV数据不成功的问题。 首先,`LOAD DATA INFILE`是MySQL提供的一个高效的数据导入命令,它允许直接从文件中加载数据到已存在的表中。...
3. **长选项和短选项**:MySQL命令行选项有长选项(如`--long-option`)和短选项(如`-l`)两种形式,它们提供了不同的方式来指定程序参数。 4. **数据类型**:MySQL中的数据类型分为数值、字符、二进制和时间四大...
- 如果仍然有问题,考虑使用命令行工具(如`mysql`命令)进行数据库还原。 #### 问题7:MySQL Workbench 5.2 CE不能正常安装,怎么解决? 某些用户在安装MySQL Workbench 5.2 CE时可能会遇到问题。 **解决步骤...
在MySQL数据库中,`LONGBLOB`类型是用来存储大对象数据的,如图像、文档或任何其他二进制数据,其大小可达到4GB。然而,在实际应用中,特别是涉及大数据量的`LONGBLOB`字段时,可能会遇到一些限制问题,尤其是在...
**将文本数据导入数据库** 文本数据的字段间需要用制表符(Tab)分隔: ```sql LOAD DATA LOCAL INFILE '文件名' INTO TABLE 表名; ``` #### 六、备份与恢复 **备份数据库** ```bash mysqldump -u 用户名 数据库名...
在MySQL命令行中,登录后输入: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; FLUSH PRIVILEGES; ``` 这将使MySQL使用旧的密码插件,允许Navicat连接。 在处理...