Saya telah menemukan sejumlah situs berbicara tentang melakukan hal ini, tetapi saya kehilangan beberapa detail penting. Langkah umumnya adalah
- Lari
FLUSH TABLES WITH READ LOCK
- Ambil snapshot ZFS
- Lari
UNLOCK TABLES
Berbagai sumber melaporkan bahwa InnoDB, yang saya gunakan, sebenarnya tidak menghormati a FLUSH
. Catatan pengguna pengguna MySQL ada FLUSH TABLES...FOR EXPORT
varian untuk digunakan dengan InnoDB, tetapi itu membutuhkan menentukan setiap tabel secara individual, daripada mencadangkan seluruh database. Saya lebih suka menghindari menentukan setiap tabel secara individual karena ada kemungkinan daftar tabel akan menjadi tidak sinkron dengan tabel yang sebenarnya ada.
Masalah lain yang saya miliki adalah saya berencana untuk melakukan sesuatu seperti mysql -h"$HOST" -u"$USERNAME" -p"$PASSWORD" --execute="FLUSH TABLES WITH READ LOCK"
. Namun, ini langsung mengunci setelah sesi keluar. Ini masuk akal, tetapi juga cukup menjengkelkan karena saya perlu memegang kunci baca ketika saya mengambil foto saya.
Gagasan saya yang lain adalah mengambil cadangan panas menggunakan alat seperti Percona XtraBackup dan mengambil snapshot cadangan, tetapi saya lebih suka tidak membayar biaya untuk menulis semua data saya ke lokasi kedua hanya untuk memotretnya.