さて、私はリモートSQLデータベースに接続しようとしています。
私は次の設定を使用しています:
public $default = array(
"datasource" => "Database/Mysql",
"persistent" => false,
"host" => "10.246.16.153:3306",
"login" => "*******",
"password" => "*******",
"database" => "udlejnings_pris",
"prefix" => "",
//"encoding" => "utf8",
);
私のデータベースの設定は以下の通りです:
Database server
Server: 10.246.16.153 via TCP/IP
Software: MySQL
Software version: 5.1.66-0+squeeze1 - (Debian)
Protocol version: 10
Server charset: utf-8 Unicode (utf8)
今、このサーバーにアクセスしようとすると、次のエラーが表示されます。
2013-10-12 16:27:28 Error: [MissingConnectionException] Database connection "Mysql" is missing, or could not be created.
Exception Attributes: array (
"class" => "Mysql",
"message" => "SQLSTATE[HY000] [2002]
",
"enabled" => true,
)
だから私は間違って何をしていますか?
回答:
回答№1は1多くのホストされたMySQLインスタンスはクライアントを許可しませんデフォルトではリモートで接続します。あなたのデータベースホストがそれを提供するなら、あなたのIPアドレスを何らかの形のリモートMySQLオプションに追加する必要があるかもしれません。たとえば、データベースを持つサーバがcPanelを使用している場合、問題を解決する「リモートMySQL」オプションがあります。あるいは、「GRANT」SQLコマンドを実行して、説明されているようにリモートからのユーザーアカウントアクセスを許可することもできます この回答.
それでも問題が解決しない場合は、ファイアウォールによって接続がローカルにブロックされている可能性があります。
回答№2の場合は1
おそらく、あなたが接続しているサーバでmysqlリモートアクセスを有効にする必要があります。デフォルトでは無効になっています。
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html