本日、MySQL 8.0 をアップデートしました。 最初の問題: Navicatがデータベースに接続できない インストールされたmysqlはlocalhost:3306で、すべての設定はデフォルトです。インストール後、Navicat 12を開いて新しい接続を作成し、直接エラーを報告してください。 認証プラグイン 'caching_sha2_password' 認証プラグインを読み込めませんでした 公式ドキュメント6.5.1.3 SHA-2プラグ可能認証のキャッシュを確認しました MySQL 8.0では、デフォルトの認証プラグインとして、caching_sha2_passwordがmysql_native_passwordに置き換えられました。公式の解決策は次のとおりです。 1. サーバーを再構成して、以前のデフォルトの認証プラグイン (mysql_native_password) に戻します。 [mysqld] デフォルト認証プラグイン=mysql_native_password この設定により、8.0 より前のクライアントは 8.0 サーバーに接続できますが、有効な設定で作成された新しいアカウントでは caching_sha2_password によって提供される強化された認証セキュリティが利用できなくなるため、この設定は長期的または永続的なソリューションではなく、一時的な設定と見なす必要があります。 2. ルート管理アカウントの認証方法を mysql_native_password に変更します。 新しい MySQL 8.0 インストールの場合、データ ディレクトリが初期化されるときにアカウント 'root'@'localhost' が作成され、このアカウントはデフォルトで caching_sha2_password を使用します。サーバー ルートに接続し、ALTER USER を使用して、次のようにアカウント認証プラグインとパスワードを変更します。 ALTER USER 'root'@'localhost' mysql_native_passwordで識別 BY 'パスワード'; この時点で、MySQL 8.0 のデフォルトの ID 検証の置き換えの問題は解決されました。 2 番目の質問: 原因: java.sql.SQLException: 不明な初期文字セット インデックス '255'... データベースを更新した後、ローカルで小さな Java プロジェクトを開始し、データベースに接続してテスト プログラムを実行しましたが、例外がスローされました。公式ドキュメント「MySQL 8.0.1 の変更点 (2017-04-10、開発マイルストーン)」を確認したところ、バージョン 8.0.1 では Unicode 文字セットのサポートにいくつかの重要な変更が加えられ、デフォルトの文字セットが latin1 から utf8mb4 に変更されていることがわかりました。このシステムのデフォルトの collation_server および collocation_database システム変数は、latin1_swedish_ci から utf8mb4_0900_ai_ci に変更されます。 解決策: これらの変更はすべて MySQL Connector Java の新しいバージョンで処理されており、MySQL の構成は必要ありません。したがって、MYSQL バージョンをアップグレードして、5.1.6 を 5.1.44 に変更するだけで、問題は完全に解決されます。 <依存関係> <グループID>mysql</グループID> <artifactId>mysql-コネクタ-java</artifactId> <バージョン>5.1.44</バージョン> </依存関係> 質問3: インストールが完了したら、データベースを入力してデータベースを表示するか、権限を変更しようとするとエラーメッセージが表示されます。
回避策 mysql_upgrade -u ルート -p; 質問 4: クライアントがデータベースに正常に接続した後、プロジェクト内の MySQL への pdo 接続で再度エラーが報告されたことがわかりました。
このエラーは、MySQL がデフォルトの認証プラグインとして mysql_native_password ではなく caching_sha2_password を使用しているが、クライアントが現在このプラグインをサポートしていないために発生する可能性があります。公式ドキュメント
MySQL 8.0 では、mysql_native_password の代わりに caching_sha2_password がデフォルトの認証プラグインになります。この変更がサーバー操作およびクライアントやコネクタとのサーバー互換性にどのように影響するかについては、優先認証プラグインとしての caching_sha2_password を参照してください。 回避策 my.cnf ファイルを編集し、デフォルトの認証プラグインを変更します。 $ vi /etc/my.cnf [mysqld]に次のコードを追加します。 デフォルト認証プラグイン=mysql_native_password その後、mysqlを再起動します $ サービスmysqldを再起動 ようやくウェブサイトが正常に開きました。 。 。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue で親コンポーネントから子コンポーネントにデータを渡すいくつかの方法
クイックリーディングSQL ステートメントを監視する必要があるのはなぜか、監視方法と監視手段について...
この記事では、MySQL 8.0.11 MSIバージョンのインストールと設定のチュートリアルを参考ま...
目次1. データベースのボトルネック2. サブライブラリとサブテーブル2. 横長テーブル3. 垂直サ...
今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...
どの要素でもスクロールできるようにしながら、スクロールバーを非表示にするにはどうすればよいでしょうか...
国内市場ではIE6~7のサポートに対する一定の需要がまだありますが、フロントエンド開発者として、私た...
ファイル操作に関連するシステムコール作成するint creat(const char *ファイル名,...
目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...
ルーティングとは何ですか?ルーティングとは、相互接続されたネットワークを介して送信元ステーションから...
覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...
居住地を選択するためのドロップダウンボックスをjQueryで実装するための具体的なコードは参考までに...
これら 2 つの属性はよく使用されますが、その違いはまとめられていません。それでは、その使い方をまと...
MySQL のインストールに関する以前のメモを要約して、皆さんと共有しました。ステップ 1: mys...
mysql クエリ制御ステートメントフィールド重複排除 **キーワード: 明確** 構文: テーブル...
文法 背景: linear-gradient(direction,color-stop1,color...