Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Giải pháp backup và khôi phục dữ liệu lớn cho MySQL & MariaDB - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Trong hướng dẫn này, chúng tôi sẽ giúp bạn hiểu cách sao lưu và khôi phục cơ sở dữ liệu (Backup & Restore Database) trong MySQL & MariaDB, đặc biệt khi bạn đang làm việc với dữ liệu lớn.

Vì sao cần 1 giải pháp backup database có dữ liệu lớn?

Tôi đã có kinh nghiệm làm việc với cơ sở dữ liệu MySQL có dung lượng lớn, lớn hơn 10GB và hàng triệu bản ghi. Với một hệ thống quy mô lớn như vậy, việc sao lưu dữ liệu hàng ngày là một nhiệm vụ thường xuyên và quan trọng, bởi vì mỗi ngày có hàng trăm, hàng ngàn bản ghi mới được thêm vào cơ sở dữ liệu. Trong một môi trường với cơ sở dữ liệu lớn như vậy, việc xuất dữ liệu một cách nhanh chóng, an toàn và không gây ảnh hưởng đến hoạt động của hệ thống là điều tối cần thiết.

Giải pháp backup database có dữ liệu lớn

Sử dụng công cụ mysqldump của MySQL và MariaDB, với command sau:

mysqldump -h <mysql_host> -u<mysql_user> -p --single-transaction --quick --lock-tables=false <database_name> | gzip > /home/vinasupport.com/backup.sql.gz

Nhập pass của mysql user để thực hiện backup database

Với:

  • <mysql_host>: Hostname, địa chỉ IP của MySQL Server
  • <mysql_user>: MySQL User
  • <database_name>: Tên của MySQL Database
  • –single-transaction: Đặt MySQL ở mode REPEATABLE READ, nó là hữu dụng bảng CSDL sử dụng kiểu InnoDB mà không block ứng dụng (Non-Blocking)
  • –quick: Nó sẽ trả về 1 bản ghi ở 1 thời điểm thay vì trả về cả bảng CSDL
  • –lock-table=false, sẽ không khóa bảng khi export. Nó đảm bảo ứng dụng hoạt động khi export dữ liệu.
  • gzip: Output file dướng dạng dữ liệu nén .gz (Giảm dung lượng file output)

Kết hợp 3 tham số –single-transaction, –quick, –lock-table sẽ giúp cho việc export dữ liệu được an toàn, ko ảnh hưởng tới ứng dụng đang chạy, tốn ít tài nguyên của hệ thống.

Khôi phục Database

Để khôi phục lại dữ liệu đã backup ở trên chúng ta cần thực hiện

1. Giải nén file gz

gunzip backup.sql.gz

2. Import file sql

Sử dụng command mysql của MySQL & MariaDB

mysql -h <mysql_host> -u<mysql_user> -p <database_name> < backup.sql

Nhập password của MySQL User

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *