Silakan ikuti langkah-langkah di bawah ini untuk mengatur pengaturan MySQL Master-Slave.
Langkah-langkah ini telah diuji dan bekerja pada node CentOS 7.x.
Untuk mengikuti, Anda setidaknya memerlukan dua node komputasi. Anda dapat meluncurkan node komputasi sesuai permintaan di E2E Public Cloud. Klik di sini untuk tahu lebih banyak.
Mari kita asumsikan server di bawah ini.
IP server utama:192.168.1.1
IP Server Budak:192.168.1.2
Langkah 1:Siapkan Server Master
#yum -y update
Langkah 2:Tambahkan Repo
rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
Langkah 3:Instal mysql-server 5.6 (Versi stabil)
yum -y install mysql-server
Langkah 4:Mulai/hentikan/mulai ulang Server MySQL
#systemctl start mysqld #systemctl stop mysqld #systemctl restart mysqld #systemctl status mysqld
Langkah 5:Setel ulang kata sandi root MySQL
#mysql_secure_installation Enter current password for root (enter for none): Enter a secure password Set root password? [Y/n] y New password: Re-enter new password: To Remove anonymous users Remove anonymous users? [Y/n] y To disable remote root login Disallow root login remotely? [Y/n] y To reload privileges Reload privilege tables now? [Y/n] y
Langkah 6:Konfigurasi MySQL di Server Master
Tambahkan entri berikut di bagian [mysqld].
# vim /etc/my.cnf server-id = 1 log-bin = /var/lib/mysql/mysql-bin Restart MySQL service #systemctl restart mysqld
Langkah 7:Buat dan berikan akses replikasi
# mysql -u root -p mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.1.2' IDENTIFIED BY replication-password; mysql> FLUSH PRIVILEGES; mysql> \q
Langkah 8:Ambil semua dump database di layar sehingga proses dump akan berjalan di sesi meskipun sesi terminal ditutup.
#screen -S#mysqldump -u root -p --all-databases --master-data > /root/all-databases.sql Sync the dump to the slave server. #scp /root/all-databases.sql root@ :/root/ Or #rsync -arvP /root/all-databases.sql root@ :/root/
Langkah 9:Siapkan server budak
Ikuti langkah 1 hingga 5 untuk membangun server budak.
Tambahkan entri berikut di bagian [mysqld].
# vim /etc/my.cnf server-id = 2 Restart MySQL service #systemctl restart mysqld
Catatan:Server-id harus unik.
Langkah 10:Pulihkan dump
#mysql -u root -p /root/all-databases.sql
Langkah 11:Kenali MASTER_LOG_FILE dan MASTER_LOG_POS
#head -n 30 /root/all-databases.sql | grep MASTER_LOG_FILE CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;
Catatan:Ikuti langkah 1 hingga 5 untuk membuat server budak.
Langkah 12:Konfigurasikan server budak
#mysql -u root -p mysql> SLAVE STOP; mysql> CHANGE MASTER TO MASTER_HOST='[192.168.1.1]', MASTER_USER='['slave_user']', MASTER_PASSWORD='[replication-password]', MASTER_LOG_FILE='[file-listed-on-master-status]', MASTER_LOG_POS=[log-position-listed-on-master-status]; mysql> START SLAVE; mysql> SHOW SLAVE STATUS\G The above command will show the complete slave status and verify the Slave_IO_Running and Slave_SQL_Running should be Yes. Slave_IO_Running: Yes Slave_SQL_Running: Yes