Trình bao dòng lệnh SQLite cung cấp .backup
lệnh dot cho phép bạn sao lưu cơ sở dữ liệu nhanh chóng và dễ dàng.
Để sử dụng lệnh này, hãy cung cấp tên cơ sở dữ liệu bạn muốn sao lưu và tên tệp cho tệp sao lưu.
Ví dụ
Đây là một ví dụ về sao lưu cơ sở dữ liệu.
.backup Store Store_backup.db
Thao tác này sao lưu cơ sở dữ liệu có tên Lưu trữ vào tệp sao lưu có tên Store_backup.db trong thư mục hiện tại.
Để sao lưu vào một thư mục khác, hãy sử dụng đường dẫn. Ví dụ:
.backup Store /Users/sqlite/bak/Store_backup.db
Sao lưu cơ sở dữ liệu chính
Đối số đầu tiên là tùy chọn. Ví dụ:bạn có thể kết nối với SQLite như thế này:
sqlite3 Chinook.db
Thao tác này sẽ mở Chinook.db cơ sở dữ liệu. Cơ sở dữ liệu này sẽ xuất hiện dưới dạng chính cơ sở dữ liệu.
Sau đó chạy cái này:
.backup Chinook_backup.db
Thao tác đó sẽ sao lưu cơ sở dữ liệu vào tệp được chỉ định.
Sao lưu cơ sở dữ liệu hiện được đính kèm
Dưới đây là một ví dụ khác tương tự như ví dụ trước, nhưng có trường hợp sử dụng hơi khác.
Trong ví dụ này, tôi kết nối với SQLite mà không chỉ định cơ sở dữ liệu. Sau đó, tôi đính kèm cơ sở dữ liệu, rồi chạy .backup
lệnh.
Tôi sẽ kết hợp tất cả các lệnh để ngắn gọn:
sqlite3
ATTACH DATABASE 'Store.db' AS Store;
.backup Backup.db
Điều này sao lưu Cửa hàng cơ sở dữ liệu.
Khôi phục / Sử dụng bản sao lưu
Bạn có thể sử dụng .restore
lệnh khôi phục cơ sở dữ liệu. Điều này chấp nhận tên của cơ sở dữ liệu để khôi phục, theo sau là vị trí của tệp sao lưu.
Ví dụ:
ATTACH DATABASE 'Chinook2.db' AS Chinook2;
.restore Chinook2 Chinook_backup.db
Trong trường hợp này, tôi đã tạo một cơ sở dữ liệu trống có tên là Chinook2 để khôi phục bản sao lưu vào.
Một cách khác để thực hiện là chỉ cần đính kèm bản sao lưu, giống như bạn làm với bất kỳ tệp cơ sở dữ liệu nào khác:
ATTACH DATABASE 'Chinook_backup.db' AS Chinook;
Nếu sử dụng phương pháp này, bạn có thể muốn chụp một bản sao lưu của mình và chỉ đính kèm bản sao. Nếu không, bạn sẽ ghi đè bản sao lưu của mình và sẽ không có khả năng khôi phục bản sao lưu đó về phiên bản cũ hơn.