リモートIPからデータベースに接続するユーザーを割り当てると、接続に失敗していると表示されます。また、rootとの接続に失敗しているため、問題が発生しています。バインドIPがオフになっていて、iptablesを無効にしてみましたが、まだダイスはありません。ポート3306が転送されます。
Phpmyadminを使用してCentos5.6で実行していますが、コマンドラインからユーザーを割り当てて新しいデータベースを作成しようとしましたが、まだ機能していません。
何時間もグーグルとトラブルシューティングを行っていますが、サイコロはありません。
問題の説明が明確ではありません。ネットワーク関連の問題(ファイアウォールブロッキングポート3306、不正なバインドアドレスなど)が原因の問題と、無効な資格情報が原因の問題を区別する必要があります。
サーバーのIP /ポートにTelnetで接続して接続できる場合:
$ telnet your_server_ip 3306
これは、mysqlサーバーが実行されており、指定されたIPで接続を受け入れていることを意味します。次のステップは、mysqlクライアントを使用してmysqlへの接続を試みることです。
$ mysql -u user -p -h your_server_ip
あなたが取得する場合 access denied
エラー、正しいユーザー名/パスワードで接続していることを確認する必要があります。
root
ユーザーの場合、AFAIKは(デフォルトで)root
としてmysqlDBにリモート接続することを許可されていません。
リモートmysql接続を許可するには、サーバーの/etc/my.cnf
を編集する必要があります
[mysqld]
を見つけて、次の行を追加します。
bind-address = <server's ip address>
mysqlサーバーを保存して再起動します。
/etc/init.d/mysqld restart
次のことを試すことができます、
MySQlが実行されているサーバーにSSHで接続します。サーバーからローカルで「root」としてMysqlにログインできるかどうかを確認してください。
Mysqlポート3306がリッスンしているかどうかを再確認してください。
Mysqlインバウンド接続を許可するようにIPTABLEsが設定されているかどうかを確認します。そうでない場合は、IPTABLESサービスを停止して、リモートシステムからMySQLサーバーに接続してみてください。
「root」ユーザーとして接続することはお勧めできません。Mysqlユーザーを作成し、新しいユーザーにすべての権限を付与して、パスワードで識別されるリモートシステムからデータベースに接続します。
例:-
すべてを許可*。 * TO user @ 'あなたのIPアドレス' IDENTIFIED BY'PASSWORD ';
FLUSH PRIVILEGES;
これがお役に立てば幸いです。
ありがとう!
IPにバインドする必要があります。マシン上のすべてのIPにバインドする場合は、バインドする必要があります。
0.0.0.0