mysql在通過導入sql文件可能會出現下面二個問題:
1.如果sql文件過大,會出現"MySQL server has gone away"問題;
2.如果sql文件數據有中文,會出現亂碼 www.2cto.com
解決問題:
問題1:出現MySQL server has gone away"問題,是因為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文件.
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini(安裝mysql時的,指定的數據文件目錄)
重啟mysql後,在查看修改後的max_allowed_packet值
問題2:登錄時指定字符集編碼
mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口號)
最後通過source命令 即可成功導入:
source E:ydj\test.sql
作者 LoveJavaYDJ