MySQL Workbenchに繋げない。ailed to connect to mysql at ★ with user root

ゆっくり進めるんだ
Failed to connect to mysql at ★ with user root、Host’★’ is not allowed to connect to this Mysql server

それぞれ直訳すると、
ailed to connect to mysql at ★ with user root
→ユーザー root で ★ の mysql に接続できませんでした
Host’★’ is not allowed to connect to this Mysql server
→ホスト ‘★’ は、この Mysql サーバーへの接続を許可されていません
※★は各自で設定したものがでてくるので、内容はそれぞれ違います。IPアドレス。
MySQL Workbenchにつなごうとしたときに出てきたエラー。
入力ミスの可能性があるので、まずは必ず、間違いなく正しく入力しているか確認。
- connection name(好きに入力)
- Hostname(LinuxのIPアドレス)
- Username(root)入力
上記が間違いないのにtest connectionしたらエラーが出る場合を検討。
私の場合、パスワード筆頭に入力に間違いはなく、コンテナに入り MySQL へアクセスすると正常に起動していたのにこのエラー。
→指定したユーザーに、外部からのアクセス権がなかったのことが原因だった。
実際にコンテナ上の MySQL にて以下を実行すると、
select user, host from mysql.user;

指定ユーザー(sample_user)の host が localhost と…あれ?!
172.20.%・・・・・あれ????
(授業を受けていたら分かるはず…)
172.20.%のところは、ネットワークアドレスに前方一致するワイルドカードを表現しているから、それぞれちゃうはずなんです。
違うんですよ。
よく分からんからって流し読みしていたら駄目ですね。ここは各自のIPアドレスが反映されていなきゃダメなんです。
なので流れとしてはこうなります。
- mysqlにログインしなおす
- IPアドレスを反映したものに変更
- もう一度MySQL Workbenchに情報を入力しなおしてtest connection
mysqlにログインしなおす
プロンプトが、入力画面で一番左にでてるやつがmysql>だったら、現在あなたはmysqlを操作している状況。
root@localhost ~]#だったらmysqlコマンド使ってログインしなおそう。
IPアドレスを反映したものに変更
もしIPアドレスが192.172.20.22だったら、172.20.%あってる。
自分のIPアドレスで考えてみよ~。
IPアドレスを調べたいときは、linuxに戻ってip aコマンド。sqlコマンド状態じゃないよ。
外部からの接続設定
grant all privileges on *.* to root@’各自のIPを反映したもの’ identified by ‘設定したパスワード’;
もう一度MySQL Workbenchに情報を入力しなおしてtest connection
mysqlで反映した情報をMySQL Workbenchでもちゃんと反映させなきゃ、当然ながらつながらない。
1つずつ確認

私はこれでつながった。検討を祈ります。
もう1回PDFと自分が打ち込んだものを確認して、がんばろう。
関連記事


授業を進めるにあたって気をつけたい基本的なこと
- 授業配信期間とスケジュール確認をする
- 早め早めに取り組む
- 締め切り日や大型連休はアクセスが集中して繋がりにくいときがある
- 頑張りすぎない
- 疲れたときや演習で躓いたときは寝るか休む
- ノートをとることを目的にしない。なにを勉強したいかに集中
履修関係
勉強に役立つツール
不具合があったとき
授業・勉強メモ
授業を進めるにあたって気をつけたい基本的なこと
- 授業配信期間とスケジュール確認をする
- 早め早めに取り組む
- 締め切り日や大型連休はアクセスが集中して繋がりにくいときがある
- 頑張りすぎない
- 疲れたときや演習で躓いたときは寝るか休む
- ノートをとることを目的にしない。なにを勉強したいかに集中