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
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.