今回は、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で接続を試してください。
自分はそこで接続できました。
という事で今回はこんな感じでエラーを解決しました。
もし不明点などありましたらご連絡ください!
それではまた明日☺️

コメント