Oleh Dmitri Joukovski dan Pavel Pragin

Database MySQL telah menjadi database open source paling populer di dunia karena performanya yang cepat dan konsisten, keandalan yang tinggi, dan kemudahan penggunaan. Anda mungkin menggunakan database MySQL untuk forum online dan wiki yang terletak di penyedia hosting terkelola, atau Anda mungkin menggunakannya di kantor jarak jauh untuk melacak bug dengan Bugzilla, atau Anda mungkin hanya berpikir untuk mengembangkan beberapa aplikasi Web 2.0 baru yang menggunakan MySQL . Apa pun itu, jika Anda menghargai informasi yang disimpan dalam database MySQL, Anda perlu memastikan backup MySQL yang berhasil, aman, dan konsisten dengan dampak minimal pada aplikasi database. Pastikan bahwa solusi pencadangan Anda menyediakan penggunaan jaringan, server, dan sumber daya penyimpanan yang paling efisien.

Jika Anda mencari solusi yang menyederhanakan hidup Anda dengan menyediakan cadangan dan pemulihan yang mudah digunakan namun fleksibel dan kuat untuk MySQL, Zmanda Recovery Manager (ZRM) mungkin merupakan pilihan yang tepat untuk Anda. Detail tentang Fungsionalitas ZRM tersedia di sini.

Untuk setiap backup database, pertimbangan utama adalah konsistensi backup dan dampaknya pada pengguna dan aplikasi. Namun, cadangan MySQL jarak jauh memiliki tantangan tambahan terkait:

  • penggunaan jaringan
  • keamanan, dan
  • fleksibilitas pemulihan data MySQL ke host yang berbeda.

Poin terakhir mungkin penting ketika Anda tidak memiliki kendali penuh atas lingkungan MySQL Anda dan Anda ingin memiliki opsi untuk memulihkan data Anda ke penyedia hosting terkelola yang berbeda dengan versi server MySQL yang berbeda atau sistem operasi yang berbeda.

Incremental backup secara signifikan mengurangi jendela backup dan penggunaan jaringan karena hanya perubahan sejak backup penuh terakhir atau incremental terakhir yang dipindahkan melalui kabel. ZRM memudahkan Anda memulihkan data dari cadangan tambahan meskipun Anda harus menggunakan beberapa gambar cadangan tambahan untuk mengembalikan data ke titik waktu tertentu. Pencadangan inkremental memerlukan pengaktifan log biner MySQL, tetapi menurut dokumentasi MySQL, pengaktifan log biner akan menghasilkan kinerja hit kurang dari 1%.

Cadangan logis memberikan lebih banyak fleksibilitas untuk pemulihan karena file cadangan adalah file teks yang berisi semua pernyataan MySQL untuk membuat ulang skema database dan konten. Pencadangan logis berfungsi untuk semua mesin penyimpanan kecuali mesin NDB yang digunakan untuk pengelompokan MySQL. Keuntungan terbesar dari backup logis adalah fleksibilitas untuk pemulihan database. Anda dapat memulihkan backup logis MySQL ke arsitektur lain dan bahkan ke database lain. Transportabilitas gambar cadangan ZRM logis menjadikan ZRM alat yang nyaman untuk migrasi. Misalnya, Anda dapat memindahkan data MySQL Anda:

  • Dari MySQL di Solaris hingga MySQL di Linux
  • Dari satu mesin penyimpanan ke mesin penyimpanan lainnya
  • Dari server 32-bit ke server 64-bit
  • Dari satu penyedia hosting terkelola ke pusat data Anda atau penyedia lain dengan konfigurasi MySQL yang berbeda

Tentu saja, ada harga yang harus dibayar untuk pemulihan fleksibel semacam itu. Memulihkan data dari cadangan logis bisa memakan waktu lama karena Anda harus membaca dan memutar ulang semua pernyataan MySQL. Kekurangan lainnya adalah sulit untuk memprediksi ukuran backup logis Anda. Bergantung pada jenis data dan skema database Anda, ukuran backup logis bisa lebih besar dari database itu sendiri. Salah satu solusinya adalah karena pencadangan logis pada dasarnya adalah file teks, Anda biasanya bisa mendapatkan kompresi yang layak.

Cadangan mentah menyediakan salinan basis data yang konsisten dengan cadangan Anda berupa file biner. Keuntungan dari backup mentah dibandingkan backup logis adalah:

  • Pencadangan dan terutama pemulihan jauh lebih cepat. Misalnya, bukan hal yang aneh untuk melihat bahwa untuk database yang sama dengan ukuran 4-5 GB, cadangan mentah 5 kali lebih cepat daripada cadangan logis, dan pemulihan gambar cadangan mentah 20 kali lebih cepat daripada pemulihan logis. gambar.
  • Anda akan selalu mengetahui ukuran pasti dari cadangan Anda karena ini hanyalah salinan dari database.
  • Ini memberikan skalabilitas yang lebih baik yang mungkin penting jika database MySQL Anda agak besar, misalnya 10-20 GB atau lebih.

