在某些例外情況下連接資料庫可能會掛住,就設定了連接超時時間。
代碼大致如下:
MYSQL *mysql = mysql_init(NULL);
unsigned int timeout = 10;
mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, &timeout);
if (mysql_real_connect(mysql, DBHOST, DBUSER, DBPASS, DBNAME, DBPORT, DBSOCK, DBPCNT) )
{
..............
}
設定了連接超時時間為10秒,但到mysql_real_connect 這一步還是卡住了,很長時間都不回傳,看來 MYSQL_OPT_CONNECT_TIMEOUT并沒有生效。請教下這個問題該怎么解決?還有沒有其他好方法來規避連接資料庫掛死這種情況?多謝!
uj5u.com熱心網友回復:
https://bbs.csdn.net/topics/390247381應該是沒什么效果
用另一個方法
建議的做法是使用PING的方法去重置TIMEOUT的計秒
mysql_ping(&sqMysql_Test);
當然要加上一些TIMER的監控來做處理,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/93796.html
標籤:MySQL
下一篇:關于資料庫的一些問題
