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;(經測試無效)
方法2: 直接修改配置檔案,重啟mysql
windows中
修改my.ini檔案,在linux中修改my.cnf檔案.
重啟mysql後,在檢視修改後的
max_allowed_packet值
問題2:
登入時指定字符集編碼
mysql -uroot -p3308 -p123456 - -default-character-set=utf8 (-p是指指定埠號)
最後通過source命令 即可成功匯入:
解決方案(感謝@blacktulip提供)
mysql -u root -p -e "set global net_buffer_length=1000000; set global max_allowed_packet=1000000000;"然後重啟 mysqld, 再正常匯入就可以
Mysql匯入大容量SQL檔案資料問題
mysql在通過匯入sql檔案可能會出現下面二個問題 1.如果sql檔案過大,會出現 mysql server has gone away 問題 2.如果sql檔案資料有中文,會出現亂碼 解決問題 問題1 出現mysql server has gone away 問題,是因為mysql預設的 max...
Mysql匯入大容量SQL檔案資料問題
1.如果sql檔案過大,會出現 mysql server has gone away 問題 2.如果sql檔案資料有中文,會出現亂碼 www.2cto.com 解決問題 問題1 出現mysql server has gone away 問題,是因為mysql預設的 max allowed packe...
Mysql匯入大容量SQL檔案資料問題
mysql在通過匯入sql檔案可能會出現下面二個問題 1.如果sql檔案過大,會出現 mysql server has gone away 問題 2.如果sql檔案資料有中文,會出現亂碼 解決問題 問題1 出現mysql server has gone away 問題,是因為mysql預設的 max...