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 移動ロボットを制御するための基本的なチュートリアル

推薦する

Linux で大きなファイルの内容を消去または削除する 5 つの方法

Linux ターミナルでファイルを操作しているときに、Linux コマンドライン エディターでファイ...

MySQL が innobackupex を使用して接続サーバーをバックアップできない場合の解決策

innobackupex を使用してバックアップする際に MySQL がサーバーに接続できない場合は...

Vueデータ監視の原理の詳細な説明

目次1. はじめにII. 監視対象2.1 なぜオブジェクトを監視する必要があるのですか? 2.2 デ...

知らないかもしれない実用的なTypeScriptのヒント

目次序文関数のオーバーロードマッピングタイプ部分的、読み取り専用、Null 可能、必須選択、記録除外...

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...

Node.js を使用して png 画像に透明なピクセルがあるかどうかを判断する方法

背景PNG 画像は jpg 画像よりも多くのストレージスペースを占有しますが、PNG 画像の品質は大...

キャンバスをベースにした超クールな水光効果を実現

この記事の例では、キャンバスをベースにした超クールな水の光の効果を実装するための具体的なコードを参考...

Linux システム (CentOS7 インストール) に JDK8 をインストールするための詳細なチュートリアル

JDKのインストールシステムのインストールについてはあまり詳しく説明しません。インストール手順はオン...

JavaScript イベントの概念の詳細な説明 (静的登録と動的登録の区別)

目次js のイベントイベントタイプ一般的なイベントイベント登録静的および動的登録の例onload 読...

Vue3 ベースのスクリプト設定構文 $refs の使用

目次1. Vue2 構文2. Vue3の使用1. コンポーネントのref値を設定する2. コンポーネ...

HTML 特殊文字変換表

キャラクター小数点文字番号エンティティ名---未使用空間---スペースバー! ! ---感嘆符「 」...

jsでライトスイッチの効果を実現

この記事の例では、ライトスイッチ効果を実現するためのjsの具体的なコードを参考までに共有しています。...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...

CSS は Apple のスムーズなスイッチ ボタン効果を模倣します

目次1. コード分析2. ソースコードソースコード1. コード分析1.1 HTMLコード分析 <...