Lỗi khi import MySQL DB dump với view schema

Khi export DB schema từ một máy (source) và import vào máy khác (dest), bị lỗi kiểu như sau:

ERROR 1356 (HY000) at line 601: View ‘v_abc’ references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

Lỗi có thể do như sau: Ở trên máy source, view được định nghĩa bởi nhiều Mysql user khác nhau, lúc thì là root, lúc thì là user của DB đó (ví dụ “abc”). Khi export schema, thông tin này cũng được xuất ra, view definition có dạng như sau:
CREATE ALGORITHM=UNDEFINED DEFINER=`abc`@`localhost` ...

Trong khi user dùng để import DB schema lại khác đi (ví dụ root)
mysql -u root -p abc < dump.sql

Sẽ gây ra lỗi trên.

Phương án tạm thời là thay thế DEFINER trong câu lệnh tạo VIEW bằng user dùng để import DB (ví dụ `root`@`localhost`).
Phương án đúng (chưa kiểm chứng) là tạo MySQL user “abc”.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: