Khôi phục cơ sở dữ liệu từ bản sao lưu là một quy trình quan trọng trong quản trị cơ sở dữ liệu, đảm bảo rằng bạn có thể phục hồi dữ liệu khi gặp sự cố hoặc lỗi. Bài viết này sẽ hướng dẫn bạn từng bước để khôi phục cơ sở dữ liệu từ bản sao lưu trong PostgreSQL.
PostgreSQL cung cấp hai phương pháp chính để khôi phục cơ sở dữ liệu từ bản sao lưu:
pg_basebackup
hoặc thông qua các phương pháp sao lưu nhị phân khác.Để khôi phục một cơ sở dữ liệu từ bản sao lưu SQL, bạn có thể thực hiện các bước sau:
Trước tiên, bạn cần tạo một cơ sở dữ liệu mới để khôi phục vào. Bạn có thể thực hiện điều này bằng cách sử dụng lệnh createdb
trong terminal hoặc sử dụng psql
.
createdb ten_cua_co_so_du_lieu_moi
Hoặc từ psql
:
CREATE DATABASE ten_cua_co_so_du_lieu_moi;
Sử dụng lệnh psql
để khôi phục dữ liệu từ tệp sao lưu. Giả sử tệp sao lưu của bạn có tên là backup.sql
, bạn có thể chạy lệnh sau:
psql -d ten_cua_co_so_du_lieu_moi -f backup.sql
Trong đó:
-d
chỉ định cơ sở dữ liệu đích.-f
chỉ định tệp sao lưu.Nếu bạn đã tạo bản sao lưu nhị phân, quy trình khôi phục sẽ khác một chút.
Trước khi khôi phục, bạn cần dừng dịch vụ PostgreSQL để tránh xung đột.
sudo systemctl stop postgresql
Sao chép các tệp từ bản sao lưu nhị phân vào thư mục dữ liệu của PostgreSQL. Giả sử bạn đã tạo bản sao lưu nhị phân trong thư mục /path/to/backup
, bạn sẽ sao chép tất cả các tệp vào thư mục dữ liệu của PostgreSQL.
sudo rsync -av /path/to/backup/ /var/lib/postgresql/12/main/
Sau khi đã sao chép tệp, bạn có thể khởi động lại dịch vụ PostgreSQL.
sudo systemctl start postgresql
Sau khi hoàn tất quá trình khôi phục, bạn nên kiểm tra xem dữ liệu đã được khôi phục thành công hay chưa. Bạn có thể kết nối vào cơ sở dữ liệu và thực hiện một số truy vấn đơn giản để xác minh tính toàn vẹn của dữ liệu.
psql -d ten_cua_co_so_du_lieu_moi
Sau đó thực hiện một số truy vấn như:
SELECT * FROM ten_bang;
Khôi phục cơ sở dữ liệu từ bản sao lưu là một quy trình cần thiết trong việc quản lý và bảo trì cơ sở dữ liệu. Bằng cách làm theo các bước hướng dẫn ở trên, bạn có thể đảm bảo rằng bạn có thể khôi phục dữ liệu của mình một cách nhanh chóng và hiệu quả.