Saya menjalankan replikasi MySQL master ganda dan sekarang ingin pindah ke satu database tanpa replikasi. Bagaimana cara saya sepenuhnya menonaktifkan replikasi pada kedua database?
64
Saya menjalankan replikasi MySQL master ganda dan sekarang ingin pindah ke satu database tanpa replikasi. Bagaimana cara saya sepenuhnya menonaktifkan replikasi pada kedua database?
Untuk sepenuhnya menonaktifkan replikasi dengan pengaturan master-master, Anda harus melakukan hal berikut pada setiap budak:
STOP SLAVE;
RESET SLAVE;
(Gunakan RESET SLAVE ALL;
untuk MySQL 5.5.16 dan yang lebih baru)
SLAVE STATUS
permintaan bahkan setelahRESET SLAVE
perintah diberikan. Penting untuk diketahui untuk pemantauan atau alat manajemen konfigurasi jarak jauh. Perilaku yang dikonfirmasi dengan MySQL 5.5.38 pada CentOS 6.5.Saya tahu ini adalah pertanyaan lama tetapi saya menemukan saya juga harus mengatur ulang variabel budak. Jika Anda menggunakan "bla" seperti yang disarankan, server akan mencoba saat memulai untuk menemukan server 'bla'.
Anda dapat memverifikasi bahwa mesin tidak lagi menjadi budak
sumber
CHANGE MASTER TO MASTER_HOST=''
sekarang melempar kesalahan.Pada server slave:
Tidak perlu me-restart MySQL pada master atau slave. Dokumentasi lengkap dapat ditemukan di bagian 19 dari Manual Referensi MySQL .
Saya akan merekomendasikan untuk meninggalkan pengaturan replikasi yang tersisa jika Anda memutuskan untuk kembali ke konfigurasi sebelumnya. Dengan begitu Anda hanya perlu mendorong data dan mengatur ulang posisi slave (jangan lupa untuk menghapus lompat-slave-start) daripada membuat ulang seluruh pengaturan.
sumber
Terlepas dari versi MySQL, Cara paling lengkap untuk melakukan ini adalah sebagai berikut
Ini harus bekerja untuk dia versi terbaru karena pengaturan replikasi masih tertinggal di RAM untuk MySQL 5.5.
Saya baru saja menjawab pertanyaan serupa tentang hal ini: Bagaimana mengubah budak MySQL sebelumnya menjadi master dan menghapus informasi status budak?
sumber
Mengedit file my.cnf saja tidak cukup untuk menonaktifkan replikasi. Bahkan, ini bukan lagi cara yang disarankan untuk mengaktifkannya. Menempatkan entri dalam file my.cnf hanya efektif untuk startup berikutnya dan bersikap seolah-olah Anda telah memasukkan perintah ke klien mysql:
mysql> ganti master ke master_host = 'blah', master_user = 'blah', master_password = 'blah' ...;
Kedua metode ini akan membuat file di direktori data yang disebut master.info . Selama file ini ada, server akan mencoba dan mereplikasi menggunakan detail di sana. "RESET SLAVE;" perintah yang tercantum dalam jawaban pertama akan menyingkirkan file master.info (dan juga file relay-log.info ). Seperti disebutkan dalam jawaban pertama, Anda juga ingin memastikan bahwa Anda tidak memiliki informasi konfigurasi di file my.cnf, jika tidak, pada restart server berikutnya, logging akan diaktifkan kembali.
sumber
Satu jawaban ada di sini:
http://www.oops.net.br/~bac/bam/canopy_repl_setup.htm
* Edit file konfigurasi MySQL: /etc/my.cnf dan hapus 7 baris berikut ke bagian berjudul [mysqld]:
Mulai ulang MySQL.
sumber
Saya menambahkan ini ke jawaban Harrison Fisk:
Jika Anda menggunakan
RESET SLAVE ALL;
maka restart tidak diperlukan.Selain itu, Anda mungkin ingin mengaktifkan acara yang telah dinonaktifkan pada slave:
Untuk masing-masing:
sumber