日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 短时大连接的问题_mysql长连接和短连接的问题

發(fā)布時間:2023/12/2 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 短时大连接的问题_mysql长连接和短连接的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是長連接?

其實長連接是相對于通常的短連接而說的,也就是長時間保持客戶端與服務端的連接狀態(tài)。

通常的短連接操作步驟是:

連接-》數(shù)據(jù)傳輸-》關閉連接;

而長連接通常就是:

連接-》數(shù)據(jù)傳輸-》保持連接-》數(shù)據(jù)傳輸-》保持連接-》…………-》關閉連接;

這就要求長連接在沒有數(shù)據(jù)通信時,定時發(fā)送數(shù)據(jù)包,以維持連接狀態(tài),短連接在沒有數(shù)據(jù)傳輸時直接關閉就行了

什么時候用長連接,短連接?

長連接主要用于在少數(shù)客戶端與服務端的頻繁通信,因為這時候如果用短連接頻繁通信常會發(fā)生Socket出錯,并且頻繁創(chuàng)建Socket連接也是對資源的浪費。

但是對于服務端來說,長連接也會耗費一定的資源,需要專門的線程(unix下可以用進程管理)來負責維護連接狀態(tài)。

總之,長連接和短連接的選擇要視情況而定。

首先,如果使用了長連接而長期沒有對數(shù)據(jù)庫進行任何操作,那么在timeout值后,mysql server就會關閉此連接,而客戶端在執(zhí)行查詢的時候就會得到一個類似于“MySQL server has gone away“這樣的錯誤。

在 使用mysql_real_connect連接數(shù)據(jù)庫之后,再使用mysql_options( &mysql, MYSQL_OPT_RECONNECT, … ) 來設置為自動重連。這樣當mysql連接丟失的時候,使用mysql_ping能夠自動重連數(shù)據(jù)庫。如果是在mysql 5.1.6之前,那么則應在每次執(zhí)行完real_connect 之后執(zhí)行mysql_options( &mysql, MYSQL_OPT_RECONNECT, … ) ,如果是mysql 5.1.6+,則在connect之前執(zhí)行一次就夠了。

查看mysql連接數(shù)

mysqladmin -uroot -p? processlist

實際的測試中我發(fā)現(xiàn),當設置了MYSQL_OPT_RECONNECT為1時,超時后再查看processlist,則自動建立的連接不在列表中,但事實上連接確實建立并被使用了。

在MYSQL的默認設置中,如果一個數(shù)據(jù)庫連接超過8小時沒有使用(閑置8小時),服務器將斷開這條連接,后續(xù)在該連接上進行的查詢操作都將失敗。網(wǎng)絡上對該問題的描述非常多。也提供了相應的解決辦法。我在這里提一些我自己的看法。

解決辦法一:修改MYSQL服務器的配置參數(shù)

道理非常簡單,MYSQL的默認設置是在數(shù)據(jù)庫連接超過8小時沒有使用后將其斷開,如果我們將這個時間改成更大的數(shù)值,那么連接超時所需的時間就會更長,也就意味著更不容易超時。網(wǎng)絡上提供的修改方法一般是修改/etc/my.cnf,在這個文件中添加一行wait_timeout=你需要設置的超時時間?。實際上有一種比較簡單的方法來修改這個參數(shù):

首先作為超級用戶登錄到MYSQL,注意必須是超級用戶,否則后面會提示沒有修改權限。然后輸入

show global variables like ‘wait_timeout‘;

回車執(zhí)行后顯示目前的超時時間:

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| wait_timeout | 28800 |

+---------------+-------+

1 row in set (0.00 sec)

上面顯示的是默認的超時時間,即8個小時(單位是秒)。現(xiàn)在重新設置該參數(shù),例如我們要將超時時間設置成10個小時,可以輸入:

set global wait_timeout=36000;

回車執(zhí)行,顯示:

Query OK, 0 rows affected (0.00 sec)

表示設置成功,可以重新使用show global variables like ‘wait_timeout‘來驗證。

