【当ブログではアフィリエイト広告を利用しています】

[MySQL] ERROR 1044 (42000): Access denied for user ‘root’@’%’ to database …で権限を付加できない。

attention この記事は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でログインさせないのもセキュリティ上は有効なので、開放するのはあまりオススメできません。

ご意見・ご感想をお待ちしております。

いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。