Oleh Dmitri Joukovski dan Pavel Pragin

Pangkalan data MySQL telah menjadi pangkalan data sumber terbuka yang paling popular di dunia kerana prestasi pantas, kebolehpercayaan yang tinggi dan kemudahan penggunaannya yang konsisten. Anda mungkin menggunakan pangkalan data MySQL untuk forum dan wiki dalam talian anda yang berada di penyedia hosting yang dikendalikan, atau anda mungkin menggunakannya di pejabat jauh untuk mengesan bug dengan Bugzilla, atau anda mungkin hanya memikirkan untuk mengembangkan beberapa aplikasi Web 2.0 baru yang menggunakan MySQL . Bagaimanapun, jika anda menghargai maklumat yang tersimpan dalam pangkalan data MySQL anda, anda perlu memastikan cadangan MySQL yang berjaya, selamat dan konsisten dengan sedikit kesan pada aplikasi pangkalan data. Pastikan penyelesaian sandaran anda menyediakan penggunaan sumber rangkaian, pelayan dan storan yang paling cekap.

Sekiranya anda mencari penyelesaian yang mempermudah hidup anda dengan menyediakan sandaran dan pemulihan yang mudah digunakan namun fleksibel dan mantap untuk MySQL, Zmanda Recovery Manager (ZRM) mungkin merupakan pilihan yang tepat untuk anda. Perincian mengenai Fungsi ZRM terdapat di sini.

Untuk sebarang cadangan pangkalan data, pertimbangan utama adalah konsistensi sandaran dan kesannya kepada pengguna dan aplikasi. Walau bagaimanapun, cadangan MySQL terpencil mempunyai cabaran tambahan yang berkaitan dengan:

  • penggunaan rangkaian
  • keselamatan, dan
  • fleksibiliti pemulihan data MySQL ke hos yang berbeza.

Perkara terakhir mungkin penting apabila anda tidak mempunyai kawalan penuh terhadap persekitaran MySQL anda dan anda ingin mempunyai pilihan untuk memulihkan data anda ke penyedia hosting yang dikendalikan dengan versi pelayan MySQL yang berbeza atau sistem operasi yang berbeza.

Cadangan tambahan secara signifikan mengurangkan penggunaan tetingkap dan penggunaan rangkaian kerana hanya perubahan sejak sandaran penuh terakhir atau tambahan terakhir dipindahkan melalui wayar. ZRM memudahkan anda memulihkan data anda dari cadangan tambahan walaupun anda perlu menggunakan beberapa gambar sandaran tambahan untuk mendapatkan data anda kembali ke titik waktu tertentu. Sandaran tambahan memerlukan log binari MySQL diaktifkan, tetapi menurut dokumentasi MySQL, pengaktifan log binari akan menghasilkan prestasi kurang daripada 1%.

Sandaran logik memberikan lebih banyak fleksibiliti untuk pemulihan kerana fail sandaran adalah fail teks yang berisi semua pernyataan MySQL untuk membuat semula skema dan kandungan pangkalan data. Sandaran logik berfungsi untuk semua enjin penyimpanan kecuali mesin NDB yang digunakan untuk pengelompokan MySQL. Kelebihan terbesar sandaran logik adalah fleksibiliti untuk pemulihan pangkalan data. Anda boleh mengembalikan sandaran logik MySQL ke seni bina lain dan bahkan ke pangkalan data lain. Kemudahan pengangkutan gambar sandaran ZRM yang logik menjadikan ZRM alat yang sesuai untuk penghijrahan. Sebagai contoh, anda boleh memindahkan data MySQL anda:

  • Dari MySQL di Solaris hingga MySQL di Linux
  • Dari satu mesin simpanan ke mesin yang lain
  • Dari pelayan 32-bit ke pelayan 64-bit
  • Dari satu penyedia hosting yang diuruskan ke pusat data anda atau penyedia lain dengan konfigurasi MySQL yang berbeza

Sudah tentu, ada harga yang perlu dibayar untuk pemulihan yang fleksibel. Memulihkan data dari sandaran logik mungkin memerlukan masa yang lama kerana anda harus membaca dan memainkan semula semua pernyataan MySQL. Kelemahan lain adalah sukar untuk meramalkan ukuran sandaran logik anda. Bergantung pada jenis data dan skema pangkalan data anda, ukuran sandaran logik mungkin lebih besar daripada pangkalan data itu sendiri. Salah satu kaedahnya adalah kerana sandaran logik pada dasarnya adalah fail teks, anda biasanya boleh mendapatkan pemampatan yang baik.

Sandaran mentah menyediakan salinan pangkalan data yang konsisten dengan sandaran anda menjadi fail binari. Kelebihan sandaran mentah berbanding sandaran logik adalah:

  • Sandaran dan pulih terutamanya lebih cepat. Sebagai contoh, tidak biasa untuk melihat bahawa untuk pangkalan data yang sama dengan ukuran 4-5 GB, sandaran mentah adalah 5 kali lebih cepat daripada sandaran logik, dan pemulihan imej sandaran mentah adalah 20 kali lebih cepat daripada pemulihan logik imej.
  • Anda akan selalu mengetahui ukuran sandaran anda yang tepat kerana hanya salinan pangkalan data.
  • Ini memberikan skalabilitas yang lebih baik yang mungkin penting jika pangkalan data MySQL anda agak besar, misalnya 10-20 GB atau lebih.

