Cara mengatur replikasi master-master mysql
- 4673
- 672
- Ian Parker
Replikasi Master-Slave MySQL adalah mengatur server budak untuk segera diperbarui segera setelah perubahan dilakukan di Master Server. Tetapi tidak akan memperbarui master jika ada perubahan yang dilakukan di server budak. Baca artikel ini untuk mengatur replikasi master-slave.
Artikel ini akan membantu Anda mengatur replikasi master-master antara server MySQL. Dalam pengaturan ini jika ada perubahan yang dilakukan di salah satu server akan memperbarui yang lain.
Rincian Pengaturan:
Master-1: 192.168.1.15 Master-2: 192.168.1.16 Database: mydb
Jika Anda menggunakan berbagai versi MySQL yang berbeda di salah satu server menggunakan tautan ini untuk memeriksa kompatibilitas.
Langkah 1. Siapkan server MySQL Master-1
- Edit file konfigurasi mysql dan tambahkan baris berikut di bawah bagian [mysqld].
# vim /etc /my.CNF
[mysqld] log-bin = mysql-bin binlog-db-db = mydb server-id = 1
# layanan mysqld restart
mysql> hibah budak di *.* Ke 'repl_user'@'%' diidentifikasi oleh 'SecretPassword'; mysql> hak istimewa flush;
mysql> Gunakan mydb; mysql> tabel flush dengan kunci baca;
MySQL> Tampilkan Status Master; +------------------+----------+--------------+------------------+ | File | Posisi | Binlog_do_db | Binlog_ignore_db | +------------------+----------+--------------+---- --------------+ | mysql-bin.000003 | 332 | mydb | | +------------------+----------+--------------+---- --------------+ 1 baris di set (0.00 detik)
Output di atas menunjukkan bahwa file biner saat ini digunakan mysql-bin.000003 dan nilai offset adalah 332. Catat nilai-nilai ini untuk digunakan pada server master-2 pada langkah berikutnya.
# mysqldump -u root -p mydb> mydb.SQL # scp mydb.SQL 192.168.1.16:/opt/
MySQL> Buka Kunci Tabel;
Langkah 2. Mengatur server MySQL Master-2
# vim /etc /my.CNF
[mysqld] log-bin = mysql-bin binlog-db-db = mydb server-id = 1
server-id selalu menjadi nilai numerik non nol. Nilai ini tidak akan pernah serupa dengan server master atau budak lainnya.
# layanan mysqld restart
# mysql -u root -p mydb < /opt/mydb.sql
mysql> hibah budak di *.* Ke 'repl_user'@'%' diidentifikasi oleh 'SecretPassword'; mysql> hak istimewa flush;
MySQL> Tampilkan Status Master; +------------------+----------+--------------+------------------+ | File | Posisi | Binlog_do_db | Binlog_ignore_db | +------------------+----------+--------------+---- --------------+ | mysql-bin.000001 | 847 | mydb | | +------------------+----------+--------------+---- --------------+ 1 baris di set (0.00 detik)
Output di atas menunjukkan bahwa file biner saat ini digunakan mysql-bin.000001 dan nilai offset adalah 847. Catat nilai -nilai ini untuk digunakan di Langkah 3.
mysql> ubah master menjadi master_host = "192.168.1.15 ", -> master_user =" repl_user ", -> master_password =" SecretPassword ", -> master_log_file =" mysql -bin.000003 ", -> master_log_pos = 332;
Langkah 3: Pengaturan Lengkap di MySQL Master-1
Masuk ke MySQL Master-1 Server dan jalankan perintah berikut.
mysql> ubah master menjadi master_host = "192.168.1.16 ", master_user =" repl_user ", master_password =" SecretPassword ", master_log_file =" mysql-bin.000001 ", master_log_pos = 847;Langkah 4: Mulai budak di kedua server
Jalankan perintah berikut di kedua server untuk memulai proses budak replikasi.
mysql> slave start;
Replikasi Master-Master MySQL telah berhasil dikonfigurasi pada sistem Anda dan dalam mode kerja. Untuk menguji apakah replikasi berfungsi, buat perubahan di salah satu server dan periksa apakah perubahan mencerminkan server lain.
Terima kasih telah menggunakan tutorial ini, jika itu membantu Anda maka jangan lupa membagikannya dengan teman Anda.
- « Instal Ajaxplorer (platform berbagi file) di Linux
- Cara Mengatur Hadoop Multi-Node Cluster di Centos 7/6 »