在运行MySQL数据库的远程Linux Mandriva服务器上,我需要从Windows主机连接到使用C++程序执行一些数据操作。实际上,下面的代码不会让它开始:从C++连接到运行在Linux Mandriva服务器上的远程MySQL RDBMS
...
MYSQL conn;
if(!mysql_init(&conn))
std::wcout << "Error: can't create MySQL-descriptor" << endl;
if(!mysql_real_connect(&conn,"ip","user","password","dbname",0,0,0))
std::wcout << "Error: can't connect to MySQL server" << endl;
if(mysql_query(&conn, "SELECT VERSION()") != 0)
std::wcout << "Error: can't execute SQL-query" << endl;
...
我在远程服务器上打开端口3306
-
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables save
iptables restart
错误:
Failed to connect to database:Error: Can't connect to MySQL server on 'ip_..' (10060)
我将不胜感激有关如何连接到在Linux上运行的远程数据库服务器的信息。
错误消息为“错误:无法连接到MySQL服务器”和“错误:无法执行SQL查询”。 –
有关补充信息,更好地更新问题(评论自己的问题有点奇怪)。您确定它不是网络问题吗?例如,您是否能够使用相同凭据从另一个应用程序连接到此服务器? –
您确认可以从该机器连接吗?我会安装MySQL Workbench,并确保在查看我的代码之前可以建立连接。你也可以尝试使用3306(或者你的服务器配置的任何端口)而不是0 ...是的,我知道文档说0是好的,但我对这是一个谎言有模糊的记忆。 – paddy