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

Cara Mencadangkan Basis Data MariaDB Moodle Anda

Sebelumnya, kami telah membuat blog tentang mencadangkan Database MySQL Moodle Anda. Kali ini, ini semua tentang mencadangkan Database Moodle MariaDB Anda. Sebenarnya, ini memiliki pendekatan yang sama saat mencadangkan Database MySQL Moodle Anda seperti halnya dengan Database Moodle MariaDB Anda. Namun, sejak MariaDB 10.2, perlahan-lahan menyimpang dan terus memiliki perbedaan drastis dengan versi MySQL. Dalam hal ini, perhatikan pendekatan yang mungkin harus Anda pertimbangkan saat mencadangkan MariaDB Anda dibandingkan dengan MySQL jika Anda berasal darinya.

Praktik Terbaik untuk Membuat Cadangan MariaDB Moodle Anda

Mari kita bahas topik ini terlebih dahulu. Mengambil cadangan untuk data Moodle Anda harus menerapkan praktik terbaik untuk cadangan MariaDB Anda karena ini memberi Anda keamanan dan jaminan terutama ketika bencana atau malapetaka muncul dalam situasi yang tidak terduga.

Jadi, ada apa dengan ini? Mengambil cadangan untuk Moodle Anda setidaknya harus dilakukan dengan cadangan berikut:

  • Cadangan Logis
  • Salinan fisik cadangan Anda
  • Pemulihan Point-in-Time (Incremental)

Cadangan Logis

Cadangan logis data disimpan dalam format yang dapat dibaca manusia seperti SQL. Pencadangan logis menyimpan informasi yang direpresentasikan sebagai struktur basis data logis (CREATE DATABASE, pernyataan CREATE TABLE) dan konten (pernyataan INSERT atau file teks yang dibatasi). Jenis pencadangan ini cocok untuk jumlah data yang lebih kecil di mana Anda dapat mengedit nilai data atau struktur tabel, atau membuat ulang data pada arsitektur mesin yang berbeda. Jika Anda cenderung menggunakan cadangan basis data yang besar, pastikan Anda mengaktifkan kompresi. Peringatan karena ini dapat menghabiskan banyak ruang disk.

Di MariaDB, alat yang umum digunakan adalah menggunakan mysqldump, tetapi akan berubah di masa mendatang dengan mariadb-dump mulai MariaDB 10.4.6 atau 10.5.2 dan seterusnya. Atau, alat yang umum digunakan untuk DBA MySQL/MariaDB adalah mydumper jika Anda menginginkan pencadangan paralel untuk salinan cadangan logis Anda. Meskipun ada beberapa masalah di beberapa versi atau mungkin ada masalah terutama untuk versi terbaru MariaDB. Jika Anda ingin menggunakan ini, perhatikan log cadangan Anda saat membuat salinan.

Cadangan Fisik

Cadangan fisik berisi data biner basis data yang terdiri dari salinan mentah direktori dan file yang menyimpan konten basis data. Ini adalah tindakan yang tepat untuk diambil terutama untuk database besar dan lebih cepat untuk memulihkan salinan lengkap database dibandingkan dengan salinan cadangan logis. Di sisi lain, mengambil cadangan fisik penuh membutuhkan waktu terutama jika Anda memiliki kumpulan data yang sangat besar. Itu juga tergantung pada parameter apa yang telah Anda aktifkan atau atur yang dapat memengaruhi ETA pencadangannya.

Alat yang umum digunakan untuk MariaDB adalah menggunakan mariabackup. Mariabackup adalah alat sumber terbuka yang disediakan oleh MariaDB. Ini adalah fork dari Percona XtraBackup yang dirancang untuk bekerja dengan tabel terenkripsi dan terkompresi, dan merupakan metode pencadangan yang disarankan untuk database MariaDB.

Pemulihan Titik-dalam-Waktu (PITR)

Pemulihan titik-dalam-waktu mengacu pada pemulihan perubahan data hingga titik waktu tertentu. Titik waktu tertentu ini adalah tujuan pemulihan yang diinginkan yang telah ditentukan dan harus dikembalikan ke tempatnya, yang diterapkan selama pemulihan. PITR adalah pemulihan titik-maju dan itu berarti Anda dapat memulihkan data dari waktu mulai yang diinginkan ke waktu akhir yang diinginkan, untuk sebaliknya baca Menggunakan Flashback MariaDB di Server MySQL. PITR juga dianggap sebagai metode perlindungan data tambahan, karena melindungi hilangnya informasi penting.

Dalam situasi umum, pencadangan PITR Anda yang berlaku untuk jenis pemulihan Anda dilakukan setelah memulihkan cadangan lengkap yang membawa server ke statusnya sejak pencadangan dibuat. Pemulihan point-in-time kemudian membawa server up to date secara bertahap dari waktu backup penuh ke waktu yang lebih baru. Ini juga mempercepat pembuatan replika dalam cluster replikasi agar tidak mengejar database utama atau penulis aktif MariaDB Anda.

Jadi apa saja cadangan ini? Di MariaDB, cadangan umum yang berlaku untuk PITR Anda adalah log biner Anda. Logging biner harus dikonfigurasi dengan benar di database MariaDB Anda dan harus diaktifkan. Jika Anda menggunakan ClusterControl, ini mungkin tidak sulit bagi Anda untuk mengonfigurasinya karena dikonfigurasi untuk Anda secara otomatis dan diaktifkan terutama saat menyiapkan kluster replikasi.

Saat menerapkan PITR, alat yang paling umum digunakan adalah mysqlbinlog atau mariadb-binlog untuk MariaDB 10.5.2 dan seterusnya.

Pendekatan Terbaik Untuk Mencadangkan Basis Data MariaDB Moodle Anda

Saat menjalankan Basis Data Moodle MariaDB Anda, selalu ambil cadangan Anda selama jam tidak sibuk atau saat lalu lintas terlalu rendah. Sebelum melakukan ini, pastikan Anda telah menguji cadangan dan telah berhasil diselesaikan. Setelah selesai, uji pemulihan apakah cadangan Anda berguna atau tidak dan memenuhi kebutuhan Anda saat pemulihan data diperlukan atau saat Anda memerlukan cadangan untuk membuat kumpulan klaster lain (QA, dev, atau diperluas ke pusat data lain). Pada dasarnya, subbagian berikut adalah pendekatan dan penyiapan yang harus Anda tangani.

Siapkan Replika Dan Ambil Cadangan Pada Replika

Jika Anda tidak terbiasa dengan replikasi, baca buku putih kami Replikasi MySQL untuk Ketersediaan Tinggi. Pada dasarnya, jangan luangkan penulis aktif atau simpul basis data utama Anda untuk melakukan atau menjalankan pencadangan. Pengambilan cadangan harus diuji dan tidak boleh dilakukan dalam produksi jika belum diuji dengan serangkaian perintah dan kebijakan pencadangan yang telah Anda buat. Setelah bagus, tinggalkan saja dan bidik pada replika. Anda dapat mengambil cadangan dari database MariaDB utama/master Anda jika Anda tidak punya pilihan atau setidaknya Anda yakin dengan apa yang Anda lakukan.

Jalankan Pencadangan Selama Jam Bukan Jam sibuk

Saat melakukan pencadangan, pastikan itu adalah jam sibuk Anda. Replika Anda harus seminimal mungkin sehingga data terbaru akan disamarkan.

Buat Kebijakan Cadangan

Kebijakan pencadangan terdiri dari parameter dan jadwal dimulainya pencadangan Anda. Untuk parameter, pastikan itu mencukupi kebutuhan Anda, misalnya keamanan, kompresi, dll. Jadwal harus permanen sehingga Anda cadangan harus ada saat dibutuhkan pada saat bencana dan pemulihan data diperlukan. Anda juga dapat menentukan tujuan waktu pemulihan sehingga Anda dapat menentukan seberapa sering jadwal pencadangan Anda akan berjalan dan kapan.

Cara Membuat Cadangan Database MariaDB Moodle Anda

Menggunakan mariadb-dump/mysqldump

Perintah di bawah ini akan membuat cadangan database Anda untuk Moodle. Dalam contoh ini, nama database adalah moodle. Kami menyertakan pemicu, prosedur atau rutinitas tersimpan, dan peristiwa. Cetak GTID dan informasi master yang berguna saat Anda ingin menyediakan replika dari node database utama atau master.

