2014-08-29 30 views
0

我對Ubuntu 12.04服務器程序「MyServer」的新部署有問題。 該程序在第一臺機器上正常工作。如何在C++中mysql_init期間解決mysql錯誤「內存不足」?

但在新機器上,程序MYSERVER期間mysql_init返回異常(): 「內存不足:無法創建mysql_init處理器()

不過,這些2臺機器同時擁有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客戶端使用的相同。

怎麼了? 非常感謝!

回答

0

我剛剛遇到同樣的問題,我可能找到了解決方法。 我們也有兩臺機器,一臺使用我們的軟件,另一臺使用同樣的信息Insufficient memory: can not create handler for mysql_init()

過了一段時間,我們注意到第二臺機器經歷了一些軟件包更新。 libmysqlclient18是其中的一個包。

當我將我的libmysqlclient18從5.5.38降級到5.5.22(與工作版本相同的版本)後,它又開始工作了!

相關問題