小夥伴們在開發過程中,有時候會遇到新環境數據遷移問題,需要把之前的數據庫導入到新環境,其中一種方式就是通過導入sql文件。我們可以在客戶端sqlyog或者navicat中直接導入(此種方式比較慢),也可以通過source命令導入(速度會比較快)。
但是,如果我們的sql文件過大,比如超過了1G,導入過程可能會遇到一些問題,比如“Out of memory”(內存不足)或者“mysql server has gone away”(一般是操作sql文件時間過長,導致超時,client端和mysql server端連接斷開),辛苦導入半天看到這個錯誤,小夥伴們此時內心或許會各種xx了!
此處給小夥伴們分享一下解決此問題的一個解決方案:
1.找到mysql的配置文件,在linux上是my.conf,在windows叫my.ini
2.修改配置文件中的max_allowed_packet(每次最大接收數據包的大小),默認爲1K,此處改爲1G即1024M。
max_allowed_packet=1024M
3.使用mysql -uroot -p密碼,進入mysql,然後輸入命令查看參數是否更改:
show VARIABLES like '%max_allowed_packet%';
4.重啓mysql服務
5.
使用命令mysql -uroot -p密碼,重新登錄mysql,然後使用命令use 數據庫名,選擇對應的數據庫
6.使用命令
source 文件路徑 即可開始導入sql文件,慢慢等待吧!