mysql 中 導入大的sql 文件 需設置 max_allowed_packet


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM