中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

mysql執行大量操作時出現無法連接數據庫錯誤處理方案

發布時間:2020-05-21 15:27:07 來源:網絡 閱讀:294 作者:三月 欄目:MySQL數據庫

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

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

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 

運行環境:linux+Apache+php+mysql

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

查看原因:

執行大量的mysql連接時,在linux中執行

netstat -nt

就會看到大量的連接時TIME_OUT狀態 

解決辦法

第一步:優化mysql,在拿到數據之后,立刻關閉mysql連接

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

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

第二步:優化linux系統

(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的連接,默認值是0,即關閉狀態

net.ipv4.tcp_fin_timeout :設置連接超時時間,單位是秒,默認值是60秒

net.ipv4.tcp_tw_reuse =1:允許重新應用處于TIME-WAIT狀態的socket用于新的TCP連接,默認值是0,即關閉狀態 

(2)在linux中執行

sysctl -p

使上面的配置生效

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武陟县| 福泉市| 松江区| 连州市| 天柱县| 阿鲁科尔沁旗| 万州区| 湖口县| 枣强县| 辰溪县| 余姚市| 宜都市| 秦安县| 漠河县| 桓台县| 丰顺县| 建始县| 德保县| 罗山县| 祁阳县| 宜丰县| 广南县| 呈贡县| 县级市| 龙门县| 九龙坡区| 东阳市| 安平县| 潼关县| 大新县| 宿州市| 榆树市| 尖扎县| 渑池县| 东光县| 稻城县| 临汾市| 邛崃市| 秀山| 阿尔山市| 游戏|