2010年11月2日火曜日

mysqlのviewでdefinerを変更する

他の環境で動いているDBのダンプをとって、こっちの環境にいれたときなどユーザのDEFINERがちがっていてうまくデータを挿入できないことなんかがあります。その時の対処方です。

先ずは、既存のviewのcreate文を取得します。

SHOW CREATE VIEW [VIEW_NAME]


で、それからcreate 部分をalterに変えて、DEFINER部分を目的のユーザとホストに変更します。

ALTER ALGORITHM=UNDEFINED DEFINER=`new-user`@`new%.test.environment.internal` SQL SECURITY DEFINER VIEW `table`.`V_view` AS select ....


Ref: mysql doc

0 件のコメント: