ホームページ > データベース > mysql チュートリアル > 「bind-address = 0.0.0.0」にもかかわらず、リモート ホストから MySQL サーバーに接続できないのはなぜですか?

「bind-address = 0.0.0.0」にもかかわらず、リモート ホストから MySQL サーバーに接続できないのはなぜですか?

Patricia Arquette
リリース: 2024-12-17 08:06:25
オリジナル
812 人が閲覧しました

Why Can't I Connect to My MySQL Server from a Remote Host Despite `bind-address = 0.0.0.0`?

Mysql 接続エラー: HOST '' MySQL サーバーに接続できません

mysql コマンドを使用して MySQL に接続しようとしたときサーバーに接続しようとすると、次のエラー メッセージが表示されます。

ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
ログイン後にコピー

このエラーは、サーバーが特定のホストのみの接続を許可するように構成されており、使用しているホストが許可リストに含まれていないことを示します。 。

root ユーザー権限を確認します

あなたの場合、my.cnf でバインドアドレスを 0.0.0.0 に設定しています。これは、サーバーがすべてのホストからの接続を受け入れる必要があることを意味します。ただし、まだ接続できません。これは、root ユーザーがローカルホストからの接続のみを許可されていることが原因である可能性があります。

これを確認するには、次のクエリを実行します。

SELECT host FROM mysql.user WHERE User = 'root';
ログイン後にコピー

結果に接続しようとしているホスト名または IP アドレスが含まれていない場合は、そのホストからの root ユーザー 接続許可。

接続権限を付与する

特定のホストから接続する権限を root ユーザーに付与するには、次のコマンドを使用します。

CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';
ログイン後にコピー

ここでhost_ip は、接続を許可するホストの IP アドレスです。

すべてのホストに接続権限を付与したい場合は、ワイルドカード % を使用できます:

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
ログイン後にコピー

最後に、権限を更新してすぐに有効にします:

FLUSH PRIVILEGES;
ログイン後にコピー

これで、mysql コマンドを使用して、指定したリモート ホストから MySQL サーバーに接続できるようになります。

以上が「bind-address = 0.0.0.0」にもかかわらず、リモート ホストから MySQL サーバーに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート