今までEcelipseでJavaの開発環境を整えていたのですが、VSCodeでJavaの開発環境を整えて、Mysqlに接続しようとしたら2時間ぐらい手こずったので、やり方を備忘録として残しておく。
どうせ次やる時には忘れてるだろうからね…。
本題に関係ないが、なぜ、VSCodeで開発環境を整えているのかというと、Dockerを使用し、なるべくローカル環境に何かを入れないようにしようとすると、EclipseじゃきついのでVSCodeで開発環境を整えています。
環境情報
・macOS Sequoia
・Docker
・VSCode
・MySQL:8.0
・Java:17
前提
VSCode拡張機能のMySQlがすでにインストールされていること。
MySQL - Visual Studio Marketplace
Extension for Visual Studio Code - MySQL management tool
MySQLが起動していること。
手順1
以下のコマンドを叩いて、MySQLが動いているコンテナのIPアドレスを取得
Bash
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <コンテナ名かコンテナID>
手順2
MySQLの「+」押下。
押下後にhost名などを聞かれるので以下を入力

host:手順1で確認したIPアドレス
user:接続user
password:接続password
ssh:設定なければ空白のままでOK
接続userや接続passwordはコンテナの中だったりdocker-compose.ymlなどで定義していると思うので確認すればわかる。
接続が成功すると以下のような感じでMySQL内のデータベースが見れるようになる。

補足
もし、「ER_NOT_SUPPORTED_AUTH_Client」というエラーが出た場合の対処法も載せておく。
MySQLにrootでログイン。
Bash
mysql -u root -p
ユーザの認証方式を変更。
Bash
ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
認証方式が変更されているかの確認。
Bash
ELECT user, plugin FROM mysql.user WHERE user = 'user';
これで自分は解決した。
AIが優秀すぎて助かるわ。
最近DynamoDBとかしか触ってなくて、SQLの環境の整え方とか忘れた。
コメント