情報工学生の本読みダイアリー

これからのIT時代を生き抜くコツを詰め込んだブログ。

【秒で解決】VSCodeでJavaとMySQLを一緒に使いたい(Mac)

簡単に

MySQL拡張機能を入れて適応して、一覧に出てくるMySQL+ボタンをクリックして、host, user, password などを順に入力。
この際のhost とuser がわからなければターミナルで確認
仕上げにエラーをMySQLから3行クエリ実行VSCode をリフレッシュして完成!

です。

詳しく

1. VSCode にMy SQL拡張機能をインストール

「Shift + Command + X」で「拡張機能」のメニューを開きます。
そして、MySQLと検索し、以下の拡張機能をダウンロードします。自動的に有効になるはずです。

f:id:rhe_9:20210104225539p:plain

 

2. メニューバーのMySQLから読み込む

f:id:rhe_9:20210104230312p:plain

有効になっていれば、上記のようにメニューバーにMYSQLが現れるはずです。
このメニューバーを開くと、右に「+」ボタンが現れます。これをクリックして、順にhost, user, password などを入力していきます。

ここで問題が発生しました。

これ、host とuser ってなんだ?

とりあえず自分のパソコンの名前などを入れて試したのですが、エラーが直りませんでした。
※エラーは必ず出ますが、その対処法は後ほど出てきます。

そこで、調べたのがこのサイト。
そうです。そもそも、パソコン自体のホスト名とMySQL内のホスト名が同じとは限らないのです。

パソコン自体のホスト名は

$ uname -n

で確認することができます。しかし、MySQL内部のホスト名は、別の方法で調べることができます。まずは、MySQLにログインします。

$ mysql -u root

私の場合、これを入れてあげるとログインできます。

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 24

Server version: 8.0.22 Homebrew

 

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

そして、ログインしたら次を入力します。

mysql> SELECT user, Host FROM mysql.user; 

すると、このように出力されます。

+------------------+-----------+

| user             | Host      |

+------------------+-----------+

| mysql.infoschema | localhost |

| mysql.session    | localhost |

| mysql.sys        | localhost |

| root             | localhost |

+------------------+-----------+

4 rows in set (0.00 sec)

全然違うやんけ!!!
最初ホスト名を「YamadaTaronoAir」のようなものだと思っていたので、びっくり仰天です。つまり、入力しなければならないのは「localhost」と「root」だったわけです。root は自分で作ったユーザなので、それだとわかりました。

ということで、ユーザ名などがわからない場合はこのコマンドを試してくださいね。

mysql> SELECT user, Host FROM mysql.user; 

 

3. エラーを解消するためMySQL に入ってコマンドを打つ

host, user もわかったところで、一安心。でも、エラーが表示されているはずです。こんな感じ。

f:id:rhe_9:20210104232021p:plain

そこで、ターミナルでroot権限でMySQLにログインします。

$ mysql -u root

 そして、次の3つのコマンドを実行します。実行結果も載せています。

1つ目

ALTER USER "root"@"localhost" IDENTIFIED WITH 'mysql_native_password' BY "";

Query OK, 0 rows affected (0.01 sec)

2つ目

USE mysql;

Database changed

3つ目

SELECT plugin FROM user WHERE User = 'root';

+-----------------------+

| plugin                |

+-----------------------+

| mysql_native_password |

+-----------------------+

1 row in set (0.00 sec)

localhost は変えなくてもいいかもしれませんが、"root" は適宜ご自身のユーザ名に合わせてください!

 

4. VSCode に戻り、リフレッシュ

これで設定が完了しました。先程VSCodeで作ったところに戻り「右クリック」から「Refresh」 を選択します。これでエラーが消え、あなたが作成したデータベースが出現するはずです!

f:id:rhe_9:20210104232814p:plain

 

 まとめ

問題は解決したでしょうか?ここまで読んでいただきありがとうございました!