macでのmysql ver 8.* の環境設定について

以下ページを参考にして環境構築は成功。

まず経緯として、macではよく使われるらしいsqlのguiツール「sequel pro」をインストール(https://www.sequelpro.com/)

そしてターミナルの「brew install mysql」コマンドでmysqlインストール実施。

「mysql -u root」でログインができるところまで確認。※まず「mysql.server start」コマンドでmysqlのサーバを立上げる必要がある。

User-no-MBP:usr user$ mysql --version
mysql  Ver 8.0.19 for osx10.13 on x86_64 (Homebrew)
User-no-MBP:usr user$ mysql.server start
Starting MySQL
...... SUCCESS! 
User-no-MBP:usr user$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 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> 

sequel proを立ち上げて「標準」タブでホスト「127.0.0.1」、ユーザ名「root」で「接続テスト」をクリック➡︎失敗!

諸悪の根源は「caching_sha2_password」というパスワード形式だった。(どうやらこの形式ではバージョン8以降ではだめっぽい?)

コマンド「SELECT host, user, plugin FROM mysql.user;」で以下のように出てくる(一番下のユーザー 'root')がcaching_sha2_passwordになっているので、こいつを「mysql_native_password」に変更してあげる必要がある。

+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | caching_sha2_password |
+-----------+------------------+-----------------------+

●パスワード形式を変更するコマンド「ALTER USER 'root'@"localhost" IDENTIFIED WITH mysql_native_password BY '********';」を使用 ※「''」は消さずに、********の部分に任意のパスワードを変更する※'root'@"localhost"はあくまで今回使用しているだけなので、必ずしもこのユーザを使用しなければいけないということでは無い

mysql> SELECT host, user, plugin FROM mysql.user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
| localhost | root             | mysql_native_password |
+-----------+------------------+-----------------------+

3カラム目の「plugin」が変わったことがわかる。

この状態で再度sequel pro に接続を試みると成功する。

この記事が気に入ったらサポートをしてみませんか?