0

一部のアプリケーションから、リモート データベース サーバーに接続できません。

  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

エラー:

データベースへの接続に失敗しました: エラー: 'ip_..' で MySQL サーバーに接続できません (10060)

その理由は何ですか?

4

1 に答える 1

0

テストが失敗するたびに (成功した後に) mysql_errorの結果を表示する必要がありますmysql_init

 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; 

そうしないと、ユーザーは自分に何が起こっているのか理解できません。

何が起こっているかがわかります。そうでない場合は、ドキュメントを参照してください。

于 2012-09-07T07:30:09.753 に答える