1. ユーザーを作成して承認する MySQL 8.0 では、ユーザーの作成と認証が以前とは異なります。厳密に言えば、異なるとは言えませんが、より厳格になったとしか言えません。MySQL 8.0 では、認証の前にユーザーの作成とパスワードの設定が必要です。 #まずユーザーを作成します。create user 'hong'@'%' identified by '123123'; #Authorize は、GRANT オプションを使用して、*.* のすべての権限を 'hong'@'%' に付与します。 元の 5.7 メソッドを引き続き使用すると、エラーが報告されます。
2. MySQL 8.0のリモート接続 MySQL 8.0 をインストールした後は、リモートで接続することはできません。これは、MySQL 8.0 がローカルホスト アクセスのみをサポートしているためです。リモートでアクセスできるようにするには、事前に設定する必要があります。 具体的な設定手順は以下のとおりです。 ①MySQLにログインする 実行コマンドは、mysql -u root -pです。 Enterキーを押した後にパスワードを入力してください ② MySQLデータベースを選択 実行コマンドは次のとおりです: use mysql; MySQL データベース内のユーザー情報を保存するユーザー テーブルを表示します。 ③mysqlデータベースのユーザーテーブルで現在のルートユーザーの関連情報を表示する 実行コマンドは次のとおりです: select host,user,authentication_string,plugin from user; コマンドを実行すると、表が表示されます。デフォルトでは、root ユーザーのホストは localhost であり、ローカル アクセスのみがサポートされ、リモート アクセスは許可されていないことを示しています。 ④ ホストのデフォルト設定を変更する 実行コマンドは次のとおりです: update user set host='%' where user='root'; ⑤ リフレッシュ 実行コマンドは次のとおりです: 権限をフラッシュします。 これですべてだと思っていましたが、Navicat を使用して MySQL にリモート接続すると、エラーを示すポップアップ ウィンドウが表示されました。 その理由は、mysql8 より前のバージョンの暗号化ルールは mysql_native_password であり、mysql8 以降のバージョンの暗号化ルールは caching_sha2_password であるためです。この問題を解決するには 2 つの方法があります。1 つは navicat ドライバーをアップグレードすること、もう 1 つは mysql ユーザー ログイン パスワードの暗号化ルールを mysql_native_password に復元することです。私は 2 番目の方法を使用します。 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #暗号化ルールを変更する ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #ユーザーのパスワードを更新 FLUSH PRIVILEGES; #権限を更新 問題は解決しました。 mysql8.0 ユーザパスワード設定に関する注意事項 MySQL 8.0.11 では、mysql_native_password の代わりに caching_sha2_password がデフォルトの認証プラグインになります。この変更がサーバー操作およびクライアントやコネクタとのサーバー互換性にどのように影響するかについては、優先認証プラグインとしての caching_sha2_password を参照してください。 (https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html から翻訳) 今日、新しいサービスにmysql8.0.11を設定してインストールするときに、いつものようにmysqlのパスワードを設定しました。設定が成功した後、シェルでmysql -u root -pと入力し、通常通りパスワードを入力します。しかし、phpmyadminまたはhttp://php.net/manual/zh/mysqli.real-connect.phpで接続を直接使用すると、接続できないというメッセージが表示されます。具体的なエラーメッセージは次のとおりです。
検索して公式ドキュメントを見つけた後、バージョン 8.0.11 以降、ユーザー パスワードを設定するためのデフォルトの検証方法は、MySQL 5.7 以前のバージョンのように caching_sha2_password ではなくなったことがわかりました。MySQL 8.0.11 にアップグレードした後、元のプログラムが MySQL に接続できない場合は、MySQL コマンドライン クライアントで次のコマンドを使用して、MySQL 5.7 以前のバージョンのパスワード検証方法にすばやく設定できます。同時に、MYSQL 8.0.11 でのパスワードの変更方法も元の方法とは少し異なり、元のパスワード変更コマンドの一部は MySQL 8.0.11 では使用できません。 > MySQLを使用する > ALTER USER 'root'@'localhost' を 'your password' によって mysql_native_password で識別します。 > 権限のフラッシュ; 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...
1. コンテナに入るdocker run [オプション] イメージ名 [起動コンテナに渡されるコマン...
1. はじめに最近、 Webpackの原理を勉強しています。これまでは Webpack の設定方法し...
rpmインストールパッケージをダウンロードするMySQL公式サイト: https://dev.mys...
パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...
最初は、複数の列のコンテンツのサイズと高さが異なります。ここで、表示する背景を異なるものに設定し、各...
これを実現するには、ES6 モジュール開発とオブザーバー モードを使用します。オブザーバー パターン...
目次導入1. MySQLデータベースの全体的なアーキテクチャSQL インターフェースパーサーオプティ...
主要な Web サイトと個人的な習慣に従って、Docker ソースを追加するには次の方法を使用します...
数日前、CSS で 3 列レイアウトを書いていたときに、突然この方法を思いつきました。このアイデアは...
html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...
目次概要1. フックの呼び出し順序2. onChangesフック3. 変更検出メカニズムとDoChe...
目次主キーインデックス頻繁にクエリされるフィールドのインデックスを作成する大きなフィールドのインデッ...
テーブルを削除することはあまり一般的ではありませんが、特に外部キーの関連付けがあるテーブルの場合は、...
目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...