Chơi với dữ liệu trong cơ sở dữ liệu đôi khi rất phức tạp nhưng khi bạn bắt tay vào việc thì đó chỉ là một vài dòng trên dòng lệnh. Cách đây một thời gian, chúng tôi đã chuyển từ Piwik PRO sang Matomo và tất nhiên chúng tôi muốn di chuyển nhật ký. Chúng tôi không thể chỉ sử dụng kết xuất cơ sở dữ liệu MySQL/MariaDB đầy đủ và đi kèm với nó dưới dạng tên bảng và lược đồ thì khác [Piwik PRO 3. 1. 1. -> Matomo 3. 5. 1]. Nói tóm lại, chúng tôi cần xuất một vài bảng và đổi tên chúng để khớp với phiên bản mới tương tự như đã thảo luận trong Stack Overflow
Có một plugin VisitExport dành cho Piwik/Matomo cho phép bạn xuất và nhập các bảng nhật ký bằng các tệp PHP và JSON nhưng có vẻ như đó không phải là cách tiếp cận khả dụng cho trường hợp sử dụng của chúng tôi với các bảng có kích thước 500 MB hoặc hơn
Giải pháp thiết thực hơn là chỉ cần tạo một kết xuất các bảng mà chúng tôi muốn khôi phục riêng
Nhiều người quan tâm đến câu hỏi làm thế nào để tạo bản sao lưu của một bảng cơ sở dữ liệu MySQL chứ không phải toàn bộ cơ sở dữ liệu
Bản sao lưu này có thể được sử dụng, ví dụ, nếu bạn vượt quá giới hạn kích thước của các tệp trên máy chủ lưu trữ, nơi bạn lưu trữ cơ sở dữ liệu. Cũng có thể thuận tiện nếu bạn có một hoặc nhiều bảng được cập nhật thường xuyên hơn so với phần còn lại của cơ sở dữ liệu - thì bạn nên thực hiện sao lưu một bảng thường xuyên hơn
Sao lưu thường xuyên các tệp dữ liệu được sử dụng nhiều có thể rút ngắn thời gian khôi phục trong một số trường hợp. Sao lưu hàng ngày của các vùng bảng được cập nhật thường xuyên sẽ giảm số lượng giao dịch phải được áp dụng lại mà không phải thực hiện sao lưu toàn bộ cơ sở dữ liệu hàng ngày
Có một số cách để tạo bản sao lưu của bảng MySQL
Phương pháp 1. Toán tử bảng dự phòng
Toán tử MySQL "bảng sao lưu" có thể tạo các bảng cơ sở dữ liệu riêng lẻ. Điều đó chỉ có thể được áp dụng cho loại bảng MyISAM
Cú pháp của bảng sao lưu
BẢNG SAO LƯU tbl_name [, tbl_name]. ĐẾN '/way-to-backup-catalog'
Xin lưu ý toán tử này có sẵn trong MySQL phiên bản 5. 0 và các phiên bản trước đó. Bây giờ, nó không được dùng nữa và đề xuất là sử dụng tập lệnh mysqlhotcopy và tiện ích mysqldump
Phương pháp 2. Tập lệnh Mysqlhotcopy
Mysqlhotcopy là một tập lệnh Perl đặc biệt để sao lưu MySQL. Tập lệnh này cho phép bạn tạo bản sao lưu của một bảng cơ sở dữ liệu, nhưng nó có một số hạn chế
Thứ nhất, nó không hoạt động từ xa [bạn phải chạy nó trên máy tính có cơ sở dữ liệu]
Thứ hai, tập lệnh chỉ sao lưu một số loại bảng nhất định như MyISAM và ARCHIVE
Thứ ba, nó không hoạt động trên hệ thống Window
Phương pháp 3. Tiện ích Mysqldump
Tiện ích mysqldump tổng quát hơn mysqlhotcopy, vì nó cho phép bạn sao lưu bất kỳ loại bảng nào. Đây là tiện ích “tích hợp sẵn” và bạn không cần tải xuống
Mysqldump cho phép bạn tạo bản sao lưu của một hoặc nhiều bảng cơ sở dữ liệu MySQL. Cú pháp là
mysqldump-u NGƯỜI DÙNG-p BẢNG CƠ SỞ DỮ LIỆU MẬT KHẨU> C. \ table_backup. sql
Phương pháp 4. Sao chép tập tin trực tiếp
Trong một số trường hợp, các bảng được lưu trữ trong các tệp riêng biệt [ví dụ: bảng MyISAM]. Điều này cho phép bạn tạo bản sao lưu bằng cách sao chép đơn giản tất cả các tệp được liên kết với bảng [. từ,. MYD, và. MYI]. Bạn cần dừng máy chủ hoặc thực hiện “khóa đọc” [bạn có thể sao chép tất cả các tệp với điều kiện máy chủ hiện đang ở trạng thái “không cập nhật”]
Phương pháp này không hoạt động đối với loại bảng InnoDB, vì trong trường hợp đó, MySQL có thể lưu trữ dữ liệu bảng ở các vị trí khác nhau và không chỉ trong thư mục cơ sở dữ liệu
Bảng sao lưu MySQL cũng có thể được thực hiện bằng cách sử dụng phần mềm đặc biệt
Phương pháp 5. Bàn làm việc MySQL
MySQL Workbench là một công cụ phát triển trực quan bao gồm nhiều thành phần khác nhau để quản trị cơ sở dữ liệu MySQL đồ họa
MySQL Workbench cho phép bạn tạo bản sao lưu của một bảng cơ sở dữ liệu bằng trình chỉnh sửa trực quan. Để thực hiện việc này, hãy vào Quản trị máy chủ, mở cơ sở dữ liệu và chọn Kết xuất dữ liệu. Nhấp vào cơ sở dữ liệu của bạn và chọn một bảng từ danh sách mà bạn muốn sao lưu
Phương pháp 6. sao lưu tiện dụng
Handy Backup có một trình cắm tích hợp cho phép bạn tạo bản sao lưu của một bảng cơ sở dữ liệu MySQL
Chương trình tạo một tệp kết xuất cho mỗi bảng. Tệp này chứa tất cả thông tin cần thiết để xây dựng lại bảng
Bạn có thể sử dụng nhiều tùy chọn bổ sung và lợi thế của Handy Backup khi lưu các bảng MySQL, bao gồm những thứ như
- Mã hóa và nén tích hợp;
- Lưu trữ nhiều phiên bản và bản sao khác nhau của một bảng;
- Sử dụng lưu trữ trực tuyến như NAS, FTP hoặc dịch vụ đám mây [WebDAV, S3, OneDrive, Dropbox, v.v. ];
- Chạy phần mềm khác trước hoặc sau một tác vụ [e. g. , để dừng và khởi động lại MySQL];
- Lên lịch chính xác thời gian bắt đầu và lặp lại để sao lưu, cũng như kích hoạt các tác vụ theo sự kiện
Giải pháp được đề nghị
Phiên bản 8. 4. 3, được xây dựng vào ngày 24 tháng 11 năm 2022. 115 MB
Phần mềm sao lưu từ Novosoft LLC. 249 USD mỗi giấy phép.
Giải pháp hoàn hảo cho một máy chủ, phiên bản dành cho doanh nghiệp nhỏ chứa phần bổ trợ MySQL chuyên dụng và tất cả phần bổ trợ lưu trữ ngay lập tức
Bạn cũng có thể mua plug-in này độc lập cho phiên bản Tiêu chuẩn và Chuyên nghiệp. Ngoài ra, bạn có thể tìm thêm nhiều thông tin về plug-in trên trang này