多くの問題に対処するための8.0.12へのMySQL 5.5.25からアップグレードした後、

MySQLデータベースを5.5.25から8.0.12にアップグレードされ、次のように記録し、いくつかの問題が発生しました:

データベースがインストールされた後、元のデータをインポートし、Tomcatを起動し、認証caching_sha2_pluginをロードすることができないエラー次のように、溶液です。

  USER 'ルート'をALTER @ 'localhostの 「パスワードIDENTIFIED BY PASSWORDでEXPIRE決して;# 暗号化ルール変更
  'ルートを' @ IDENTIFIED 'localhost'の ALTERユーザ'パスワード' BY mysql_native_password WITH;#のユーザーのパスワードについてのアップデートを

  FLUSH PRIVILEGES;#リフレッシュ許可

インターネットも言ったこと、my.iniファイルを変更する追加することにより、

[mysqldを]
default_authentication_plugin = mysql_native_password

私のテスト、失敗した後、私は理由を知りません。

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html

Connector / Jのバージョン JDBCバージョン MySQLサーバのバージョン JREはサポートされています コンパイルに必要なJDK 状態
8.0 4.2 5.6、5.7、8.0 1.8.x  1.8.x  一般的な可用性。推奨バージョン。
5.1 3.0、4.0、4.1、4.2 5.6 * 5.7 * 8.0 * 1.5.xの、1.6.xの、1.7.x、は1.8.x * 1.5.xのとは1.8.x 一般的な可用性

図は、もともと5.1.21(新しいMySQLのコネクタ-のjava-5.1.46をダウンロードし、その後のMySQL *。以上8.0コネクタドライブはドライバのバージョン5.1.xでも8.0をサポートし、JDK1.8のサポートを必要と示しており、 )、Tomcatは与えられずに、再起動します!

プロジェクトはいくつかの時間のために実行されている場合は、別のエラー:

SELECTリストの式#1は、GROUP BY句ではなく、nonaggreが含まれています

オンライン5.7のリリース後にデフォルトで開いONLY_FULL_GROUP_BY SQLモードを意味し、ビットを検索、追加、この問題を引き起こすのmy.iniを変更することができます

[mysqldを]
sql_modeの= STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION

これは、Tomcatを再起動して、プロジェクトの正常な動作をONLY_FULL_GROUP_BYでsql_modeのを削除し、MySQLを再起動し、です。

オンラインは、グローバル設定を変更する設定@@ sql_modeの=「STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION」を介して言った、私がテストして成功することはできませんが、いくつかは、グローバル設定は、新しいデータベースの後にのみ効果的であると言います。私は確認されませんでした。知ることがありますが、メッセージを残してください!

結論は次のとおりです。本番環境では、簡単にバージョンを変更しないでください!

おすすめ

転載: www.linuxidc.com/Linux/2019-09/160508.htm