中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

程序連不上mysql的解決方法

小編給大家分享一下程序連不上MySQL的解決方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),臺(tái)江網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:臺(tái)江等地區(qū)。臺(tái)江做網(wǎng)站價(jià)格咨詢:13518219792

程序連不上mysql的解決辦法:1、確定mysql服務(wù)是否正常,并找運(yùn)維確認(rèn)網(wǎng)絡(luò)問題;2、將“max_allowed_packet”值調(diào)大;3、將“net_read_timeout”值調(diào)大;4、將“connect_timeout”值調(diào)大等。

程序連不上mysql的問題總結(jié)

連不上mysql時(shí)一般有以下四種報(bào)錯(cuò):

1:Can't connect to MySQL server
2:Lost connection to MySQL server
3:Sorry, due to line fault, temporarily unable to browse, we are dealing with.
4:MySQL server has gone away

一:Can't connect to MySQL server

可能的原因:

1,mysql服務(wù)端沒有啟起來

2,網(wǎng)絡(luò)不通(iptables,selinux,網(wǎng)絡(luò)不穩(wěn)定)

對應(yīng)的解決方案:

1,dba先確定mysql服務(wù)是否正常

2,mysql服務(wù)正常的情況下找運(yùn)維確認(rèn)網(wǎng)絡(luò)問題

二: Lost connection to MySQL server

有四種情況可能會(huì)導(dǎo)致這樣的報(bào)錯(cuò):

1,網(wǎng)絡(luò)問題

2,查詢的結(jié)果集太大,比如一個(gè)查詢要返回幾百萬個(gè)結(jié)果

3,客戶端發(fā)起數(shù)據(jù)庫連接的時(shí)候由于connect_timeout設(shè)置時(shí)間太短而報(bào)錯(cuò),如果是由于這個(gè)原因引起的報(bào)錯(cuò)可以通過SHOW GLOBAL STATUS LIKE 'Aborted_connects'查看這個(gè)值是否有增加

4,查詢有blob類型,超過了max_allowed_packet參數(shù)的限制

這四種情況對應(yīng)的解決方案:

1,運(yùn)維監(jiān)控網(wǎng)絡(luò)是否有問題

2,將 net_read_timeout值調(diào)大

3,將connect_timeout值調(diào)大

4,將max_allowed_packet值調(diào)大

三: Sorry, due to line fault, temporarily unable to browse, we are dealing with.

這個(gè)錯(cuò)誤不是mysql原生的錯(cuò)誤,在網(wǎng)上也沒有找到有類似的資料.目前發(fā)現(xiàn)有三種情況會(huì)有這種報(bào)錯(cuò):

1,網(wǎng)絡(luò)有問題

2,數(shù)據(jù)庫連接數(shù)過多

3,連數(shù)據(jù)庫的帳號密碼有誤

四: MySQL server has gone away

有以下12種情況可能會(huì)導(dǎo)致這樣的報(bào)錯(cuò):

1,默認(rèn)的wait_timeout值為8個(gè)小時(shí),如果空閑連接超過這個(gè)值會(huì)被kill

2,dba手動(dòng)kill

3,客戶端的帳號沒有權(quán)限連接mysql server

4,客戶端TCP/IP連接超時(shí),如使用mysql_options(..., MYSQL_OPT_READ_TIMEOUT,...)或者mysql_options(..., MYSQL_OPT_WRITE_TIMEOUT,...)函數(shù)

5,當(dāng)客戶端禁用了自動(dòng)重連接( automatic reconnection)

6,查詢語句不正確

7,查詢語句太長,超過了max_allowed_packet的限制

8,一條insert或者replace語句更新的行數(shù)過多

9,域名解析失敗

10,防火墻屏蔽了3306端口

11,一個(gè)線程fork了多個(gè)子進(jìn)程,當(dāng)多個(gè)子進(jìn)程共用一個(gè)連接時(shí)會(huì)導(dǎo)致報(bào)錯(cuò)

12,mysql服務(wù)端掛了

報(bào)MySQL server has gone away的錯(cuò)誤原因比較多,我們可以從三個(gè)方面來應(yīng)對這個(gè)問題:

