MySQL導入大容量SQL文件數據問題 |
發布時間: 2012/7/27 17:31:08 |
mysql在通過導入sql文件可能會出現下面二個問題: 1.如果sql文件過大,會出現"MySQL server has gone away"問題; 2.如果sql文件數據有中文,會出現亂碼 解決問題: 問題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;(經www.linuxidc.com測試無效) 方法2: 直接修改配置文件,重啟mysql 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
本文出自:億恩科技【www.laynepeng.cn】 |