mysqlで適切な権限があるにも関わらずgrant文でエラーが出た場合の対処法

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

エラー内容

調査した事

mysql.user テーブルは問題なさそう
userテーブルが何らかの原因で空になってしまい、rootユーザが消えてしまった場合は
rootユーザ追加で対処できますが、今回はこのパターンではなさそうです。

Superユーザ権限もありました。

解決策

mysql のversionをよく見てみたところ
5.1を利用していたはずが、いつの間にか5.5になっていました。
開発用途サーバのため他パッケージのVerUpに釣られてUpgradeされてしまっていたようです。
/var/log/yum.log に updateされた事がロギングされていました。

非常に分かりづらいエラーでしたが、テーブル構成が古いバージョンのままでは
ユーザ作成が出来ない事象に当ってしまっていたようでした。

mysql_upgradeの実行

mysql.user テーブルのカラムBefore/After

Before

After

結果

正常にユーザ追加できました

投稿者プロフィール

takashi
Japan AWS Ambassadors 2023, 2024
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

Japan AWS Ambassadors 2023, 2024 開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。