1,運(yùn)維

a,確認(rèn)防火墻規(guī)則

b,DNS服務(wù)器無異常

d,合理配置php.ini中連接mysql的參數(shù)

connect_timeout,默認(rèn)為60s

mysqli.reconnect,默認(rèn)為off

2,DBA

a,確定mysql服務(wù)和連接數(shù)無異常

b,設(shè)置合理的wait_timeout值

c,設(shè)置在服務(wù)器端合理的max_allowed_packet值

d,確認(rèn)帳號權(quán)限無誤

3,開發(fā)

a,建議使用mysqli替代mysql

b,盡量少用長連接

c,mysqli.ping()可以在連接斷開后自動(dòng)重連,mysql.ping()從mysql5.0.3后就不支持自動(dòng)重連了

d,子進(jìn)程之間不要共用一個(gè)數(shù)據(jù)庫連接

以gamiss為例,我們來看一下max_allowed_packet和超時(shí)有關(guān)的參數(shù):

>show variables like 'max_allowed_packet';
+--------------------+------------+
| Variable_name | Value |
+--------------------+------------+
| max_allowed_packet | 1073741824 |
+--------------------+------------+
>show variables like '%timeout%';
+-----------------------------+----------+
| Variable_name | Value |
+-----------------------------+----------+
| connect_timeout | 60 |
| delayed_insert_timeout | 300 |
| have_statement_timeout | YES |
| innodb_flush_log_at_timeout | 1 |
| innodb_lock_wait_timeout | 120 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 86400 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 120 |
| net_write_timeout | 120 |
| rpl_stop_slave_timeout | 31536000 |
| slave_net_timeout | 3600 |
| thread_pool_idle_timeout | 60 |
| wait_timeout | 86400 |
+-----------------------------+----------+

來看一下這幾個(gè)與連不上數(shù)據(jù)庫相關(guān)的超時(shí)參數(shù):

connect_timeout:在獲取鏈接時(shí),等待握手的超時(shí)時(shí)間,一般默認(rèn)即可(10s),為了避免因?yàn)榫W(wǎng)絡(luò)不佳導(dǎo)致連接擁塞可以適當(dāng)增大這個(gè)值.線上配置為60s

wait_timeout/interactive_timeout:連接狀態(tài)持續(xù)為sleep的超時(shí)時(shí)間,默認(rèn)為28800(8小時(shí)),現(xiàn)上調(diào)整到了24小時(shí)

net_read_timeout:服務(wù)器端等待客戶端發(fā)送數(shù)據(jù)的超時(shí)時(shí)間,默認(rèn)60s,線上為120s

net_write_timeout:服務(wù)器端寫數(shù)據(jù)到客戶端的超時(shí)時(shí)間,默認(rèn)60s,線上為120s

再看一下max_allowed_packet參數(shù):max_allowed_packet的默認(rèn)值是1M(1048576),最大值是1G(1073741824),我們目前線上的值已經(jīng)是上限值了.

從上面的配置可以看到這些參數(shù)的設(shè)置相對來說都很大了,數(shù)據(jù)庫正常情況下程序報(bào)連不上數(shù)據(jù)庫應(yīng)該和數(shù)據(jù)庫本身的參數(shù)配置沒有關(guān)系.我們需要從其它方向來解決這個(gè)問題.

看完了這篇文章,相信你對程序連不上mysql的解決方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁題目:程序連不上mysql的解決方法
文章URL:http://www.rwnh.cn/article16/psjodg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、Google、動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版靜態(tài)網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
绥阳县| 公主岭市| 高台县| 甘肃省| 长治市| 怀集县| 淮北市| 札达县| 茶陵县| 开原市| 沙洋县| 南皮县| 安顺市| 海原县| 江安县| 吉首市| 阿坝县| 社会| 南陵县| 政和县| 榆林市| 旬邑县| 宝山区| 云浮市| 来宾市| 密云县| 舞钢市| 滁州市| 界首市| 岐山县| 关岭| 施甸县| 乌苏市| 桐乡市| 峨边| 兴海县| 乐平市| 古丈县| 汉沽区| 博乐市| 宁河县|