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