[英]How to resolve the mysql error “insufficient memory” during mysql_init in c++?
我在Ubuntu 12.04上新部署服務器程序“ MyServer”時遇到問題。 該程序在第一台機器上運行良好 。
但是在新機器上,MyServer程序在mysql_init()期間返回異常:“ 內存不足:無法為mysql_init()創建處理程序 ”
但是,這兩台機器都具有2Go RAM,並且MySQL似乎安裝得很好(我們可以從mysql客戶端運行請求),並且具有相同的my.cnf 。
這些行中出現此錯誤:
sql::Driver * driver = get_driver_instance();
if(driver)
{
// Lets try to connect.
std::stringstream completeHost;
completeHost << "tcp://"
<< (configuration->getSocket()->getHost())
<< ":"
<< (configuration->getSocket()->getPort());
////// **It throws this exception below** : //////
sql::Connection * connection = driver->connect(completeHost.str(),
configuration->getUser(),
configuration->getPassword());
}
並且連接參數正確,因為這與mysql客戶端使用的相同。
怎么了 ? 非常感謝 !
我剛遇到相同的問題,可能已經找到解決方法。 我們也有兩台機器,一台運行我們的軟件,另一台拋出相同的消息Insufficient memory: can not create handler for mysql_init()
。
一段時間后,我們注意到第二台計算機進行了一些軟件包更新。 libmysqlclient18
是這些軟件包之一。
一旦我將我的libmysqlclient18
從5.5.38降級到5.5.22(與工作版本相同的版本),它就又開始工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.