Ada database ukuran 500GB. Tabel dalam database A berisi tabel MyISAM dan INNODB. Tabel MyISAM adalah tabel master dan tabel Innodb adalah tabel transaksi utama.
Cadangkan dan pulihkan menggunakan dump mysql, berhentilah lama atau berhari-hari.
- max_allowed_packet = 1G
- foreign_key_checks = 0
- auto_commit = off
Jawaban:
Tetapi tautan tersebut juga merekomendasikan XtraBackup dari Percona, yang lebih cepat, tidak ada kunci pada tabel yang sudah digunakan dan tidak ada waktu untuk pemulihan. Untuk data 500GB saya lebih suka Percona XtraBackup lebih cepat dan efisien kecuali jika Anda ingin mengubahnya menjadi model innodb_file_per_table jika bukan dari server DB yang ada. Tautan di bawah ini menjelaskan cara melanjutkan.
http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html
sumber
Lihat mydumper. Ini jauh lebih cepat daripada mysqldump: Rilis mydumper 0.6.1 baru menawarkan fitur kinerja dan kegunaan
Anda dapat mengunduh dari sini: https://github.com/maxbube/mydumper
sumber
Saya pikir pertanyaannya adalah tentang cara mengembalikan lebih cepat dari file dump yang dikosongkan mysqldump dan bukan solusi cadangan yang berbeda.
Salah satu cara, Anda dapat melakukan ini adalah dengan membuat grup tabel di skema Anda dan membuat pengguna DB terpisah untuk setiap grup dan menggunakan izin MySQL untuk tidak membiarkan tabel dimasukkan dengan menggunakan semua kecuali satu pengguna DB.
Ini adalah teknik yang terbukti, cepat, hampir paralel, tetapi tidak 100% yakin berapa lama untuk pulih dari 500G. Tapi imho, kamu butuh sesuatu yang paralel. Lihat tautan di bawah untuk contoh.
Cepat, pemulihan paralel dari SQL dumps (mysqldump) untuk MySQL
sumber
Coba yang berikut ini dengan innobackupex:
Anda dapat mengubah nomor proses paralel yang Anda inginkan. Karena Anda menyebutkan Anda memiliki tabel myisam, parameter "rsync" akan membantu mempercepat pencadangannya.
sumber