MySQLデータベースに他のIPアドレスからアクセスできない問題の解決策

MySQLデータベースに他のIPアドレスからアクセスできない問題の解決策

序文

先ほどのプロジェクトを参考にすると、環境は整いました。プロジェクトの準備と検証の段階で、問題が発見されました。上位アプリケーションからアプリケーションへの認証アクセスを入力すると、常に待機状態になりました。正しいユーザー名とパスワードを入力しても、アクセスできませんでした。データベース接続にアクセスする方法がないようです。

デプロイメント後の MySQL のポートは通常 3306 です。ポート 3306 に対して ping と telnet を試してください。IP は ping できますが、ポート 3306 に対しては telnet できず、エラー メッセージが表示されます。

エラー 1130: ホスト *.*.*.* は MySQL への接続が許可されていません

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

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

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

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

ユーザーを更新します。set authentication_string=password("xxxx") where user = "root";
権限をフラッシュします。

2. 変更後、use mysql コマンドを使用して mysql ライブラリに切り替えます。この mysql ライブラリは実際に mysql 内に存在し、いくつかの db 関連情報を保存していることに注意してください。

コマンド: use mysql;

3. ユーザー テーブルを見つけて、次のコマンドを実行します。

'JLwg!2017' で識別される 'root'@'%' に、GRANT オプションを使用して *.* のすべての権限を付与します。

これを変更する方法はインターネット上にたくさんあり、全部で 4 つあるはずですが、私はそのうちの 1 つを使用しています。

このコマンドは、すべての IP アドレスがこのユーザーにアクセスできるように、ルート ユーザーのアクセス権を変更することを意味します。このようにして、アプリケーションは外部 IP アドレスからこの mysql にアクセスできます。そうしないと、localhost のみがアクセスでき、非常に不便です。

4. 最後に、 flush privileges;コマンドを実行して Mysql サービスを再起動すると、アプリケーションは正常にログインします。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • mysql は指定された IP リモート アクセス接続インスタンスを設定します

<<:  Linuxでディスク使用量を確認する方法

>>:  CentOS7 のシステム サービスに Nginx を追加する方法

推薦する

シンプルなタブバー切り替えケースを実現するJavaScript

この記事では、タブバーの切り替え効果を簡単に実現するためのJavaScriptの具体的なコードを参考...

MySQL内部一時テーブルの具体的な使用法

目次連合テーブルの初期化ステートメントの実行連合の結果ユニオンオールグループ化十分なメモリステートメ...

MySQL の大きなデータ テーブルにフィールドを追加する方法

序文フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィ...

MySQL サブクエリ (ネストされたクエリ)、結合テーブル、複合クエリの詳細な説明

1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...

Dockerのyumソースの設定とCentOS7へのインストールの詳細な説明

ここではCentOS7が使用されており、カーネルバージョンは [root@localhost ~]#...

MySQL データ挿入効率の比較

データを挿入するとき、以前オフィス システムに取り組んでいたときにはデータベースのパフォーマンスにつ...

nginx プロキシ サーバーで双方向証明書検証を構成する方法

証明書チェーンを生成するスクリプトを使用して、ルート証明書、中間証明書、および 3 つのクライアント...

選択にスタイルを追加するための純粋な CSS (スクリプトなし) 実装

通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...

Vue実装のカウンターケース

この記事では、カウンター表示を実現するためのVueの具体的なコードを例として紹介します。具体的な内容...

MySQL 入門 - SQL 実行プロセス

目次1. プロセス2. コアアーキテクチャ2.1 サーバー層の基本コンポーネントの紹介3. ステート...

VirtualBox でのホストオンリー + NAT モードのネットワーク構成

VirtualBoxのHost Only+NATモードのネットワーク構成は参考用です。具体的な内容は...

JQueryはアニメーション効果の非表示と表示を実装します

この記事では、アニメーション効果の非表示と表示を実現するためのJQueryの具体的なコードを参考まで...

TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

Apache Tomcat は、Java Servlet および Java Server Pages...

mysql5.6 以前のデータベースで json をクエリする方法

MySQLにデータを保存するとき、乱雑であまり使用されないデータがJSONフィールドに投げ込まれるこ...

MySQL で重複を削除するには、distinct または group by を使用する必要がありますか?

序文group by と distinctive のパフォーマンス比較について: インターネット上の...