Saya punya pertanyaan tentang cadangan logis dari database MySQL yang menggunakan MyISAM dan InnoDB.
The mysqldump
utilitas mendukung dua pilihan ini:
--single-transaction - Membuat snapshot yang konsisten dengan membuang semua tabel dalam satu transaksi. Bekerja HANYA untuk tabel yang disimpan dalam mesin penyimpanan yang mendukung multiversioning (saat ini hanya InnoDB tidak) [...] Opsi secara otomatis mematikan --lock-tables.
-x, --lock-all-tables - Mengunci semua tabel di semua basis data. Ini dicapai dengan mengambil kunci baca global selama durasi dump keseluruhan. Secara otomatis mematikan --satu transaksi dan --Lock-tables off.
Untuk InnoDB, kita perlu
--single-transaction
untuk MyISAM, kita perlu - mengunci-tabel atau mengunci-semua-tabel (jika kita membutuhkan konsistensi lintas-basis data).
Jadi, bagaimana database hybrid (database yang menggunakan mesin MyISAM dan InnoDB) seharusnya didukung?
Edit:
Sekedar klarifikasi, pertanyaannya bisa dirumuskan ulang seperti ini:
Apakah opsi tabel penguncian [semua-] menjamin cadangan yang konsisten dari tabel InnoDB?