MySQL 8.0 でリモートアクセス権限を設定する方法

MySQL 8.0 でリモートアクセス権限を設定する方法

前回の記事では、MySQL パスワードをリセットする方法を説明しました。一部の学生から、データベースに接続できないという報告がありました。これは、MySQL がインストール後にローカルホスト アクセスのみをサポートするためです。リモートでアクセスできるようにするには、設定する必要があります。また、MySQL 8.0 に接続するときにいくつかの問題が発生します。この記事では、それらの解決方法についても説明します。

1. MySQLにログインする

mysql -u ルート -p

パスワードを入力してください

2. MySQLデータベースを選択する

mysql を使用します。

mysql データベースのユーザー テーブルにユーザー情報が格納されているためです。

3. mysqlデータベースのユーザーテーブルで現在のルートユーザーの関連情報を表示します。

ユーザーからホスト、ユーザー、認証文字列、プラグインを選択します。 

上記のコマンドを実行すると、表が表示されます。

テーブル内の root ユーザーのホストを確認します。デフォルトでは、ローカル アクセスのみがサポートされ、リモート アクセスは許可されない localhost が表示されます。

4. ルートユーザーのすべての権限を承認し、リモートアクセスを設定します。

*.* のすべての権限を 'root'@'%' に付与します。

GRANT ALL ON はすべての権限を意味し、% はすべてのホストがワイルドカード化され、リモート アクセスが許可されることを意味します。

5. 権限を更新する

すべての操作が完了したら、

権限をフラッシュします。

6. ルートユーザーのホストを確認する

手順 2 を再度実行すると、root ユーザーのホストが % になっていることがわかります。これは、変更が成功し、リモートからアクセスできることを意味します。

7. データベースにアクセスする

Navicat、SQLyog、MySQL workbench など、データベースへのリモート アクセス用の視覚化ツールは多数あります。ここでは Navicat を使用します。

アクセス ホストとパスワードを入力すると、エラー 2059 が報告されます。これは、MySql 8.0 と 5.0 の暗号化ルールが異なり、現在の視覚化ツールは古い暗号化方式のみをサポートしているためです。

この問題を解決するには 2 つの方法があります。1 つは Navicat ドライバーを更新してこの問題を解決すること、もう 1 つは MySQL ユーザー ログインの暗号化ルールを mysql_native_password に変更することです。最初の方法を試しましたがうまくいかなかったので、ここでは 2 番目の方法を使用します。

8. 暗号化ルールを変更する

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' パスワードは期限切れにならない; 

パスワードは現在のパスワードです。

9. ルートユーザーのパスワードを更新する

ALTER USER 'root'@'%' を 'password' によって mysql_native_password で識別します。 

password は設定した新しいパスワードです。

10. 権限を更新する

権限のフラッシュ;

設定は完了です。Navicatを使用してデータベースに再度接続します。

MySQL 8.0 のリモートアクセス許可の設定方法についてはこれで終わりです。MySQL 8.0 のリモートアクセス許可の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLユーザー権限テーブルについての簡単な説明
  • MySQL ユーザー権限管理の実装
  • MySQLユーザー権限管理の詳細な説明
  • MySQL 権限制御の詳細分析
  • MySQL 権限制御の詳細な説明
  • MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル
  • MySQL ストアド プロシージャ関連の権限変更の問題
  • MySQL 権限とデータベース設計のケーススタディ

<<:  HTML タグ マーキーを使用してスクロール効果を実現する簡単な方法 (必読)

>>:  ROS で Turtlebot3 移動ロボットを制御するための基本的なチュートリアル

推薦する

JavaScript 関数をよりエレガントにする方法

目次分割代入を使用したオブジェクトパラメータコールバック関数の命名条件文を説明的にするスイッチ文をM...

Vueプロジェクトでページジャンプを実装する方法

目次1. vue-cli デフォルト プロジェクトを作成する (babel のみを含む) 2. 作成...

Docker execは複数のコマンドを実行します

docker exec コマンドは、実行中のコンテナ内でコマンドを実行できます。 docker ex...

Vueはv-modelを使用してel-paginationコンポーネントのプロセス全体をカプセル化します。

v-model を使用してページング情報オブジェクトをバインドします。ページング情報オブジェクトに...

MySQL 8.0.11 MSI バージョンのインストールと構成のグラフィック チュートリアル

この記事では、MySQL 8.0.11 MSIバージョンのインストールと設定のチュートリアルを参考ま...

MySQLで置換関数を実装するためのいくつかの実用的なシナリオ

REPLACE構文REPLACE(String,from_str,to_str)つまり、String...

Vue で円形プログレスバーを実装する例

データ表示は、常にあらゆる職業の人々が求めているものです。特にフロントエンド開発業界では、データを表...

Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変...

Linux での mysql-5.7.28 インストール チュートリアル

1. 公式ウェブサイトから Linux バージョンをダウンロードします: https://dev.m...

Vue での mixin の応用について議論する

Mixin は、再利用可能な機能を Vue コンポーネント間で分散する非常に柔軟な方法を提供します。...

ビジュアルデザイナーの成長の3つの段階のまとめ

この本「グラフィックデザイナーとして成長する」は多くの人が読んでおり、私もオリジナルの PDF 版を...

CSSを使用してTDのINPUTの幅を設定する

最近、C# を使用して Web プログラムを作成していたときに、次のような問題が発生しました。 Te...

Linux システムをバックアップする docker コマンドの詳細な説明

tar バックアップ システム sudo tar cvpzf backup.tgz --exclud...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

テキストエリアをレイアウトしたときにテキストが左下にあり、サイズを変更できない問題の解決策

2つの小さな問題ですが、長い間私を悩ませていました。最初の質問テキストエリアの左側のテキストは常にテ...