MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Chuyển sang MariaDB Backup

Trong bài đăng trên blog trước đây của tôi về việc nâng cấp lên phiên bản mới nhất của Jira cùng với phiên bản mới nhất của MariaDB, tôi đã đề cập ngắn gọn rằng khi nâng cấp lên MariaDB Server 10.3, người ta nên xem cách sao lưu được thực hiện. Với MariaDB Server 10.3 đi kèm MariaDB Backup, hỗ trợ các tính năng mới nhất của MariaDB Server. Nó cũng có sẵn trên tất cả các nền tảng giống như Máy chủ MariaDB và nó được phân phối cùng với máy chủ.

Nếu bạn đã sao lưu với XtraBackup và cố gắng chạy các lệnh tương tự đối với MariaDB Server 10.3, bạn sẽ nhận được thông báo lỗi:

$ innobackupex ~/backup_to_dir --user=username --password=password
...
InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.3.9.

Câu đầu tiên trong tin nhắn cuối cùng là nội dung của nó. XtraBackup không hiểu (các) tệp trong nhật ký làm lại của 10.3. Lưu ý rằng chúng tôi đã sử dụng phiên bản cũ của XtraBackup và đó là lý do tại sao lệnh vẫn là innobackupex .

Vì lý do này và một số lý do khác được đề cập bên dưới, Máy chủ MariaDB, hiện đi kèm với MariaDB Backup hỗ trợ định dạng nhật ký làm lại mới. Với MariaDB Backup, bạn có chức năng tương tự như với XtraBackup, nhưng với sự hỗ trợ cho định dạng nhật ký làm lại được cải tiến và hỗ trợ mã hóa dữ liệu ở trạng thái nghỉ của MariaDB. Một khía cạnh khác được yêu cầu rất nhiều là MariaDB Backup cũng có sẵn cho Windows, còn XtraBackup thì không. Nếu bạn muốn biết thêm về thay đổi làm lại nhật ký, hãy đọc phần này.

Trong phần đầu của bài đăng này, tôi đề cập rằng gần đây chúng tôi đã nâng cấp Jira lên phiên bản mới nhất và Máy chủ MariaDB lên 10.3. Trong môi trường cũ hơn, chúng tôi đã sử dụng XtraBackup. Để nhận bản sao lưu cho MariaDB Server 10.3, chúng tôi phải cập nhật các tập lệnh sao lưu của mình để sử dụng MariaDB Backup.

Sau khi chuyển sang MariaDB Backup, lệnh backup có dạng như sau:

$ mariabackup --backup --target-dir /backup/to/dir --user=username --password=password --parallel=4

Chúng tôi đã phải tự thay đổi lệnh từ innobackupex tới mariabackup và chúng tôi đã thêm hai tùy chọn; – dự phòng nói với mariabackup mà chúng tôi muốn nó tạo một bản sao lưu và –target-dir để chỉ định rằng thư mục đã cho là nơi các tệp sao lưu sẽ đến. Cần lưu ý rằng nếu chúng ta sử dụng phiên bản mới hơn của XtraBackup, các tùy chọn dòng lệnh sẽ hoàn toàn tương thích với XtraBackup, vì vậy điều duy nhất cần thay đổi là chính lệnh từ xtrabackup tới mariabackup .

Để đảm bảo rằng bản sao lưu hoạt động, chúng tôi sẽ sao chép nó sang một máy chủ khác và cố gắng khôi phục nó ở đó. Để khôi phục một bản sao lưu, trước tiên chúng ta phải chuẩn bị nó:

$ mariabackup --prepare --target-dir full-2018-09-11_09-38-32

Lưu ý rằng tôi có một bản sao lưu đầy đủ của phiên bản Máy chủ MariaDB sẽ thay thế mọi thứ tồn tại trong phiên bản mà tôi đang khôi phục. Do đó, tôi sẽ dừng máy chủ và xóa mọi tệp dữ liệu mà nó lưu giữ.

$ sudo service mariadb stop
$ sudo rm -rf /var/lib/mysql/*

Bây giờ các tệp sao lưu có thể được đặt trong thư mục dữ liệu của phiên bản máy chủ này. Nó nên được thực hiện với mariabackup để hoàn thành đúng. Nó thực hiện một số điều liên quan đến định dạng nhật ký làm lại được giải thích ở trên.

$ sudo mariabackup --copy-back --target-dir full-2018-09-11_09-38-32

Đảm bảo các quyền là chính xác. Trong trường hợp của tôi, người dùng và nhóm bình thường đang được sử dụng. Sau đó khởi động máy chủ.

$ sudo chown mysql:mysql /var/lib/mysql -R
$ sudo service mariadb start

Sau đó, hãy kết nối với máy chủ và xác minh rằng máy chủ có dữ liệu cần có. Tôi quyết định truy vấn số phát hành tối đa trong Jira.

# connect to mariadb
$ mysql -uusername -ppassword
# query the database
MariaDB [(none)]> USE jiradb
MariaDB [jiradb]> SELECT MAX(issuenum) FROM jiraissue;

Thì đấy! Hiện chúng tôi có các bản sao lưu hoạt động trên MariaDB Server 10.3.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lấy tên tháng ngắn từ ngày trong MariaDB

  2. Di chuyển mạng Zero Downtime với MySQL Galera Cluster bằng cách sử dụng nút chuyển tiếp

  3. Chuyển sang MariaDB Backup

  4. Đồ thị tùy chỉnh để theo dõi các hệ thống MySQL, MariaDB, MongoDB và PostgreSQL của bạn - Mẹo &Thủ thuật ClusterControl

  5. Cách liệt kê tất cả các thủ tục được lưu trữ trong MariaDB