Cadangan mentah HANYA dapat dipulihkan ke versi server MySQL yang sama pada sistem operasi yang sama dengan data asli. Artinya, peluang Anda untuk memulihkan gambar cadangan mentah MySQL ke penyedia hosting terkelola lainnya tidak terlalu tinggi dan Anda harus mempertimbangkannya saat memilih cadangan mentah vs. logis.

Baik cadangan mentah dan logis menyediakan cadangan hangat, artinya Anda tidak perlu mematikan server MySQL untuk pencadangan, tetapi semua tabel dikunci selama pencadangan dan pengguna tidak dapat memasukkan datanya. Itulah mengapa Anda harus mempertimbangkan untuk menggunakan plug-in penjadwalan ZRM yang memungkinkan penundaan pencadangan berdasarkan ambang yang Anda tentukan. Misalnya, Anda dapat menunda pencadangan selama satu jam jika lebih dari 50 pengguna mengakses database.

Salah satu pertimbangan penting untuk backup remote MySQL adalah keputusan tentang jenis koneksi yang akan dibuat antara ZRM dan server MySQL jarak jauh. ZRM menyediakan plug-in untuk koneksi berbasis soket dan plug-in lain untuk koneksi berbasis SSH. Arsitektur ZRM yang fleksibel memungkinkan pengguna untuk menulis plug-in mereka sendiri.

Seperti namanya, plug-in salinan soket membuat soket yang menyediakan komunikasi antara ZRM dan MySQL melalui jaringan berbasis IP. Plug-in socket copy memerlukan layanan xinetd untuk dijalankan pada server MySQL dan port default 25300 harus dibuka. Jika perlu, administrator cadangan dapat mengubah porta. Plug-in salinan soket tidak aman dan harus digunakan hanya jika keamanan tidak menjadi perhatian atau saat keamanan dibuat dengan cara lain, misalnya, saat Anda memiliki koneksi VPN antara ZRM dan server MySQL jarak jauh Anda.

Plug-in salinan SSH menyediakan saluran aman antara ZRM dan server MySQL jarak jauh. Ini menggunakan kriptografi kunci publik untuk mengotentikasi server MySQL jarak jauh dan pengguna cadangan yang menjalankan ZRM. Plug-in SSH membutuhkan port TCP standar 22 untuk dibuka dan daemon SSH harus dijalankan. Plug-in salinan SSH paling sesuai saat memastikan keamanan data cadangan itu penting. Karena koneksi SSH membutuhkan siklus CPU ekstra untuk enkripsi, mungkin ada hit pada kinerja cadangan dibandingkan dengan cadangan dengan koneksi soket.

Tabel berikut merangkum pertimbangan saat memilih socket vs. SSH copy plug-in untuk backup jarak jauh MySQL:

Koneksi jarak jauh
pengaya
Port digunakan Keamanan Performa relatif Komentar instalasi
Salinan SSH 22 (tetap) Menyediakan otentikasi dan enkripsi yang kuat untuk memindahkan data cadangan melalui kabel Performa lebih rendah dan bergantung pada memori server MySQL, resource CPU, dan bandwidth yang tersedia. Seringkali Anda mungkin memiliki koneksi SSH ke server MySQL jarak jauh yang sudah dibuat karena alasan lain selain pencadangan dan pemulihan. Jika tidak, Anda harus membuat koneksi SSH antara ZRM dan server MySQL.
Salinan soket 25300 (dapat diubah) Data cadangan melalui kabel tidak aman Performa lebih tinggi Perangkat lunak tambahan harus diinstal di server MySQL. Misalnya, untuk versi Enterprise ZRM 1.1 gunakan MySQL-zrm-enterprise-socket-server-1.1-1.noarch.rpm. Untuk versi Komunitas, lihat halaman unduhan untuk paket yang tepat.

Untuk detail teknis lebih lanjut, daftar gratis ke Zmanda Network dan unduh versi lengkap buku putih ini. Anda akan mempelajari cara menggunakan ZRM untuk beberapa skenario umum. Misalnya, kami akan memberikan detail teknis cara melakukan pencadangan dengan data aman di kabel dan saat istirahat menggunakan plugin salinan SSH untuk kasus penggunaan ini:

ZRM melalui Internet

Selain itu, kami akan memberikan detail teknis tentang cadangan logis dan mentah yang lebih efisien menggunakan plug-in salinan soket.

Dengan semua fungsinya yang kaya, ZRM untuk MySQL hanyalah alat untuk mengimplementasikan strategi pencadangan dan pemulihan yang optimal untuk kebutuhan perlindungan data spesifik Anda. ZRM kuat dan mudah digunakan, tetapi tergantung pada implementasi Anda sendiri dari server MySQL jarak jauh dan persyaratan khusus Anda untuk pencadangan dan pemulihan, Anda harus mempertimbangkan semua trade-off yang terkait dengan setiap opsi operasional yang disediakan oleh ZRM untuk MySQL.

Referensi:
ZRM untuk MySQL
ZRM untuk MySQL Wiki
Forum Zmanda