[英]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.