今天在上班過(guò)程中需要將一個(gè)1.3G的數(shù)據(jù)庫(kù)sql文件導(dǎo)入到mysql數(shù)據(jù)庫(kù)中去,在執(zhí)行過(guò)程遇到了一些問(wèn)題,執(zhí)行到一半時(shí)報(bào)錯(cuò),錯(cuò)誤如下
ERROR 2006 (HY000) at line 1016: MySQL server has gone away
報(bào)錯(cuò)后百度查了下資料,大概是因?yàn)閙ysql在導(dǎo)入數(shù)據(jù)時(shí)sql語(yǔ)句過(guò)長(zhǎng),超過(guò)了mysql的max_allowed_packet的限制,這個(gè)可以通過(guò)修改這個(gè)
參數(shù)的大小來(lái)調(diào)節(jié):
set global max_allowed_packet=10241024120;
我自己是調(diào)整為了120m大小
max_allowed_packet 參數(shù)的作用是软吐,用來(lái)控制其通信緩沖區(qū)的最大長(zhǎng)度
還有可能是因?yàn)槟承┰驅(qū)е铝顺瑫r(shí),超過(guò)了wait_timeout的時(shí)間,導(dǎo)致了此問(wèn)題的出現(xiàn),解決可以通過(guò)設(shè)置一下參數(shù)解決:
wait_timeout = interactive_timeout = xxx
時(shí)間自己調(diào)整即可,