約束の地

キャロ組

Mac の MySQL で(というか MySQL 8 で)認証時に Unable to load authentication plugin 'caching_sha2_password'. と怒られたとき(JDBC利用時)

結論

SQL で WITH mysql_native_password を使ってパスワードを定義する。

具体例

mysql> ALTER USER 'YOUR_USERNAME'@'YOUR_HOSTNAME' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD';

補足

  • Embulk の MySQL プラグインを使ったら遭遇しました*1
  • DBeaver を使った場合も同様でした
    • すなわち JDBC で起きるということでしょう
  • 上記コマンドで ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 50, found 49. Created with MySQL 80012, now running 80013. Please use mysql_upgrade to fix this error. みたいに怒られた場合は、一度ターミナルに戻って $ mysql_upgrade -uroot などとして MySQL をアップグレードしてやります

参考

*1:Embulk とは本質的には関係がないです

Powered by はてなブログ