Sandaran mentah dapat dipulihkan HANYA ke versi pelayan MySQL yang sama pada sistem operasi yang sama dengan data asal. Ini bermaksud bahawa peluang anda untuk mendapatkan semula imej sandaran mentah MySQL ke penyedia hosting yang diuruskan tidak terlalu tinggi dan anda harus mempertimbangkannya semasa memilih sandaran mentah berbanding logik.

Kedua-dua sandaran mentah dan logik memberikan sandaran yang hangat, yang bermaksud anda tidak perlu mematikan pelayan MySQL untuk sandaran, tetapi semua jadual terkunci semasa membuat sandaran dan pengguna tidak dapat memasukkan data mereka. Itulah sebabnya anda harus mempertimbangkan untuk menggunakan pemalam penjadualan ZRM yang membolehkan menunda sandaran berdasarkan ambang yang anda tentukan. Sebagai contoh, anda boleh menangguhkan cadangan selama satu jam jika lebih daripada 50 pengguna mengakses pangkalan data.

Salah satu pertimbangan penting untuk sandaran jarak jauh MySQL adalah keputusan mengenai jenis sambungan apa yang hendak dijalin antara ZRM dan pelayan MySQL jauh. ZRM menyediakan pemalam untuk sambungan berasaskan soket dan pemalam lain untuk sambungan berasaskan SSH. Senibina ZRM yang fleksibel membolehkan pengguna menulis pemalam mereka sendiri.

Seperti namanya, plug-in copy soket mewujudkan soket yang menyediakan komunikasi antara ZRM dan MySQL melalui rangkaian berasaskan IP. Pemalam salin soket memerlukan perkhidmatan xinetd dijalankan pada pelayan MySQL dan port lalai 25300 dibuka. Sekiranya diperlukan, pentadbir sandaran boleh menukar port. Plugin salinan soket tidak selamat dan harus digunakan hanya apabila keselamatan tidak menjadi perhatian atau ketika keselamatan dibuat dengan cara lain, misalnya, ketika anda mempunyai sambungan VPN antara ZRM dan pelayan MySQL jauh anda.

Pemalam salinan SSH menyediakan saluran selamat antara ZRM dan pelayan MySQL yang jauh. Ia menggunakan kriptografi kunci awam untuk mengesahkan pelayan MySQL jauh dan pengguna sandaran yang menjalankan ZRM. Pemalam SSH memerlukan port TCP 22 standard terbuka dan daemon SSH dapat dijalankan. Pemalam salinan SSH sangat sesuai apabila memastikan keselamatan data sandaran adalah penting. Oleh kerana sambungan SSH memerlukan kitaran CPU tambahan untuk enkripsi, mungkin ada prestasi buruk yang dibandingkan dengan sandaran dengan sambungan soket.

Jadual berikut merangkum pertimbangan ketika memilih plug-in copy socket vs SSH untuk backup MySQL dari jauh:

Sambungan jauh
pasangkan
Pelabuhan yang digunakan Keselamatan Prestasi relatif Komen pemasangan
Salinan SSH 22 (tetap) Memberikan pengesahan dan penyulitan yang kuat untuk memindahkan data sandaran melalui wayar Prestasi lebih rendah dan bergantung pada memori pelayan MySQL, sumber CPU dan lebar jalur yang tersedia. Sering kali anda mungkin mempunyai sambungan SSH ke pelayan MySQL jauh yang telah dibuat untuk alasan lain daripada sandaran dan pemulihan. Jika tidak, anda harus membuat sambungan SSH antara ZRM dan pelayan MySQL.
Salinan soket 25300 (boleh diubah) Data sandaran melalui wayar tidak selamat Prestasi yang lebih tinggi Perisian tambahan harus dipasang pada pelayan MySQL. Sebagai contoh, untuk versi Enterprise ZRM 1.1 gunakan MySQL-zrm-enterprise-socket-server-1.1-1.noarch.rpm. Untuk versi Komuniti, lihat halaman muat turun untuk pakej yang tepat.

Untuk maklumat lebih terperinci, daftar secara percuma ke Rangkaian Zmanda dan muat turun versi penuh kertas putih ini. Anda akan belajar menggunakan ZRM untuk beberapa senario biasa. Sebagai contoh, kami akan memberikan butiran teknikal bagaimana melakukan sandaran dengan data yang selamat di wayar dan pada waktu rehat menggunakan pemalam salinan SSH untuk kes penggunaan ini:

ZRM melalui Internet

Selain itu, kami akan memberikan butiran teknikal mengenai sandaran logik dan mentah yang lebih cekap menggunakan pemalam salin soket.

Dengan semua fungsi yang kaya, ZRM untuk MySQL hanyalah alat untuk melaksanakan strategi pemulihan dan pemulihan yang optimum untuk keperluan perlindungan data khusus anda. ZRM kuat dan mudah digunakan, tetapi bergantung kepada pelaksanaan pelayan MySQL jauh dan keperluan khusus anda untuk sandaran dan pemulihan, anda harus mempertimbangkan semua pertukaran yang berkaitan dengan setiap pilihan operasi yang disediakan oleh ZRM untuk MySQL.

Rujukan:
ZRM untuk MySQL
ZRM untuk MySQL Wiki
Forum Zmanda