Tự động backup MySQL / MariaDB bằng CronTab

Hôm nay mình sẽ hướng dẫn các bạn cách sao lưu và khôi phục MySQL hoặc MariaDB tự động bằng CronTab.

Thực hành MySQL / MariaDB
Thực hành MySQL / MariaDB

Xác định database cần backup

Đầu tiên cần xác định xem các bạn cần sao lưu database nào. Đăng nhập vào MySQL / MariaDB bằng lệnh

user@server~: mysql -u USERNAME -p

Nếu sử dụng root để đăng nhập thì không cần phải nhập pass, vì MySQL / MariaDB có cơ chế đăng nhập bằng socket

user@server~: sudo mysql -u root
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| project1           |
| important_db       |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

5 rows in set (0.012 sec)

Mình muốn backup project1 đến thư mục /home/user/ thì mình sẽ sử dụng câu lệnh

user@server~: sudo mysqldump -u root --databases project1 > /home/user/project1.sql

Nếu bạn sử dụng tài khoản khác để đăng nhập thì bạn có thể sử dụng tùy chọn -p và mật khẩu viết liền nhau, không có dấu cách.

Quảng cáo

Ủng hộ website

user@server~: mysqldump -u jessy -pMat_khau --databases project1 > /home/user/project1.sql

Tạo CronTab sao lưu tự động

Các bạn có thể xem thêm bài

Để tạo CronTab để lên lịch sao lưu các bạn sử dụng câu lệnh dưới đây

user@server~: crontab -e
Nếu muốn chạy crontab với quyền root thì dùng lệnh
user@server~: sudo crontab -e

Sau đó thêm dòng sau với dưới cùng của đoạn code sau để chạy backup lúc 2h sáng hàng ngày. Bạn có thể đặt lại thời gian như các bạn mong muốn.

0 2 * * * sudo mysqldump -u root --databases project1 > /home/user/project1.sql
Hoặc
0 2 * * * mysqldump -u jessy -pMat_khau --databases project1 > /home/user/project1.sql

Ấn Ctrl + X và Ctrl + O để thoát

Khôi phục lại database

Các bạn sử dụng lệnh sau để khôi phục lại database project1

user@server~: sudo mysql -u root < /home/user/project1.sql
hoặc
user@server~: mysql -u jessy -pMat_khau < /home/user/project1.sql

Như vậy là mình đã hướng dẫn các bạn sao lưu và khôi phục MySQL và MariaDB trên Ubuntu Server 20.10. Chúc các bạn thành công

Add Comment