エラーの内容
システム構築の勉強の過程で
mac book airのローカルにLAMP環境を構築中、
ターミナルからmysqlにログインし
SHOW DATABASES;コマンドを叩いたところ以下のエラーに遭遇しました。
ERROR 1356 (HY000): View 'information_schema.SCHEMATA' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
解決方法
データベースの扱いに慣れていないこともあり
解決までに時間がかかってしまいましたが
自分の場合最終的には以下の2つのコマンドを叩くことで解決しました。
mysql > update user set Select_priv = 'Y' where User = 'mysql.infoschema'; mysql > flush privileges
やったこととしては
mysqlデータベースのuserテーブルの中にある
mysql.infoschemaレコードのSelect_priv カラムの値をNからYに変更し、
その後権限設定をリフレッシュしただけです。
そもそもなぜこのような手順が必要になったかという原因については
設定の最初の方で自分が一度rootユーザーを削除して、
その後再設定していたことが関係しているように思われます。(この辺もちゃんと整理しておかなくては…汗)
ちなみにこの解決法は自分で閃いたわけではなく、
元は下記の中国のQAサイトで見つけたものです。
https://blog.csdn.net/weixin_36931308/article/details/103767758
謝謝!
コメント