Tôi đang sử dụng automysqlbackuptập lệnh để kết xuất cơ sở dữ liệu mysql của mình, nhưng tôi muốn có một người dùng chỉ đọc để thực hiện việc này để tôi không lưu trữ mật khẩu cơ sở dữ liệu gốc của mình trong một tệp văn bản gốc.
Tôi đã tạo một người dùng như vậy:
grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
Khi tôi chạy mysqldump(thông qua automysqlbackuphoặc trực tiếp) tôi nhận được cảnh báo sau:
mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Tôi đang làm sai à? Tôi có cần tài trợ thêm cho người dùng chỉ đọc của tôi không? Hay chỉ có thể rootkhóa information_schemabàn? Chuyện gì đang xảy ra vậy?
Biên tập:
GAH và bây giờ nó hoạt động. Tôi có thể đã không chạy FLIV PRIVILEGES trước đây.
Như một bên, làm thế nào thường xảy ra tự động?
Biên tập:
Không, nó không hoạt động. Chạy mysqldump -u username -p --all-databases > dump.sqlthủ công không tạo ra lỗi, nhưng không kết xuất information_schema. automysqlbackupkhông đưa ra một lỗi.
mysqldump: mysqldump không kết xuất cơ sở dữ liệu Information_SCHema. Nếu bạn đặt tên cơ sở dữ liệu đó một cách rõ ràng trên dòng lệnh, mysqldump sẽ âm thầm bỏ qua nó Có vẻ như trang man đã hết hạn (và nó đưa ra cảnh báo) hoặcautomysqlbackupđang thực hiện một số kiểm tra bổ sung trên kết xuấtinformation_schema. Không chắc chắn đó là gì, nhưng nó không liên quan đến tài trợ của người dùng.