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