$  /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle

Anda cukup mengganti mariadb-dump dengan mysqldump jika Anda menggunakan MariaDB versi <10.5.2. Jika Anda perlu mengompres, Anda dapat menjalankan perintah di bawah ini:

$  /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz

Menggunakan mariabackup

Mariabackup dapat dilakukan dengan mudah. Untuk ini, kami akan menggunakan mbstream sebagai format streaming dan arsip yang diinginkan. Anda dapat menggunakan perintah di bawah ini:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream

Jika Anda ingin mengompresnya, Anda dapat melakukan perintah berikut:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz

Menggunakan ClusterControl

Jika Anda beralih ke solusi terkelola terutama untuk mengambil cadangan Moodle Anda, ClusterControl mengambilnya dengan sederhana namun menawarkan fitur-fitur canggih untuk mengambil cadangan. Lihatlah tangkapan layar di bawah ini:

Mengambil cadangan sangat sederhana dan mudah dibuat. Yang perlu Anda lakukan adalah pergi ke → Backup → Create Backup.

Pada tangkapan layar di atas, saya memiliki mysqldump, mysqldump dengan PITR yang kompatibel, dan mariabackup. Anda dapat memilih host mana yang akan dicadangkan. Seperti disebutkan sebelumnya, pastikan Anda mengambil cadangan pada replika atau budak. Itu berarti, pastikan bahwa budak dipilih. Lihat tangkapan layar di bawah ini:

Saat memilih atau memilih mysqldump, ClusterControl memungkinkan pengguna untuk memilih jenis data yang akan dibuang. Ini juga termasuk dump yang kompatibel dengan PITR untuk cadangan. Lihat tangkapan layar di bawah ini:

Untuk cadangan biner atau fisik Anda, selain mysqldump sebagai cadangan logis Anda, Anda dapat memilih mariabackup baik penuh atau tambahan. Lihat di bawah:

Lokasi penyimpanan hanya memungkinkan pengguna memilih untuk tetap berada di node atau streaming ke host ClusterControl. Jika Anda memiliki server eksternal yang tidak terdaftar ke ClusterControl, Anda dapat menggunakan NFS untuk memasang volume yang Anda inginkan agar cadangan Anda dibuang. Meskipun itu mungkin tidak ideal tetapi untuk beberapa kasus, ini akan memuaskan terutama jika bandwidth jaringan atau transfer jaringan cukup cepat untuk mengalirkan data secara lokal ke node lain melalui jaringan.

Pada dasarnya, Anda dapat memilih cadangan yang akan diunggah ke awan. Anda dapat melihat tangkapan layar sebelumnya dan cukup centang kotak untuk mengaktifkannya seperti di bawah ini:

Seperti yang disebutkan sebelumnya bahwa ClusterControl mengambil cadangan dengan cara yang mudah digunakan namun menyediakan fitur lanjutan, berikut adalah opsi yang dapat Anda atur.

Untuk mysqldump,

Untuk mariabackup,

sangat mudah digunakan. ClusterControl juga menawarkan verifikasi cadangan dan pemulihan cadangan sehingga mudah bagi Anda untuk menentukan apakah pencadangan berguna atau tidak. Ini membantu bahwa cadangan basis data Moodle Anda berguna terutama ketika pemulihan data harus diterapkan untuk keadaan darurat dan pemulihan.

Kesimpulan

Membackup database Moodle MariaDB memang mudah, tetapi ketika data semakin besar dan lalu lintas semakin tinggi, itu bisa menjadi tantangan besar. Anda hanya perlu mengikuti praktik terbaik, pastikan Anda telah mengamankan data Anda, memastikan cadangan Anda diverifikasi dan berguna ketika pemulihan data harus diterapkan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana TIDAK REGEXP Bekerja di MariaDB

  2. Opsi Pencadangan Cloud untuk Database MySQL &MariaDB

  3. Cara Menyebarkan Database Chamilo MariaDB untuk Ketersediaan Tinggi

  4. Mengimpor Partisi InnoDB di MariaDB 10.0/10.1

  5. MAX() Fungsi di MariaDB