LoginSignup
10

More than 5 years have passed since last update.

MySQLでViewを使ってるDBの複製でエラーが出た

Last updated at Posted at 2014-06-10

やってた事

hoge1 ユーザーの hoge1_db を
hoge2 ユーザーの hoge2_db にコピーしたい。

phpMyAdminでhoge2ユーザーを作り、root権限でhoge1_db を hoge2_dbにコピーしようとしたら以下のエラー

#1356 - View 'hoge1_db.view_count' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

VIEWの権限がないみたいなエラー。

CREATE VIEWを編集する

ダンプファイルを作成する

mysqldump -u hoge1 -p --databases hoge1_db > hoge.dump

hoge.dump内のCREATE VIEW しているSQLのDEFINERを編集

CREATE ALGORITHM=UNDEFINED DEFINER=`hoge1`@`%` SQL SECURITY DEFINER VIEW `view_count` AS ...

↓

CREATE ALGORITHM=UNDEFINED DEFINER=`hoge2`@`%` SQL SECURITY DEFINER VIEW `view_count` AS ...

リストア実行

mysql -u hoge2 -p hoge2_db < hoge.dump

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10