この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
ちょっとしたミスで起きる内容です。
外部サーバーからアクセスするために、任意ホストからの root アカウントを作成するコマンドで「with grant option」を付けないことで発生します。
grant all privileges on *.* to root@"%";
上記で一見問題無さそうですが、「with grant option」を付けないとGRANT権限だけは付加されません。
grant all privileges on *.* to 'root'@'%' with grant option;
こちらが全権限を付加するコマンドですので、ご注意ください。
◎解決方法
直接サーバーにSSH等でログインすれば、GRANT権限付きの「localhost」のアカウントでMySQLログインできますので、再度GRANT権限を付け直してください。
そもそも、外部からrootでログインさせないのもセキュリティ上は有効なので、開放するのはあまりオススメできません。