はじめに
MySQL WorkbenchからDockerコンテナで起動したMySQLサーバーに接続しようとしたところ、以下のエラーが発生。
Authentication plugin '' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/.so, 0x0002): tried: '/usr/local/mysql/lib/plugin/.so' (no such file),
参考記事も見つけられず、解決まで時間がかかってしまったのでまとめておきたいと思います。
解決策
MySQL Workbenchのバージョンを下げたら接続できました...
8.0.33で接続を確認できています。
エラーが発生した際の環境情報
- Mac Book Pro M3
- Sonoma 14系
- MySQL Workbench 8.0.38(2024/10/16時点で最新)
エラー発生時に確認したこと
- 接続情報は正しいか(System Profileなどの設定は行なっていません)
- 接続方式、ホスト名、ポート、ユーザー名、パスワード、スキーマ
- コンテナは起動できているか
- 接続時の認証プラグインが「mysql_native_password」になっているか
下記コマンドで確認できます。
mysql>SELECT User, Host, Plugin FROM mysql.user;
→my.cnfの「mysql_native_password」を「caching_sha2_password」に変更してコンテナを再起動しても状況は変わらなかったです。
おわりに
認証プラグインを読み込めていなかったようでしたが、
MySQL Workbench側で設定箇所を特定できなかったため、バージョンを変えて再インストールを試したところ接続できました。まさか沼るとは思っていませんでした。