簡體   English   中英

C ++:無法連接到遠程mysql數據庫

[英]C++: can't connect to remote mysql database

我編寫了一個應該連接到mysql數據庫的c ++程序。 當我使用本地數據庫時,它可以成功工作,但是當我嘗試連接到另一台計算機上的數據庫時,出現錯誤“無法連接到192.168.0.111(111)上的mysql數據庫”。 這是測試我的連接的功能:

void addb()
{
string mainServer="192.168.0.111";
string mainDbUser="root";
string mainDbPass="111";
MYSQL *connect; //database connection variable

connect=mysql_init(NULL);
if(!connect)
    cout<<"Couldn't initiate connector\n";

if (mysql_real_connect(connect, mainServer.c_str(), mainDbUser.c_str(), mainDbPass.c_str(), "main" ,0,NULL,0))
{
    cout<<" done\n";
}
else
{
    cout<<mysql_error(connect)<<endl;
}
mysql_close (connect);
}

兩台計算機都運行Linux Mint OS。 我嘗試在第二台計算機上禁用防火牆,但是遇到了同樣的問題。 注意:我可以通過Web瀏覽器使用phpmyadmin訪問數據庫。

確保防火牆允許數據庫計算機上的MySQL端口。

確保在my.cnf數據庫中已加載了正確的網絡配置(以偵聽公共IP)。

從錯誤消息中-我會懷疑這是防火牆問題-因此,請確保DB計算機防火牆允許傳入通信(特別是-SELinux除了防火牆之外還啟用了它),並且發送機器允許與該計算機進行傳出通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM