sequel proで接続できない時の対処法(Mac)

全体

今回は、dockerの環境下でrailsを使って作業するにあたって sequel proを使おう! という事になりインストールして接続をテストすると、「接続に失敗しました」となります。

そして、その問題を解決すると今度は「アクセスが拒否されました」と表示され、またターミナルの中からmysqlにすら入ろうとするとAccess diendとなり入れなくなりました。

今回は、その問題の解決方法を解説して行こうと思います。

1. 「接続に失敗しました」の場合

これについては、Qiitaの記事でいいのがあったので参考にしてください。

404 Not Found - Qiita - Qiita

解決方法は、認証プラグインを変えるという事ですね。

一応コードも載せます。

まず、rootでsqlに入る

mysql -u root -p

それでプラグインを見てみる

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

caching_sha2_passwordをmysql_native_passwordに変更

mysql> ALTER USER 'root'@"localhost" IDENTIFIED WITH mysql_native_password BY '{password}';

んで確認

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

変わってますね?

そしたら、設定を反映する

mysql> FLUSH PRIVILEGES;

ここで一度sequel proで接続をテストしてみて接続できたらOKです。

自分の場合は、ここからもエラーが起きたので解説します。

「アクセスが拒否されました」とエラーが出まして

ターミナルでmysql -u root -p

で入ろうとしてもaccess deniedになり入ることもできなくなりました。

そこで、とりあえず考えたのはセーフモードで入ってrootのパスワードを

空にしてみてもう一度sequel proで接続を試すことでした。

いい記事があったので参考にしてください。

Mac ローカル環境の MySQL 8.x のrootパスワードを忘れた時のリセット方法 - Qiita
〜宣伝〜個人開発でエンジニア専門マッチングサービスを開発しましたので、是非未経験からエンジニア目指している人!現役エンジニアで教えたい人!使ってみてください!β版リリース記念キャンペーン中です!10名様限定、抽選でお好きな技術本1冊プレゼント…

この記事の実施方法12まで行った後に

再度sequel proで接続を試してください。

自分はそこで接続できました。

という事で今回はこんな感じでエラーを解決しました。

もし不明点などありましたらご連絡ください!

それではまた明日☺️

コメント

タイトルとURLをコピーしました