MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Pindah ke Cadangan MariaDB

Dalam posting blog saya sebelumnya yang membahas tentang memutakhirkan Jira ke versi terbaru bersama dengan MariaDB versi terbaru, saya secara singkat menyebutkan bahwa ketika memutakhirkan ke MariaDB Server 10.3 orang harus melihat bagaimana pencadangan dilakukan. Dengan MariaDB Server 10.3 hadir MariaDB Backup, yang mendukung fitur-fitur terbaru dari MariaDB Server. Ini juga tersedia di semua platform yang sama dengan Server MariaDB dan didistribusikan bersama dengan server.

Jika Anda telah mencadangkan dengan XtraBackup dan mencoba menjalankan perintah yang sama terhadap MariaDB Server 10.3, Anda akan mendapatkan pesan kesalahan:

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

Kalimat pertama dalam pesan terakhir adalah tentang apa. XtraBackup tidak memahami file dalam redo log 10.3. Perhatikan bahwa kami menggunakan XtraBackup versi lama dan karena itulah perintahnya masih innobackupex .

Karena ini dan beberapa alasan lain yang disebutkan di bawah, Server MariaDB, kini hadir dengan MariaDB Backup yang mendukung format redo log yang baru. Dengan MariaDB Backup, Anda memiliki fungsi yang sama dengan yang biasa Anda gunakan dengan XtraBackup, tetapi dengan dukungan untuk format redo log yang ditingkatkan dan dukungan untuk enkripsi data-at-rest MariaDB. Aspek lain yang sangat banyak diminta adalah bahwa MariaDB Backup juga tersedia untuk Windows, sedangkan XtraBackup tidak. Jika Anda tertarik untuk mengetahui lebih banyak tentang perubahan redo log, baca ini.

Di awal posting ini saya menyebutkan bahwa kami baru saja memutakhirkan Jira ke versi terbaru dan Server MariaDB ke 10.3. Di lingkungan yang lebih lama itu kami menggunakan XtraBackup. Untuk mendapatkan cadangan untuk MariaDB Server 10.3 kami harus memperbarui skrip cadangan kami untuk menggunakan Cadangan MariaDB.

Setelah beralih ke MariaDB Backup, perintah backup akan terlihat seperti ini:

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

Kami harus mengubah perintah itu sendiri dari menjadi innobackupex ke mariabackup dan kami menambahkan dua opsi; –cadangan untuk memberi tahu mariabackup bahwa kami ingin membuat cadangan dan –target-dir untuk menentukan bahwa direktori yang diberikan adalah tempat file cadangan harus pergi. Perlu diperhatikan bahwa jika kita akan menggunakan versi XtraBackup yang lebih baru, opsi baris perintah akan sepenuhnya kompatibel dengan XtraBackup, jadi satu-satunya hal yang harus diubah adalah perintah itu sendiri dari xtrabackup ke mariabackup .

Untuk memastikan bahwa cadangan berfungsi, kami akan menyalinnya ke server lain dan mencoba memulihkannya di sana. Untuk merestore backup terlebih dahulu kita harus menyiapkannya:

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

Perhatikan bahwa saya memiliki cadangan lengkap dari instance MariaDB Server yang akan menggantikan apa pun yang akan ada dalam instance tempat saya memulihkan. Oleh karena itu, saya akan menghentikan server dan menghapus file data apa pun yang disimpannya.

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

Sekarang file cadangan dapat diletakkan di direktori data instance server ini. Itu harus dilakukan dengan mariabackup untuk menyelesaikannya dengan benar. Ia melakukan beberapa hal yang berkaitan dengan format redo log yang dijelaskan di atas.

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

Pastikan izin sudah benar. Dalam kasus saya, pengguna dan grup normal sedang digunakan. Kemudian mulai server.

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

Mari kita sambungkan ke server dan verifikasi bahwa ia memiliki data yang seharusnya. Saya memutuskan untuk menanyakan nomor masalah maksimum di Jira.

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

Voila! Kami sekarang memiliki cadangan yang berfungsi di 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. String Format Tanggal MariaDB

  2. Cara Menjalankan SHOW LOCALES di MariaDB

  3. Bagaimana BIN() Bekerja di MariaDB

  4. 3 Cara Memisahkan Tahun, Bulan, dan Hari dari Tanggal di MariaDB

  5. Bagaimana CURDATE() Bekerja di MariaDB