mysql在通過導(dǎo)入sql文件可能會(huì)出現(xiàn)下面二個(gè)問題:
1.如果sql文件過大,會(huì)出現(xiàn)"MySQL server has gone away"問題;
2.如果sql文件數(shù)據(jù)有中文,會(huì)出現(xiàn)亂碼
解決辦法:
問題1:出現(xiàn)MySQL server has gone away"問題,是因?yàn)?/span>mysql默認(rèn)的"max_allowed_packet"變量值過小.
查看目前配置
show VARIABLES like '%max_allowed_packet%';
顯示的結(jié)果為:
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
說明目前的配置是:1048576/1024/1024 = 1M
修改max_allowed_packet值:
方法1: SET GLOBAL max_allowed_packet = 500*1024*1024;(經(jīng)測(cè)試無效)
方法2: 直接修改配置文件,重啟mysql。
修改my.ini文件。
重啟mysql后,在查看修改后的max_allowed_packet值。
show variables like ‘%max_allowed_packet%’;

問題2:登錄時(shí)指定字符集編碼
mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口號(hào))
最后通過source命令 即可成功導(dǎo)入:
Use databasename;
source E:ydj\test.sql