2014/04/03

mysql restore view 失敗

* DEFINERで指定したユーザーが存在して、検索対象のビューが参照しているテーブルの閲覧権限を持っていない場合
ERROR 1356 (HY000): View 'faa.view_aa' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
   
■MySQLでViewを使うときに注意すること
MySQL 5系からViewが利用可能となりました。
そんなView機能を利用していて、ネットワーク構成が変更になった場合には気をつけておかなければならないことがあります。
それは、DEFINER節とSQL SECURITY節についてです。
この2つの節の説明は以下のように述べられています。
    DEFINER節およびSQL SECURITY節はビューの呼び出しにおいて、アクセス権限をチェックするとき使用すべきセキュリティーコンテキストを規定します。
CREATE ALGORITHM=UNDEFINED DEFINER=`test`@`a-b-c.d.e` SQL SECURITY DEFINER VIEW `


で他のユーザは利用できなくなる。
利用できるようにgrantしましょう!restoreの前に調べて