繁体   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