SQL Sao lưu Cơ sở Dữ liệu: Hướng dẫn Chi tiết cho Người mới Bắt đầu
Xin chào các bạn, những nhà pháp sư cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới sao lưu cơ sở dữ liệu SQL. Đừng lo lắng nếu bạn là người mới – chúng ta sẽ bắt đầu từ những điều cơ bản nhất và dần dần nâng cao. Cuối cùng của bài hướng dẫn này, bạn sẽ sao lưu cơ sở dữ liệu như một chuyên gia!
什么是数据库备份?
Trước khi chúng ta đi sâu vào chi tiết, hãy hiểu rõ database backup là gì. Hãy tưởng tượng bạn đang viết một tiểu thuyết trên máy tính. Bạn có lẽ sẽ lưu công việc của mình thường xuyên, phải không? C或许 còn giữ một bản sao trên USB? Đó chính là database backup – nó là một bản sao của cơ sở dữ liệu của bạn tại một thời điểm cụ thể.
Hãy nghĩ của nó như một mạng an toàn cho dữ liệu của bạn. Nếu có bất kỳ điều gì xảy ra với cơ sở dữ liệu trực tuyến của bạn, bạn có thể khôi phục nó từ bản sao lưu và thở phào nhẹ nhõm. tin tôi đi, với tư cách là người đã dạy SQL trong nhiều năm, tôi đã thấy điều này cứu nhiều sinh viên (và chuyên gia) khỏi thảm họa!
Lệnh Sao lưu Cơ sở Dữ liệu SQL
Bây giờ, hãy cùng nhau làm quen với một chút mã SQL thực tế. Cú pháp cơ bản để sao lưu một cơ sở dữ liệu trong SQL Server là:
BACKUP DATABASE databasename
TO DISK = 'filepath'
Hãy phân tích nó:
-
BACKUP DATABASE
là lệnh cho biết SQL Server rằng chúng ta muốn tạo một bản sao lưu. -
databasename
là tên của cơ sở dữ liệu bạn muốn sao lưu. -
TO DISK = 'filepath'
xác định nơi bạn muốn lưu tệp sao lưu.
Dưới đây là một ví dụ thực tế:
BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB.bak'
Lệnh này sẽ tạo một bản sao lưu của cơ sở dữ liệu "MyAwesomeDB" và lưu nó dưới dạng tệp có tên "MyAwesomeDB.bak" trong thư mục "C:\Backups".
Các Loại Sao lưu trong SQL
Bây giờ chúng ta đã bao gồm các nguyên tắc cơ bản, hãy cùng khám phá các loại sao lưu khác nhau có sẵn trong SQL. Nó giống như việc chọn giữa các loại bảo hiểm khác nhau – mỗi loại đều có mục đích và lợi ích riêng.
1. Full Backup
Full backup chính xác như tên của nó – một bản sao hoàn chỉnh của toàn bộ cơ sở dữ liệu của bạn. Đây là loại sao lưu toàn diện nhất, nhưng cũng tốn nhiều thời gian và không gian lưu trữ nhất.
BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH INIT
Câu lệnh WITH INIT
cho biết SQL Server sẽ ghi đè lên bất kỳ tệp sao lưu nào có cùng tên.
2. Differential Backup
Differential backup chỉ sao lưu dữ liệu đã thay đổi kể từ lần sao lưu full backup gần nhất. Nó giống như việc chỉ lưu các chương mới của tiểu thuyết của bạn kể từ lần lưu toàn bộ trước đó.
BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH DIFFERENTIAL
3. Transaction Log Backup
Loại này sao lưu sổ日记, ghi lại tất cả các giao dịch và thay đổi cơ sở dữ liệu. Nó rất hữu ích cho việc khôi phục thời điểm cụ thể.
BACKUP LOG MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Log.bak'
Dưới đây là bảng tóm tắt các loại sao lưu này:
Loại Sao lưu | Gì nó Sao lưu | Khi nào sử dụng |
---|---|---|
Full | Toàn bộ cơ sở dữ liệu | Lặp lại (ví dụ: hàng tuần) |
Differential | Thay đổi kể từ lần sao lưu full trước | Thường xuyên hơn (ví dụ: hàng ngày) |
Transaction Log | Sổ日记 giao dịch | Thường xuyên nhất (ví dụ: hàng giờ) |
Khôi phục Cơ sở Dữ liệu Từ Sao lưu
Tạo sao lưu là điều tuyệt vời, nhưng biết cách khôi phục từ chúng cũng rất quan trọng. Nó giống như việc có một canoe trên con tàu – bạn hy vọng bạn sẽ không bao giờ cần nó, nhưng bạn sẽ rất vui khi nó có đó nếu bạn cần!
Để khôi phục cơ sở dữ liệu từ bản sao lưu full:
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH REPLACE
Tùy chọn WITH REPLACE
cho phép bạn ghi đè lên cơ sở dữ liệu có cùng tên.
Nếu bạn đang khôi phục từ nhiều bản sao lưu (ví dụ: một bản sao lưu full tiếp theo là các bản differential), bạn sẽ cần khôi phục chúng theo thứ tự:
-- Khôi phục bản sao lưu full
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH NORECOVERY
-- Khôi phục bản sao lưu differential
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH RECOVERY
Tùy chọn WITH NORECOVERY
giữ cơ sở dữ liệu trong trạng thái khôi phục, cho phép bạn áp dụng các bản sao lưu bổ sung. Lệnh cuối cùng WITH RECOVERY
mang cơ sở dữ liệu trở lại online.
Sao lưu và Khôi phục Cơ sở Dữ liệu MySQL và MS SQL
Đến nay, chúng ta đã tập trung chủ yếu vào Microsoft SQL Server. Nhưng bạn hỏi gì về MySQL? Đừng lo lắng, tôi không quên nó!
Sao lưu MySQL
Trong MySQL, bạn có thể sử dụng công cụ dòng lệnh mysqldump
để tạo sao lưu:
mysqldump -u username -p databasename > backup.sql
Lệnh này tạo một tệp SQL chứa tất cả các lệnh cần thiết để tạo lại cơ sở dữ liệu của bạn.
Khôi phục MySQL
Để khôi phục cơ sở dữ liệu MySQL từ bản sao lưu:
mysql -u username -p databasename < backup.sql
Lệnh này đọc tệp SQL và thực thi tất cả các lệnh để xây dựng lại cơ sở dữ liệu của bạn.
SQL Server Management Studio
Đối với những ai thích giao diện đồ họa, SQL Server Management Studio (SSMS) cung cấp một wizard sao lưu và khôi phục dễ sử dụng. Nhấp chuột phải vào cơ sở dữ liệu của bạn, chọn "Tasks", sau đó "Back Up..." hoặc "Restore..." để truy cập các tính năng này.
Kết luận
Và thế là bạn đã có tất cả, các bạn! Chúng ta đã cùng nhau hành trình qua thế giới sao lưu cơ sở dữ liệu SQL, từ những điều cơ bản đến các khái niệm nâng cao. Nhớ rằng, việc sao lưu thường xuyên giống như việc đánh răng – nó có thể看起来 nhàm chán, nhưng bạn sẽ rất vui khi bạn đã làm khi cần thiết!
Thực hành các lệnh này, thử nghiệm các loại sao lưu khác nhau, và sớm bạn sẽ trở thành người am hiểu về tất cả mọi thứ liên quan đến sao lưu cơ sở dữ liệu. Và biết đâu, một ngày nào đó bạn sẽ viết chính mình hướng dẫn, chia sẻ kiến thức quý báu của bạn với thế hệ tiếp theo những người yêu thích cơ sở dữ liệu.
Đến那时, hãy tiếp tục sao lưu, luôn tò mò, và hy vọng rằng cơ sở dữ liệu của bạn luôn nguyên vẹn!
Credits: Image by storyset