Duplicate Entry for Primary Key - Troubleshooting replikasi database MySQL dengan hubungan Master Slave - 3
Untuk kali ini saya membuat percobaan pada replikasi Master Slave database MySQL server untuk memperbaiki masalah duplicate entry for primary key di server Slave. Berikut topologinya:
dari situ saya mencoba memasukkan data ke dalam server Slave, dimana tabel yang direplikasi memiliki constraint primary_key pada kolom ID. Jadi gini, saya punya tabel yang di replikasi dari master ke slave seperti berikut:
Data Master
id data
1 test1
2 test2
Data Slave
id data
1 test1
2 test2
kemudian saya iseng memasukkan data ke server Slave sehingga posisinya menjadi seperti berikut:
Data Master
id data
1 test1
2 test2
Data Slave
id data
1 test1
2 test2
3 iseng
alhasil ketika master di insert data baru menjadi:
Data di Server Master:
id data
1 test1
2 test2
3 test3
Data di server slave tidak direplikasi sehingga tetap seperti berikut:
Data di Server Slave:
id data
1 test1
2 test2
3 iseng
Begitu juga ketika saya menambah data baru ke server master sehingga datanya menjadi:
Data di Server Master:
id data
1 test1
2 test2
3 test3
4 test4
data Slave tetap seperti sebelumnya, ternyata replikasi yang dijalankan server Slave terhenti!
Data di Server Slave:
id data
1 test1
2 test2
3 iseng
lalu saya mencoba melihat status server slave dan ternyata menghasilkan error log seperti berikut:
Last_Errno: 1062
Last_Error: Error 'Duplicate entry '3' for key 'PRIMARY'' on query. Default database: 'belajar'. Query: 'INSERT INTO test VALUES ( NULL, 'tes3')'
maka sebagai solusinya yaitu saya menghapus data dengan ID 3 di server slave sehingga menjadi berikut:
Data di Server Slave:
id data
1 test1
2 test2
kemudian saya restart service mysql server di SLAVE dengan perintah:
sudo service mysql restart
tunggu beberapa saat maka server slave akan kembali mereplikasi seperti semula. Data di dalam tabel slave juga akan disamakan dengan tabel milik master menjadi speerti berikut:
Data Master
id data
1 test1
2 test2
3 test3
4 test4
Data Slave
id data
1 test1
2 test2
3 test3
4 test4
Mudah bukan memperbaiki error karena duplicate id primary key yang terjadi di replikasi Master Slave MySQL. Terima kasih telah berkunjung.
Comments