ホームページ >データベース >mysql チュートリアル >Ubuntu で MySQL サーバーにリモート アクセスできないのはなぜですか?

Ubuntu で MySQL サーバーにリモート アクセスできないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-03 04:38:07730ブラウズ

Why Can't I Remotely Access My MySQL Server on Ubuntu, and How Do I Fix It?

Ubuntu でリモート MySQL 接続を確立する

問題ステートメント

リモート権限を付与しているにもかかわらず、MySQL サーバーへのリモート アクセス試行がアクセス拒否エラーで失敗する

ソリューション

MySQL の設定バインド アドレス

MySQL バージョン 5.6 以下でリモート接続を受け入れるには、/etc/mysql/my.cnf で次の行のコメントが解除されていることを確認してください:

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

または、bind-address を使用します。 = 0.0.0.0 は、任意の IP からの接続を許可します。

MySQL バージョン 5.7 の場合以上で、/etc/mysql/mysql.conf.d/mysqld.cnf のバインド アドレスを変更します。

IP アドレス バインドの確認

MySQL を再起動し、lsof を使用して更新されたバインド アドレスを確認します。 i-P | grep:3306。サーバーの IP アドレスが返されるはずです。

リモート ユーザーと権限の作成

localhost と %:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

Grant の両方で適切な権限を持つリモート ユーザーを作成します。必要な権限:

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

最後に、権限をフラッシュし、 exit:

FLUSH PRIVILEGES; 
EXIT;

リモート アクセスの検証

失敗した場合は、追加のエラー メッセージを確認するか、my.cnf 構成を確認してください。 lsof が利用できない場合は、トラブルシューティングのために lsof をインストールすることを検討してください。

my.cnf のバインド アドレスを変更しても問題が解決しない場合は、/etc/mysql/ で変更してみてください。 mariadb.conf.d/50-server.cnf、最初に宣言された場所。

以上がUbuntu で MySQL サーバーにリモート アクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。