Beberapa pertanyaan
Akankah entri Slave tetap sampai ada sisipan / perbarui / hapus ke tabel pada Master yang dapat memengaruhi Slave?
Jika tidak, bagaimana cara memastikan bahwa Slave tidak sinkron dengan Master yang akan datang (baik dengan menghapus entri Slave atau menyalin entri itu ke Master secara manual)?
Yang paling penting, bagaimana cara mendeteksi bahwa tabel tidak sinkron?
mysql
replication
kfmfe04
sumber
sumber
Jawaban:
Selama Anda tidak melakukan pernyataan INSERT / UPDATE / DELETE langsung pada Slave, Slave Anda akan baik-baik saja. Jika tidak, Replikasi MySQL dapat rusak jika Anda menyisipkan baris baru di mydb.mytable pada Slave dan, melalui Replication, Slave kemudian mendeteksi INSERT dari baris ke mydb.mytable dengan KUNCI UTAMA yang sama. Ini menghasilkan kesalahan 1062 (Kunci Duplikat).
Satu-satunya cara Anda dapat menulis ke Slave tanpa melanggar Replikasi MySQL adalah ini:
CREATE DATABASE db4;
SlaveUntuk mendeteksi Master dan Budak tidak sinkron tanpa mengunduh alat apa pun, pilih tabel apa saja dan jalankan CHECKSUM TABLE dengan tabel pada Master dan salinan Slave dari tabel yang sama.
CONTOH
Jika Anda memiliki tabel
mydb.mytable
, jalankan perintah yang menentangnya:Jika nilai tidak kembali sama, maka ada sesuatu yang tidak sinkron.
Jika Anda ingin memeriksa banyak meja secara massal, Anda dapat menelusuri MAATKIT Percona. Anda akan membutuhkan dua alat khusus (Percona juga memiliki Percona Toolkit yang mereka ambil sendiri dari MAATKIT yang sekarang sedang dipromosikan lebih lanjut)
atau
pt-table-checksum
akan melakukan TABEL CHECKSUM terhadap semua tabel di Master dan Slave. Anda dapat mengonfigurasinya untuk melakukan semua database hanya pada yang spesifik.pt-table-sync
dapat dijalankan pada Budak melawan tabel apa pun. Dengan menggunakan opsi --print dan --sync-to-master, Anda bisa melihat pernyataan SQL apa yang perlu dijalankan pada Slave agar cocok dengan Master. Alat ini tidak berfungsi dengan tabel yang tidak memiliki KUNCI UTAMA atau KUNCI UNIK.Saya telah menggunakan MAATKIT selama bertahun-tahun. Aku masih melakukan. Saya belum mencoba Percona Toolkit, tetapi saya yakin kualitasnya harus sama dengan MAATKIT.
sumber