ホームページ  >  記事  >  データベース  >  他のIPからmysqlデータベースにアクセスできない問題を解決

他のIPからmysqlデータベースにアクセスできない問題を解決

巴扎黑
巴扎黑オリジナル
2017-09-04 15:54:071420ブラウズ

この記事では、主に、他の IP から MySQL データベースにアクセスできない問題の解決策をサンプル コードを通じて詳しく紹介します。これは、学習や仕事に必要なすべての人の参考と学習に役立ちます。以下に続きます。一緒に学びましょう。

前書き

先ほどのプロジェクトですが、プロジェクトの準備と検証の段階で問題が発見されました。状態を待っており、正しいユーザー名とパスワードを入力しましたが、アクセスできません。データベース接続にアクセスする方法がないようです。

mysql デプロイメント後のポートは通常 3306 です。 3306 ポートに ping と telnet を実行しようとしたところ、IP は ping できることがわかりましたが、3306 ポートは telnet で接続できず、次のようなエラーが表示されます:


ERROR 1130: Host *.*.*.* is not allowed to connect to MySQL

Look このエラーを見た後、オンラインで調べたところ、基本的に多くの解決策があることがわかりましたが、なぜそれについて具体的に書く必要があるのでしょうか?

答えは、インターネット上に mysql 5.6 に対する多くの解決策があります。5.7 では、このエラーに対する解決策は次のとおりです。

1. mysql に初めてログインした後、次のことを行う必要があります。 root パスワードを適時に変更します。ここでは 5.6 です。5.7 との違いが 1 つあります。つまり、5.6 のパスワード フィールドは、password ですが、バージョン 5.7 では、このフィールドはキャンセルされ、authentication_string フィールドに置き換えられます。

正しい変更方法は次のとおりです:


update user set authentication_string=password("xxxx") where user = "root";
flush privileges;

2. 変更後、use mysql コマンドを使用して mysql ライブラリに切り替えます。この mysql ライブラリは実際に mysql に存在し、データベース関連の情報を保存します。情報の図書館。

コマンド: use mysql;use mysql;

3.找到users表,执行如下命令:


grant all privileges on *.* to 'root'@'%' identified by 'JLwg!2017' with grant option;

网上关于这块的修改方法很多,应该一共有4种,我用的是其中一种。

这个命令的意思是,修改root用户的访问权限,让所有ip都可以访问这个用户,这样一来的话,我们的应用就可以从外部ip访问这个mysql了,不然只有localhost可以访问,很不方便。

4.最后执行flush privileges;

3. users テーブルを見つけて次のコマンドを実行します:

🎜rrreee🎜 これをオンラインで変更する方法はたくさんあります。合計すると、そのうちの 1 つを使用します。 🎜🎜 このコマンドの意味は、すべての IP がこのユーザーにアクセスできるように、root ユーザーのアクセス許可を変更することです。それ以外の場合は、ローカルホストのみがアクセスできるようになります。とても便利です。 🎜🎜4. 最後に flushprivileges; コマンドを実行して Mysql サービスを再起動すると、アプリケーションが正常にログインします🎜🎜🎜🎜🎜

以上が他のIPからmysqlデータベースにアクセスできない問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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