Mysqldump là một ứng dụng được cung cấp bởi MySQL và MariaDB, thường được sử dụng để sao lưu cơ sở dữ liệu dưới dạng các tệp hệ thống. Thông thường, khi bạn thực hiện sao lưu bằng lệnh mysqldump thủ công, nó sẽ yêu cầu bạn cung cấp thông tin xác thực, bao gồm tên người dùng và mật khẩu, trước khi bạn có thể tiến hành sao lưu. Tuy nhiên, nếu bạn muốn tự động sao lưu cơ sở dữ liệu hàng ngày bằng cách sử dụng một tác vụ như cronjob, bạn cần giải quyết vấn đề xác thực mật khẩu.
Vì vậy, trong bài viết này, chúng tôi sẽ hướng dẫn bạn một phương pháp đơn giản sử dụng mysqldump để sao lưu cơ sở dữ liệu mà không cần phải nhập mật khẩu xác thực mỗi lần.
Bước 1: Chỉnh sửa tập tin cấu hình my.cnf của MySQL/MariaDB
sudo vi /etc/my.cnf
Với /etc/my.cnf là đường dẫn file my.cnf trên Linux Server.
Thêm user và pass của tài khoản có quyền trên CSDL của bạn. (Sau dong có nội dung là [mysqldump])
[mysqldump] user = vinasupport password = secret
Bước 2: Restart lại MySQL/MariaDB để nhận nội dung cấu hình đã được chỉnh sửa
sudo service mysqld restart
Bước 3: Kiểm tra bằng việc sử dụng mysql để export databse
mysqldump -u vinasupport --all-databases > backup.sql
Như vậy nếu mysqldump không yêu cầu các bạn nhập mật khẩu nữa thì việc cấu hình đã thành công.