Tôi đang sử dụng automysqlbackup
tậ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 automysqlbackup
hoặ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ể root
khóa information_schema
bà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.sql
thủ công không tạo ra lỗi, nhưng không kết xuất information_schema. automysqlbackup
khô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.