MySQL命令行导入.sql文件遇到的问题

导入.sql文件的命令行只有一句。但因为.sql文件大,在把本地的.sql文件导入到阿里云服务器的MySQL数据库时遇到了两个问题
导入.sql文件的命令(假设数据库名为mydb,用户名root,密码123。mydb.sql目录为c:/java/mydb.sql):

mysql -uroot -p123
create database mydb;
use mydb;
source c://java//mydb.sql;

1. 报错 ERROR 1406 (22001): Data too long for column
解决:在MySQL的安装目录中找到my.ini文件,修改sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的"STRICT_TRANS_TABLES,"去掉;或者把sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"注释掉。如图


然后重启MySQL。

重启MySQL:

(1)先退出MySQL命令行:mysql>exit;

(2) 重启MySQL服务:

net stop mysql //关闭服务命令
net start mysql //启动服务命令

重启MySQL服务的命令行后面没有分号。

2. 导入.sql文件时中文乱码
解决:在导入.sql文件前,修改数据库的字符设置:

mysql>create database mydb;
mysql>use mydb;
mysql>set names utf8;
mysql>source c://java//mydb.sql;

参考:
https://blog.csdn.net/xiongyuefei/article/details/2115209
https://blog.csdn.net/u012385190/article/details/51638059
https://blog.csdn.net/u014487509/article/details/45508007

posted @ 2018-04-23 20:46  zeroingToOne  阅读(1156)  评论(0编辑  收藏  举报