MySQL1130エラー:リモートから接続できない場合の解決方法
MySQL 1130エラーは、MySQLサーバへのリモート接続が拒否されたことを意味しています。この問題は、MySQLサーバへのリモート接続時に権限の適切な設定がなされていないか、ファイアウォールによって接続が拒否されている場合に発生することがよくあります。解決策を次に示します。
- MySQLサーバのユーザー権限を確認します。リモートからMySQLサーバへ接続する権限が使用しているユーザーにあるか確認してください。MySQLサーバで次のコマンドを実行することでユーザー権限を確認できます。
SELECT user, host FROM mysql.user;
権限が正しく付与されていなければ、こちらのコマンドでユーザーのリモート接続権限を追加することができます:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
権限をリフレッシュ
FLUSH PRIVILEGES;
- ファイアウォールの設定を確認する: OSにファイアウォールがある場合、MySQL サーバーの 3306 ポートが開いていることを確認する。ファイアウォールの設定を確認するか、ファイアウォールをオフにして確認できます。
- MySQLの設定ファイル(通常はmy.cnfまたはmy.ini)でbind-addressオプションがサーバのIPアドレスに設定されているかどうかを確認します。127.0.0.1に設定されている場合、ローカルからの接続のみが許可されます。サーバの実際のIPアドレスに変更するか、すべてのIPアドレスからの接続を許可するためにその行をコメントアウトします。
- ネットワーク接続の確認:MySQLサーバーにネットワーク経由で接続できるかを確認します。telnetコマンドを使用して接続をテストします:
telnet server_ip 3306
接続できない場合は、ネットワーク設定の問題か、ファイアウォールによって接続がブロックされている可能性があります。
上記の方法で解決できない場合は MySQL サーバーの再起動をお試しになるか、システム管理者またはデータベース管理者へお問い合わせください。