web-dev-qa-db-ja.com

CentOSはリモートMySQL接続を許可していません

リモートIPからデータベースに接続するユーザーを割り当てると、接続に失敗していると表示されます。また、rootとの接続に失敗しているため、問題が発生しています。バインドIPがオフになっていて、iptablesを無効にしてみましたが、まだダイスはありません。ポート3306が転送されます。

Phpmyadminを使用してCentos5.6で実行していますが、コマンドラインからユーザーを割り当てて新しいデータベースを作成しようとしましたが、まだ機能していません。

何時間もグーグルとトラブルシューティングを行っていますが、サイコロはありません。

2
nd8ad

問題の説明が明確ではありません。ネットワーク関連の問題(ファイアウォールブロッキングポート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にリモート接続することを許可されていません。

1
Khaled

リモートmysql接続を許可するには、サーバーの/etc/my.cnfを編集する必要があります

[mysqld]を見つけて、次の行を追加します。

bind-address = <server's ip address>

mysqlサーバーを保存して再起動します。

/etc/init.d/mysqld restart
0
wens

次のことを試すことができます、

  1. MySQlが実行されているサーバーにSSHで接続します。サーバーからローカルで「root」としてMysqlにログインできるかどうかを確認してください。

  2. Mysqlポート3306がリッスンしているかどうかを再確認してください。

  3. Mysqlインバウンド接続を許可するようにIPTABLEsが設定されているかどうかを確認します。そうでない場合は、IPTABLESサービスを停止して、リモートシステムからMySQLサーバーに接続してみてください。

  4. 「root」ユーザーとして接続することはお勧めできません。Mysqlユーザーを作成し、新しいユーザーにすべての権限を付与して、パスワードで識別されるリモートシステムからデータベースに接続します。

例:-

すべてを許可*。 * TO user @ 'あなたのIPアドレス' IDENTIFIED BY'PASSWORD ';

FLUSH PRIVILEGES;

これがお役に立てば幸いです。

ありがとう!

0
Big Data

IPにバインドする必要があります。マシン上のすべてのIPにバインドする場合は、バインドする必要があります。

0.0.0.0
0
Lucas Kauffman