Tôi có một người sử dụng MySQL gọi bãi với perms sau:Các GRANT tối thiểu cần thiết bởi mysqldump để bán một lược đồ đầy đủ? (Trigger đang thiếu !!)
GRANT USAGE ON *.* TO 'dump'@'%' IDENTIFIED BY ...
GRANT SELECT, LOCK TABLES ON `mysql`.* TO 'dump'@'%'
GRANT SELECT, LOCK TABLES ON `myschema`.* TO 'dump'@'%'
Tôi muốn đổ tất cả các dữ liệu (bao gồm trigger và thủ tục) bằng cách sử dụng bãi người dùng. Tôi gọi mysqldump theo cách sau:
mysqldump -u dump -p --routines --triggers --quote-names --opt \
--add-drop-database --databases myschema > myschema.sql
Mọi thứ đều OK với các tập tin đổ trừ các gây nên, họ đang thiếu !!
Các trigger có bán phá giá một cách chính xác nếu tôi cố gắng mysqldump với gốc sử dụng MySQL:
mysqldump -u root -p --routines --triggers --quote-names --opt \
--add-drop-database --databases myschema > myschema.sql
Vì vậy, tôi đoán nó là một vấn đề perms ... các tài trợ thêm là những gì tôi bãi MySQL nhu cầu của người dùng cho việc đổ đầy đủ một cách chính xác?
Đối với 5.5 trở lên, bạn thực sự không cần đặc quyền TRIGGER để kết xuất mã kích hoạt. – bluecollarcoder
Tôi đang sử dụng 5.5 và cần đặc quyền TRIGGER để kết xuất mã kích hoạt. – heuri
Trong trường hợp của tôi có vẻ như tôi cũng cần 'LOCK TABLES' trên cơ sở dữ liệu mà tôi đang cố gắng tự kết xuất ... bằng cách sử dụng '5.5.49-MariaDB' – 0xC0000022L