Giới thiệu
Với bản chất của cơ sở dữ liệu MySQL , chúng có xu hướng lưu trữ thông tin quý giá. Đó là lý do tại sao bạn phải có chính sách sao lưu để giữ thông tin này an toàn. Bạn có một số tùy chọn để sao lưu cơ sở dữ liệu MySQL trên máy chủ Linux . Bạn có thể viết một tập lệnh bash nhanh để đổ cơ sở dữ liệu vào máy chủ lưu trữ an toàn. Hoặc bạn có thể sử dụng chương trình Sao lưu MySQL miễn phí có tên là AutoMySQLBackup. Nếu bạn đang sử dụng chương trình này, bạn có thể muốn lưu trữ bất kỳ bản sao lưu nào được tạo ra ngoài máy chủ. Xem bài viết của chúng tôi về cách đồng bộ hóa tệp và thư mục từ máy chủ Linux với OneDrive . Hãy cùng cài đặt AutoMySQLBackup và định cấu hình sao lưu cơ sở dữ liệu.
Cài đặt AutoMySQLBackup
Bạn có thể cài đặt AutoMySQLBackup từ kho Ubuntu bằng cách chạy lệnh sau với quyền root:
sudo apt-get install automysqlbackup
Sau khi cài đặt, tập lệnh sẽ tự động chạy mỗi ngày một lần. Bản sao lưu sẽ được lưu trữ trong thư mục:
/var/lib/automysqlbackup
Xác minh AutoMySQLBackup
Để xác minh AutoMySQLBackup đã được định cấu hình đúng cách, bạn có thể chạy nó theo cách thủ công thay vì đợi nó chạy lần đầu tiên.
Để chạy AutoMySQLBackup theo cách thủ công, hãy thực hiện lệnh sau với quyền root:
sudo automysqlbackup
Bây giờ hãy liệt kê tất cả các tệp trong /var/lib/automysqlbackup:
$ ls -R /var/lib/automysqlbackup/
/var/lib/automysqlbackup/:
daily monthly weekly
/var/lib/automysqlbackup/:
information_schema performance_schema sys
/var/lib/automysqlbackup/daily/sys:
sys_2023-12-03_06h48m.Sunday.sql.gz ...
Nếu mọi thứ hoạt động chính xác, bạn sẽ thấy các tệp .sql.gz trong danh sách như hiển thị ở trên.
Bạn cũng nên thường xuyên xác minh các tập tin sao lưu cơ sở dữ liệu của mình. Bạn cũng có thể cân nhắc việc thường xuyên sao chép các bản sao lưu cơ sở dữ liệu của mình sang một máy chủ khác.
Cấu hình AutoMySQLBackup
Nếu bạn muốn thay đổi tùy chọn cấu hình, bạn có thể chỉnh sửa tệp này:
/etc/default/automysqlbackup
Tại đây, bạn có thể định cấu hình cơ sở dữ liệu mà bạn muốn sao lưu hoặc loại trừ khỏi quá trình sao lưu, v.v.
Để thay đổi tần suất chạy automysqlbackup
, bạn có thể điều chỉnh cron job của nó.
Thông tin bổ sung về cấu hình automysqlbackup có thể được tìm thấy ở đây:
# Tên người dùng để truy cập máy chủ MySQL, ví dụ: dbuser
#CONFIG_mysql_dump_username='root'
# Mật khẩu để truy cập máy chủ MySQL, ví dụ: password
#CONFIG_mysql_dump_password=''
# Tên máy chủ (hoặc địa chỉ IP) của máy chủ MySQL, ví dụ: localhost
#CONFIG_mysql_dump_host='localhost'
# Vị trí thư mục sao lưu, ví dụ: /backups
#CONFIG_backup_dir='/var/backup/db'
# Danh sách cơ sở dữ liệu để sao lưu hàng ngày/hàng tuần, ví dụ: ( 'DB1' 'DB2' 'DB3' ... )
# đặt thành (), tức là trống, nếu bạn muốn sao lưu tất cả cơ sở dữ liệu
#CONFIG_db_names=()
# Danh sách cơ sở dữ liệu để sao lưu hàng tháng.
# đặt thành (), tức là trống, nếu bạn muốn sao lưu tất cả cơ sở dữ liệu
#CONFIG_db_month_names=()
# Danh sách TÊN DB cần LOẠI TRỪ nếu DBNAMES trống, tức là ().
#CONFIG_db_exclude=( 'information_schema' )
# Bạn muốn sao lưu hàng tháng vào ngày nào? (01 đến 31)
# Nếu ngày được chọn lớn hơn ngày cuối cùng của tháng
# thì sẽ thực hiện vào ngày cuối cùng của tháng.
# Đặt thành 0 để tắt sao lưu hàng tháng.
#CONFIG_do_monthly="01"
# Bạn muốn sao lưu hàng tuần vào ngày nào? (1 đến 7 trong đó 1 là thứ Hai)
# Đặt thành 0 để tắt sao lưu hàng tuần.
#CONFIG_do_weekly="5"
# Đặt vòng quay sao lưu hàng ngày. GIÁ TRỊ*24 giờ
# Nếu bạn chỉ muốn giữ lại các bản sao lưu của ngày hôm nay, bạn có thể chọn 1,
# tức là mọi thứ cũ hơn 24 giờ sẽ bị xóa.
#CONFIG_rotation_daily=6
# Đặt vòng quay để sao lưu hàng tuần. GIÁ TRỊ*24 giờ
#CONFIG_rotation_weekly=35
# Đặt vòng quay để sao lưu hàng tháng. GIÁ TRỊ*24 giờ
#CONFIG_rotation_monthly=150
# Đặt cổng cho kết nối mysql
#CONFIG_mysql_dump_port=3306
# Bao gồm CREATE DATABASE trong bản sao lưu?
#CONFIG_mysql_dump_create_database='no'
# Thư mục và tập tin sao lưu riêng biệt cho từng DB? (có hay không)
#CONFIG_mysql_dump_use_separate_dirs='yes'
# Chọn kiểu nén. (gzip hoặc bzip2)
#CONFIG_mysql_dump_compression='gzip'
# Bỏ ghi chú để kích hoạt! Điều này sẽ cung cấp cho các thư mục quyền rwx------
# và các tập tin quyền rw-------
#umask 0077
# dry-run, tức là thể hiện những gì bạn sẽ làm mà không thực sự làm việc đó
# không hoạt động: =0 hoặc đã nhận xét
# hoạt động: không có chú thích VÀ = 1
#CONFIG_dryrun=1
Vì vậy, các mặc định trong tệp này sẽ ổn đối với hầu hết mọi người và hầu hết các trường hợp sử dụng. AutoMySQLBackup sẽ dump các cơ sở dữ liệu cần thiết hàng ngày vào thời điểm đã chỉ định. Trong tệp, bạn sẽ muốn thay đổi các phần sau. Nhưng đừng lưu bản sao lưu của bạn vào cùng một máy chủ. Mục đích là gì? Sử dụng một vị trí từ xa như Máy chủ NFS . Bạn có thể tạo một vị trí như vậy với giá vài pound từ VPS NVMe .