MySQL: Sequel ProでMySQLに接続できない時

mysql, sequelpro, サーバ, データベース

みなさん、こんにちは。
Sequel Proを使用してmysqlをいじっているのですが、ひさしぶりに初めから環境構築してみたら、どうやってやったか全然覚えていなくてアタフタしてしまったPQTomです。
久しぶりに前やったことをやってみよう。と思ったけど、、、、どうやってやったっけ?ってなることありません?
見返してみて、よく過去の自分こんなことできたなって思う時。
先日、僕の使っているデータベース管理のためのアプリケーション、Sequel Proを友人も使いたい!ということだったので、一から教えてあげようってことになりました。
しかし、、、
あれ?データベースに接続できない。。。
初めどうやってやったっけ。。。。
という、なんともなさけないことが起きてしまいました。
となりで僕の作業を見ていた友人に呆れたような顔をされ。。。。しんどい笑
なぜだ。どうしてこうなった。
今回は、このような失敗を繰り返さないためにSequel Proを使用し、ローカルのデータベースに接続した話について書いていこうと思います。
これまた久しぶりのtech投稿です。

目次

環境

使用した環境はmacOSです。
その他のOSについては、、、すいません。
Sequel Proを使用し、ローカル環境MySQLデータベースサーバに接続します。

Macbook Air
Sequel Pro
MySQL(ローカル)

以上。

MySQLのインストール

まずデータベースを準備します。
無難にデータベースはMySQLを使用していきます。
Macの良さとしてターミナルで何でもできるとこだと思ってます。
ので、ターミナルでちゃちゃっとインストールしていきましょう。
MySQLのインストールに使用するパッケージマネージャーはHomebrewでいきます。

まずHomebrewの準備。

 https://brew.sh/index_ja

上記のとっからhomebrewをちゃちゃっとインストールしちゃってくだせー。
終わったらMySQLのインストールです。
ターミナルで

brew install mysql

以上。簡単ですね。
もし、動かんかったら

brew update

でhomebrewを最新の状態にしてから試してみてください。

Sequel Proのインストール

さー次はSequel Proのインストールです。

brew cask install sequel-pro

これでインストール完了。
起動しよう!

こんな感じの画面ですね。

Sequel ProでMySQLサーバに接続

ここからが、問題でした。
MySQLを準備してSequel Proも用意できた。
あとは繋ぐだけ。
必要な情報は名前、ホスト、ユーザ名、パスワード。
名前は何でもいいです。適当に”local”とでもしておきましょう。
ホストはローカル環境なので127.0.0.1
ユーザ名は管理者root
パスワードは設定していないのでなし。
まとめると

名前:local
ホスト:127.0.0.1
ユーザ名:root
パスワード:

ということになります。
よし!実行!と思ったら、

MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found

という謎のエラーが。
前やった時はこんなんなかったぞ!
ということで、いろいろ調べた結果、
どうやら、MySQL8から認証方式が変わったらしい。
もともとmysql_native_passwordというものからcaching_sha2_passwordってやつになったみたいで。
まだ対応していないアプリを使用して接続しようとすると弾かれるみたいです。
なのでここでMySQL自体の認証を古いやつに戻して、現在のSequel Proでも接続できるように直します。
まずターミナルからMySQLに入ります。

mysql -u root

そしたら認証を戻していきます。

ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY PASSWORD;

これで前のMySQLの認証方式に戻りパスワードを設定しました。
今回、パスワードはPASSWORDとなっていますが、そこは勝手に好きなものにしちゃってください。
MySQLサーバを抜けて、一応ここでサーバを再起動しときます。

mysql.server restart

よし、Sequel Proに戻りましょう。
前入力した情報にさっき設定したパスワードを加えます。
まとめると

名前:local
ホスト:127.0.0.1
ユーザ名:root
パスワード:PASSWORD

ということになります。
すると、

無事接続が完了しました。

まとめ

今回、Sequel Proを使用してローカルのMySQLサーバに接続しました。
特に大したことなかったのですが、一回つまずくとなかなか時間がかかりましたね。
解決策探すのに。
みなさんも同じ問題に当たった時には参考にしてみてください。
かなり長くなっちゃった。。。笑
ではこのへんで。

でわでわ。

参考資料

[1] Mac OSX High Sierra開発環境セットアップのメモ(4) MySQL8.0, https://chaika.hatenablog.com/entry/2018/07/14/090000
[2] Sequel Pro and MySQL connection failed, https://stackoverflow.com/questions/51179516/sequel-pro-and-mysql-connection-failed