溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql執(zhí)行大量操作時出現(xiàn)無法連接數(shù)據(jù)庫錯誤處理方案

發(fā)布時間:2020-05-21 15:27:07 來源:網(wǎng)絡(luò) 閱讀:279 作者:三月 欄目:MySQL數(shù)據(jù)庫

下面一起來了解下mysql執(zhí)行大量操作時出現(xiàn)無法連接數(shù)據(jù)庫錯誤處理方案,相信大家看完肯定會受益匪淺,文字在精不在多,希望mysql執(zhí)行大量操作時出現(xiàn)無法連接數(shù)據(jù)庫錯誤處理方案這篇短內(nèi)容是你想要的。

問題:mysql執(zhí)行大量的插敘操作時,報無法連接數(shù)據(jù)庫的錯誤,錯誤詳情如下:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (99)' in /mnt/Change/www/html/data/conn.php:5 Stack trace: #0 /mnt/Change/www/html/data/conn.php(5): PDO->__construct('mysql:host=127....', 'aaa', 'aaa') #1 /mnt/Change/www/html/data/conn.php(12): conn() #2 /mnt/Change/www/html/test/ZB/addHDG.php(22): Sql_Query('select LoopData...') #3 {main} thrown in /mnt/Change/www/html/data/conn.php on line 5 

運(yùn)行環(huán)境:linux+Apache+php+mysql

原因:對MySQL執(zhí)行操作時,需要連接數(shù)據(jù)庫,連接是需要占用端口的,大量的查詢把端口用完了,數(shù)據(jù)庫也就無法連接了 

查看原因:

執(zhí)行大量的mysql連接時,在linux中執(zhí)行

netstat -nt

就會看到大量的連接時TIME_OUT狀態(tài) 

解決辦法

第一步:優(yōu)化mysql,在拿到數(shù)據(jù)之后,立刻關(guān)閉mysql連接

(1)pdo只需要把連接置成null即可

$pdo=new PDO("mysql:host=127.0.0.1;dbname=aaa","aaa","aaa");
//在拿到數(shù)據(jù)之后執(zhí)行下面語句即可
$pdo=null; 

第二步:優(yōu)化linux系統(tǒng)

(1)在/etc/sysctl.cnf中寫入下面語句

net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

解釋:

net.ipv4.tcp_tw_recycle=1就是打開快速 TIME-WAIT sockets 回收,即快速回收處于TIME-WAIT的連接,默認(rèn)值是0,即關(guān)閉狀態(tài)

net.ipv4.tcp_fin_timeout :設(shè)置連接超時時間,單位是秒,默認(rèn)值是60秒

net.ipv4.tcp_tw_reuse =1:允許重新應(yīng)用處于TIME-WAIT狀態(tài)的socket用于新的TCP連接,默認(rèn)值是0,即關(guān)閉狀態(tài) 

(2)在linux中執(zhí)行

sysctl -p

使上面的配置生效

看完mysql執(zhí)行大量操作時出現(xiàn)無法連接數(shù)據(jù)庫錯誤處理方案這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI