最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 無法連接問題的定位和修復(fù)過程分享

 更新時(shí)間:2013年03月31日 13:52:04   作者:  
開發(fā)的一款網(wǎng)站防護(hù)產(chǎn)品中出現(xiàn)了一個(gè)客戶端上安裝后Mysql每隔一段時(shí)間就出現(xiàn)問題,這個(gè)問題是客戶反饋的,所以需要去復(fù)現(xiàn)和定位

定位結(jié)果如下:

客戶環(huán)境:
windows server 2003 r2 standard edition sp2
mysql Ver 14.12 Distrib 5.0.18, for Win32 (ia32)
apache 2.2
瑞星
webshield客戶端1.08

問題已復(fù)現(xiàn)??梢詢?yōu)化,無法確定是webshield導(dǎo)致的。

搭建環(huán)境:
windows server 2003 r2 standard edition sp2
mysql 5.0.18 for win32
apache-2.2.21-win32-x86-no_ssl
php-5.2.17-win32-vc6-x86
瑞星23.00.50.25

搭建環(huán)境過程中遇到的幾個(gè)問題:

在下載apache與php時(shí),請(qǐng)注意apache與php匹配問題。

a)PHP5.3有VC6與VC9版本,應(yīng)選擇VC6版本。原因如下:

i. VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來架設(shè)的,那你就選擇VC6版本。
ii. VC9版本是使用Visual Studio 2008編譯器編譯的,如果你的PHP是用IIS來架設(shè)的,那你就選擇VC9版本。

b)PHP5.3的Thread Safe和Non Thread Safe版本。Apache no_ssl版應(yīng)與php Thread Safe版搭配。若與Non Thread Safe搭配,apache啟動(dòng)出錯(cuò):“Apache is running a threaded MPM,but your PHP Modle is not compiled to be threadsafe. You need to recompile PHP.”

i. Thread Safe是線程安全,執(zhí)行時(shí)會(huì)進(jìn)行線程(Thread)安全檢查,以防止有新要求就啟動(dòng)新線程的CGI執(zhí)行方式而耗盡系統(tǒng)資源。ISAPI執(zhí)行方式是以DLL動(dòng)態(tài)庫的形式使用,可以在被用戶請(qǐng)求后執(zhí)行,在處理完一個(gè)用戶請(qǐng)求后不會(huì)馬上消失,所以需要進(jìn)行線程安全檢查,這樣來提高程序的執(zhí)行效率,所以如果是以ISAPI來執(zhí)行PHP,建議選擇Thread Safe版本;
ii. Non Thread Safe是非線程安全,在執(zhí)行時(shí)不進(jìn)行線程(Thread)安全檢查。FastCGI執(zhí)行方式是以單一線程來執(zhí)行操作,所以不需要進(jìn)行線程的安全檢查,除去線程安全檢查的防護(hù)反而可以提高執(zhí)行效率,所以,如果是以FastCGI來執(zhí)行PHP,建議選擇Non Thread Safe版本。
注意apache對(duì)網(wǎng)站及PHP的正確配置。特別注意配置文件中LoadModule, PHPIniDir,DocumentRoot,ServerRoot,Directory,DirectoryIndex,AddType application/x-httpd-php等項(xiàng)的配置
安裝后 mysql 后(管理員賬號(hào)密碼:admin/admin),在PHP代碼中使用admin連接數(shù)據(jù)庫失敗,cmd執(zhí)行mysql –u root -p啟用root用root可正常連接數(shù)據(jù)庫。

問題復(fù)現(xiàn):

PHP最長執(zhí)行時(shí)間限制。

a)php最長執(zhí)行時(shí)間默認(rèn)為30秒,超過30秒后被中止執(zhí)行,與mysql的連接也被斷開。
b)嘗試增大此值,修改php目錄下的php.ini配置文件,將max_execution_time = 30 改為max_execution_time = 300。如果設(shè)為0,表示不限制PHP最大執(zhí)行時(shí)間。
c)避免了因最長執(zhí)行時(shí)間限制而導(dǎo)致mysql連接失敗。

網(wǎng)站流量大導(dǎo)致mysql無法連接。

a)編寫php腳本對(duì)mysql進(jìn)行測(cè)試,發(fā)現(xiàn)當(dāng)對(duì)mysql進(jìn)行頻繁的連接/斷開操作時(shí),mysql很快出現(xiàn)無法連接問題(錯(cuò)誤代碼:10048)。當(dāng)中止所有連接,2分鐘后mysql又恢復(fù)正常。若不停止連接,mysql一直無法連接。
b)嘗試從兩方面優(yōu)化:
i. 修改windows注冊(cè)表項(xiàng)TcpTimedWaitDelay值為30(默認(rèn)為240秒),減少此條目的值允許 TCP/IP 更快地釋放已關(guān)閉的連接, 為新連接提供更多資源。
ii. 修改windows注冊(cè)表項(xiàng)MaxUserPort為53768 (該值表示從系統(tǒng)請(qǐng)求任何可用用戶端口時(shí)所用最大端口數(shù),TCP/IP 可指定的最高端口號(hào),默認(rèn)值為5000)以處理更多的請(qǐng)求。

c)修改完注冊(cè)表項(xiàng)后測(cè)試,mysql情況大有改善:mysql連接錯(cuò)誤出現(xiàn)的情況大有減少,出錯(cuò)后自我恢復(fù)的能力大有提高。

針對(duì)以上兩種情況,分別對(duì)安裝了webshield 1.08與未安裝webshield 1.08進(jìn)行了測(cè)試,兩者測(cè)試結(jié)果一樣。

優(yōu)化:

max_execution_time的修改:
打開php目錄下的php.ini文件,找到max_execution_time = 30 這行,將30修改為想要的數(shù)字。
TcpTimedWaitDelay與MaxUserPort的修改:

復(fù)制代碼 代碼如下:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpTimedWaitDelay"=dword:0000001e
"MaxUserPort"=dword:00008000

相關(guān)文章

  • 在MySQL中增添新用戶權(quán)限的方法

    在MySQL中增添新用戶權(quán)限的方法

    在MySQL中增添新用戶權(quán)限的方法...
    2007-03-03
  • mysql連接查詢中and與where的區(qū)別淺析

    mysql連接查詢中and與where的區(qū)別淺析

    在使用數(shù)據(jù)庫查詢語句時(shí),單表的查詢有時(shí)候不能滿足項(xiàng)目的業(yè)務(wù)需求,在項(xiàng)目開發(fā)過程中,有很多需求都是要涉及到多表的連接查詢,這篇文章主要給大家介紹了關(guān)于mysql連接查詢中and與where區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • MySQL獲取當(dāng)前時(shí)間、年月與年月日實(shí)例代碼

    MySQL獲取當(dāng)前時(shí)間、年月與年月日實(shí)例代碼

    日期和時(shí)間函數(shù)部分也是我們?nèi)粘9ぷ髦惺褂妙l率比較高的一部分,下面這篇文章主要給大家介紹了關(guān)于MySQL獲取當(dāng)前時(shí)間、年月與年月日的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • MySQL 使用開源審計(jì)插件示例詳解

    MySQL 使用開源審計(jì)插件示例詳解

    審計(jì)插件是包含在 MariaDB 中的,所以需要先下載 MariaDB 然后將 server_audit.so 審計(jì)插件 copy 出來,這篇文章主要介紹了MySQL 使用開源審計(jì)插件,需要的朋友可以參考下
    2023-08-08
  • MYSQL數(shù)據(jù)庫表結(jié)構(gòu)優(yōu)化方法詳解

    MYSQL數(shù)據(jù)庫表結(jié)構(gòu)優(yōu)化方法詳解

    這篇文章主要介紹了MYSQL數(shù)據(jù)庫表結(jié)構(gòu)優(yōu)化方法,總結(jié)分析了mysql針對(duì)表結(jié)構(gòu)優(yōu)化的數(shù)據(jù)類型選擇、范式化操作、表的拆分等相關(guān)使用技巧,需要的朋友可以參考下
    2019-08-08
  • mysql的Buffer?Pool存儲(chǔ)及原理解析

    mysql的Buffer?Pool存儲(chǔ)及原理解析

    buffer pool是mysql一個(gè)非常關(guān)鍵的核心組件,實(shí)際上主要都是針對(duì)內(nèi)存里的Buffer Pool中的數(shù)據(jù)進(jìn)行的,這篇文章主要介紹了mysql的Buffer?Pool存儲(chǔ)及原理,需要的朋友可以參考下
    2022-04-04
  • MySQL表的增刪改查基礎(chǔ)教程

    MySQL表的增刪改查基礎(chǔ)教程

    這篇文章主要給大家介紹了關(guān)于MySQL表的增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 在Centos7中利用Shell腳本實(shí)現(xiàn)MySQL數(shù)據(jù)備份

    在Centos7中利用Shell腳本實(shí)現(xiàn)MySQL數(shù)據(jù)備份

    備份是容災(zāi)的基礎(chǔ),是指為防止系統(tǒng)出現(xiàn)操作失誤或系統(tǒng)故障導(dǎo)致數(shù)據(jù)丟失,而將全部或部分?jǐn)?shù)據(jù)集合從應(yīng)用主機(jī)的硬盤或陣列復(fù)制到其它的存儲(chǔ)介質(zhì)的過程,本文將給大家介紹了在Centos7中利用Shell腳本實(shí)現(xiàn)MySQL數(shù)據(jù)備份,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下
    2023-12-12
  • MySQL優(yōu)化之SQL調(diào)優(yōu)策略分享

    MySQL優(yōu)化之SQL調(diào)優(yōu)策略分享

    這篇文章主要介紹了MySQL優(yōu)化之SQL調(diào)優(yōu)策略,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Windows7下如何在命令行使用MySQL

    Windows7下如何在命令行使用MySQL

    這篇文章主要介紹了Windows7下如何在命令行使用MySQL的相關(guān)資料,需要的朋友可以參考下
    2015-12-12

最新評(píng)論

麦盖提县| 南江县| 高青县| 平山县| 芜湖县| 孝昌县| 武定县| 叶城县| 会东县| 涪陵区| 黄梅县| 宁安市| 司法| 科尔| 错那县| 安乡县| 老河口市| 晋江市| 凤阳县| 霍山县| 读书| 神木县| 蒲城县| 西平县| 伊通| 南召县| 前郭尔| 防城港市| 长兴县| 中江县| 张家口市| 嘉峪关市| 黎平县| 德化县| 开江县| 台北市| 揭阳市| 宁强县| 沁源县| 沂源县| 仁化县|