這種方法比較直觀,而且設置的參數(shù)立即生效。但如果/etc/my.cnf中沒有配置,則重啟服務后,global變量會從/etc/my.cnf中讀取新的變量值。

下邊是一段示例代碼:

if(!mysql_real_connect(&logdb, my_hostname, my_user, my_password, my_dbname, my_port, my_sock, 0)){

ast_log(LOG_ERROR, "Failed to connect to mysql database %s on %s.\n", my_dbname, my_hostname);

use_mysql = 0;

} else {

char value = 1;

mysql_options(&logdb, MYSQL_OPT_RECONNECT, (char*)&value);

use_mysql = 1;

}

總結

以上是生活随笔為你收集整理的mysql 短时大连接的问题_mysql长连接和短连接的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲第一色网站 | 欧美一区三区二区在线观看 | 奇米第四色影视 | 一级大片黄色 | 欧美一区二不卡视频 | 成人国产片 | 第一页国产 | jizz精品 | 国产精品成人国产乱一区 | 国产精品久久午夜夜伦鲁鲁 | 亚洲AV成人无码电影在线观看 | 一级黄色aa | 欧美高清视频 | 制服丝袜天堂网 | 国产黄色特级片 | 秋霞一级视频 | 色爽爽爽爽爽爽爽爽 | 日韩欧美性视频 | 夜夜操影院 | 在线欧美激情 | 婷婷精品在线 | 东北少妇露脸无套对白 | 黄瓜视频污在线观看 | 国产性猛交xxxⅹ交酡全过程 | 国产成人手机视频 | 99有精品| 污片视频在线观看 | 国产精品永久免费视频 | 国产伦精品一区二区三区免.费 | 日韩高清不卡一区 | 911亚洲精品 | 久久九九免费视频 | 亚洲免费观看 | 日本高清www免费视频 | 91看片看淫黄大片 | 人妻在线一区 | 美女少妇毛片 | 亚洲成人偷拍 | 火影忍者羞羞漫画 | 销魂奶水汁系列小说 | japanese24hdxxxx日韩| 国产农村妇女毛片精品久久 | 成人乱码一区二区三区av | 男女一进一出视频 | 国模人体一区二区 | 国产精品无码午夜福利 | 在线免费播放av | 日韩免费一级片 | 天天综合网天天综合色 | 好吊妞这里只有精品 | 免费看成人片 | 日批视频| 欧美视频一区二区 | 岛国av中文字幕 | 日本东京热一区二区三区 | 久久亚洲中文字幕无码 | 日韩在线视频中文字幕 | 在线三级av | 日本熟妇一区二区 | 国产精品一线天 | 中文毛片无遮挡高潮免费 | yy111122少妇光屁股影院 | 青青草视频网站 | 欧美日韩黄色一级片 | 黄色在线视频网址 | 日本一区二区三区在线免费观看 | 精品国产乱码久久久久久108 | 国精产品一区一区三区mba下载 | 日本免费在线观看视频 | 黄色小视频大全 | 亚洲精品一区二三区不卡 | 日本少妇与黑人 | 右手影院亚洲欧美 | 中文字幕在线看高清电影 | 国产欧美日韩专区发布 | 青青在线观看视频 | 18岁免费观看电视连续剧 | 成人午夜在线播放 | 亚洲成在线| 成人免费网站视频 | 国产女主播在线 | 国精产品一区二区三区 | 青青草视频网站 | 国产第8页| 国产精品一卡二卡在线观看 | 潘金莲激情呻吟欲求不满视频 | 精品啪啪 | 久久无码人妻一区二区三区 | 男人操女人下面 | www.黄色小说.com | 免费在线观看黄色网址 | 亚洲成在线观看 | 自拍视频一区二区 | 亚洲午夜精品一区二区三区 | 国产黄色三级 | 在线观看 亚洲 | 蜜桃视频在线观看一区 | 美女脱衣服一干二净 | 伊人射|