2012-03-08 14 views
11

người dùng sao lưu có vai trò BackupAdmin và TẤT CẢ đặc quyền (quyền đối tượng, DDL, GRANT).Đó là những đặc quyền thích hợp để mysqldump cho các truy cập lỗi bị từ chối khi thực hiện 'SELECT INTO OUTFILE'.?

Cách duy nhất để làm việc đó là cung cấp vai trò DBA cho tài khoản dự phòng, nhưng đó là một nguy cơ bảo mật nên tôi chỉ muốn cấp cho nó quyền hạn cần thiết. Chúng là gì?

+0

Bạn có chắc chắn, rằng mật khẩu là chính xác? Đối với SELECT INTO OUTFILE, chỉ cần một privelege cần thiết: SELECT_PRIV –

+0

Mật khẩu là chính xác vì tôi đã thử với chính xác cùng một mã nhưng sau khi cho nó vai trò DBA và nó hoạt động tốt. – Joe

+0

Tôi phát hiện ra rằng Workbench không cho phép sao lưu các quyền cho GRANT FILE. Lệnh nào để thực hiện điều đó cho người dùng? http://dev.mysql.com/doc/refman/5.0/es/grant.html – Joe

Trả lời

15

Bạn cần có đặc quyền FILE để được phép sử dụng SELECT...INTO OUTFILE, có vẻ như những gì mysqldump --tab sử dụng để tạo kết xuất phân cách bằng tab.

Đặc quyền này là global, có nghĩa là nó chỉ có thể được cấp "ON *.*":

GRANT FILE ON *.* TO 'backup'@'%'; 
+1

Và lý do cần có các đặc quyền này là các tệp được tạo trên ** server ** nếu bạn đang chạy lệnh chống lại một máy chủ DB từ xa. Cảnh giác với việc tiêu diệt các host bằng cách lấp đầy không gian đĩa. –

Các vấn đề liên quan