mysql在通过导入sql文件可能会出现下面二个问题:
1.如果sql文件过大,会出现"MySQL server hasgone away"问题;
2.如果sql文件数据有中文,会出现乱码
解决问题:
问题1:出现MySQL server has goneaway"问题,是因为mysql默认的"max_allowed_packet"变量值过小.
查看目前配置
show VARIABLES like'%max_allowed_packet%';
显示的结果为:
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576|
+--------------------+---------+
说明目前的配置是:1048576/1024/1024 =1M
修改max_allowed_packet值:
方法1: SET GLOBAL max_allowed_packet =500*1024*1024;
方法2: 直接修改配置文件,重启mysql www.2cto.com
windows中修改my.ini文件,在linux中修改my.cnf文件
重启mysql后,在查看修改后的max_allowed_packet值
最后通过source命令 即可成功导入:
source E:ydj\test.sql
问题2:登录时指定字符集编码
mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口号)