无法从C ++连接到MySQL

时间:2012-09-07 05:31:32

标签: c++ mysql windows linux

从某些应用程序,我无法连接到远程数据库服务器:

  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

错误:

  

无法连接到数据库:错误:无法连接到MySQL服务器   'ip_ ..'(10060)

可能是什么原因?

我将非常感谢这些信息。谢谢大家。

1 个答案:

答案 0 :(得分:1)

每次失败的测试后(成功mysql_init之后)都应显示mysql_error的结果,例如:

 if(!mysql_real_connect(&conn,"ip","user","password","dbname",0,0,0))
     std::wcout << "Error: can't connect to MySQL server:"
                << mysql_error (&conn) << endl; 

否则您的用户将无法理解他发生的事情。

你可能会发现发生了什么。如果没有,请查看文档。