Skip to main content

Replikasi Master Slave Mysql di Centos 7






1.     Install dua buah server linux centos

2.     Cek port ethernet yang digunakan untuk nat dan internet host only dengan mengetik perintah

#nmcli d

3.      Setting ip dhcp pada port nat, digunakan untuk mendownload package yum.
Ubah konfigurasi dengan menggunakan perintah dibawah ini :

#vim  /etc/sysconfig/network-script/ifcfg-[port]

Contoh :  #vim  /etc/sysconfig/network-script/ifcfg-enp0s3


Ubah ONBOOT=NO à ONBOOT=YES

Kemudian ketik :wq untuk save dan keluar dari text editor vim.

4.     Restart service mysql dengan perintah dibawah ini :

#service network restart

5.     Pada seri terbaru centos untuk database mysql sudah digantikan dengan mariadb. Solusinya agar masih bisa menggunakan database mysql adalah mendownload melalui rpm.

Buka situs mysql dibawah ini :

*untuk melakukan pengecekan versi mysql terbaru.

Selanjutnya ketik perintah ini di terminal (posisi worksheet sudah di root) untuk mendowload repository melalui file rpm:

*sebelumnya lakukan pengecekan apakah wget sudah terinstall :

#rpm –q wget

*install wget :

#yum install wget -y

kemudian untuk melakukan pemasangan rpm, ketik perintah dibawah ini :

#rpm -ivh mysql-community-release-el7-11.noarch.rpm

6.     Selanjutnya install mysql pada centos dengan menggunakan yum

#yum install mysql-server mysql -y

7.     Setelah mysql selesai terinstall maka jalankan service mysql dan lakukan login ke mysql, dengan mengetik perintah berikut dibawah ini :

*menjalankan service  mysql

#systemctl start mysqld

*login mysql

#mysql  -u root –p

Maka akan meminta mengisikan password, apabila diisikan maka akan ada error password yang dimasukkan salah. Itu dikarenakan pada standar instalasi mysql sudah membawa settingan password temporary.

8.     Untuk melihat password temporary dengan mengetik peritah berikut dibawah ini :

#sudo grep 'temporary password' /var/log/mysqld.log

9.     Maka akan tampil password temporary mysql seperti berikut ini :

Password temporarnya ada di setelah tulisan root@localhost : ….

10.  Kemudian login kembali ke mysql  dengan mengetik perintah dibawah ini :

#mysql  -u root –p

Enter password :
*masukkan password yang ada pada temporary password.
*apabila melakukan show databases;

Maka akan ada error seperti dibawah ini :


Langkah selanjutnya ubah password mysql dengan mengetik perintah :

Mysql> ALTER USER 'root'@'localhost' identified by 'your new password';

Contoh :  mysql > alter user  ‘root’@’localhost’ identified by ‘passw0rd!’;
*pastikan password harus mengandung angka, upper, lower, dan karakter khusus.

Kemudian exit; dan coba login mysql dengan password yang baru.

11.  Untuk server kedua langkahnya hamper sama dari point 1 – 10.

12.  Selanjutnya menyiapkan proses replikasi master – slave.

 


Langkah pertama, siapkan dua ip static agar kedua host saling terhubung.
 Master Ip – 192.168.5.103
 Slave Ip – 192.168.5.104

*sebelumnya disable port ethernet untuk ip dhcp yang sebelumnya dihidupkan.
*masuk ke settingan properties Ethernet

#vim /etc/sysconfig/network-script/ifcfg-[port]

#vim /etc/sysconfig/network-script/ifcfg-enp0s3

Dengan mengubah ONBOOT=YES à ONBOOT=NO

*perintah edit port Ethernet :

#vim /etc/sysconfig/network-script/ifcfg-enp0s8

Kemudian edit port Ethernet untuk ip local :

Dengan mengubah ONBOOT=YES

Dan menambahkan perintah ini :
IPADDR=XXX.XXX.XXX.XXX
NETMASK=XXX.XXX.XXX.XXX.XXX
GATEWAY=XXX.XXX.XXX.XXX

Selanjutnya restart kembali service mysql dengan menggunakan perintah berikut ini :

#systemctl restart mysqld

13.  Mengaktifkan firewall

systemctl start firewalld
systemctl enable firewalld

14.  Tambahkan service yang akan di allow di firewall

firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload

15.  Selanjutnya login ke mysql  dengan perintah :

#mysql  -u root –p

16.  Langkah selanjutnya membuat database dan user untuk replikasi.



[root@linuxhelp ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 10
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> create database rep;
Query OK, 1 row affected (0.11 sec)
mysql> CREATE USER 'repuser'@'localhost' IDENTIFIED BY '123';
Query OK, 0 rows affected (1.45 sec)
mysql> GRANT ALL ON rep.* TO 'repuser'@'localhost';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
17.  Mengkonfigurasi database master.
Ketik perintah dibawah ini :
#vim /etc/my.cnf
Ketik perintah dibawah ini dibawah [mysqld]

server-id=1
binlog-do-db=rep
log-bin=mysql-bin
18.  Kemudian restart service mysql

#systemctl restart mysqld

19.  Login kembali dan membuat database user :
[root@linuxhelp ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.1.73-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'%' IDENTIFIED BY '123';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| rep                |
+--------------------+
3 rows in set (0.03 sec)

mysql> use rep;
Database changed
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      323 | rep          |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> exit
Bye
20.  Perhatikan file dan position nya.
File = ‘mysql-bin.000001’
Position = 323
File dan position akan digunakan untuk melakukan konfigurasi slave.
21.  Selanjutnya export database rep.
[root@linuxhelp ~]# mysqldump -u root -p rep > rep.sql
Enter password:
[root@linuxhelp ~]# ls
anaconda-ks.cfg  Desktop  django  Documents  Downloads  ez_setup.py  install.log  install.log.syslog  Music  Pictures  Public  rep.sql  Templates  Videos
22.  Copy database rep.sql melalui jaringan.
[root@linuxhelp ~]# scp rep.sql root@192.168.5.104:/root/
root@192.168.5.104's password:
rep.sql
23.  Selanjutnya unlock database master
[root@linuxhelp ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.1.73-log Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
24.  Konfigurasi slave
# vim /etc/my.cnf
25.  Tambahkan code berikut dibawah [mysqld]
server-id=2
binlog-do-db=rep
log-bin=mysql-bin
26.  Selanjutnya restart kembali servicenya.
#systemctl restart mysqld
27.  Selanjutnya import database ke database slave
[root@linuxhelp ~]# ls
anaconda-ks.cfg  Desktop  django  Documents  Downloads  ez_setup.py  install.log  install.log.syslog  Music  Pictures  Public  rep.sql  Templates  Videos
[root@linuxhelp ~]# mysql -u root -p rep < rep.sql
Enter password:

Apabila terjadi error maka create database terlebih dahulu.
28.  Selanjutnya create user, membuat koneksi ke database master, log file, password, dan posisi.
[root@linuxhelp ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.1.73-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> CREATE USER 'repuser'@'localhost' IDENTIFIED BY '123';
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT ALL ON rep.* TO 'repuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'%' IDENTIFIED BY '123';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> CHANGE MASTER TO MASTER_HOST='192.168.5.103', MASTER_USER='repuser', MASTER_PASSWORD='123', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=323;
Query OK, 0 rows affected (0.15 sec)

mysql> SLAVE START;
Query OK, 0 rows affected (0.03 sec)


Selanjutnya melakukan pegetesan.

Running database pada database master :
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| rep                |
+--------------------+
3 rows in set (0.02 sec)

mysql> use rep;
Database changed

mysql> create table sample (a int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into sample (a) values (1);
Query OK, 1 row affected (0.01 sec)

mysql> select * from sample;
+------+
| a    |
+------+
1 row in set (0.00 sec)

Kemudian pengetesan pada database slave.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| rep                |
+--------------------+
3 rows in set (0.00 sec)

mysql> use rep;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+---------------+
| Tables_in_rep |
+---------------+
| sample        |
+---------------+
1 row in set (0.00 sec)

mysql> select * from sample;
+------+
| a    |
+------+
|    1 |
+------+
1 row in set (0.00 sec)



Comments

Popular posts from this blog

Ketika Ruang Guru Lebih Booming Dari Rumah Belajar Kemendikbud

Ketika Ruang Guru Lebih Booming Dari Rumah Belajar Kemendikbud Beberapa minggu lalu gw buka twitter dan baca-baca timeline. Tak sengaja gw melihat ada seseorang yang membuat sebuah thread yang membahas mengenai keluh kesah mengenai trend bimbel online  berbayar lebih booming dibanding platform belajar gratis yang di buat oleh kemendikbud. Daripada gw jelasin panjang lebar berikut dibawah ini beberapa potongan twit dari orang tersebut. ku mau cerita dikit nihh boleh ya? bapak aku adlh salah satu pegawai di kemdikbud. pagi ini dia ngeliat iklan bimbel online di tv, lalu dia ngomong "kok bimbel online berbayar booming banget ya? padahal papa dan temen2 udah bikin platform belajar gratis loh buat anak2 Indonesia" — nyugu (@nyuguseiyo) January 27, 2019 Kalau dilihat dari potongan twit diatas, si penulis ini adalah seorang anak yang orang tuanya bekerja di kemendikbud. Dimana adanya perbincangan ringan antara orang tua dan seorang anak yang membahas tayangan televi

Percona Xtradb Cluster and Proxysql

  Percona Xtradb Cluster and Proxysql 192.168.2.78 dbnode1.db   node1 192.168.2.233 dbnode2.db node2 192.168.2.167 dbnode3.db node3 192.168.2.232 dbnode4.db proxysql Percona xtradb cluster 8 ProxySQL version 2.5.4-percona-1.1 Install percona xtradb cluster 8 in node1, node2, node3 # yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm # percona-release enable-only pxc-80 release # percona-release enable tools release # yum module disable mysql -y # yum install percona-xtradb-cluster Then, start service mysql in node1, node2 and node3 # service mysql start Find temporary password in mysqld.log # grep 'temporary password' /var/log/mysqld.log Login mysql with temporary password # mysql -u root -p After login, you must reset root password with your own password. MySQL> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Percona@pxc8'; Then, Verify wsrep parameters in the database. MySQL> show variables like '%wsrep%'; Before conf

PT. Swadharma Sarana Informatika

Pada tulisan ini saya akan menuliskan sebuah profil perusahaan untuk memenuhi tugas matakuliah softskill Pengantar Bisnis Informatika. Profil perusahaan yang akan saya bahas adalah PT. Swadharma Sarana Informatika. Kemudian, saya mendapatkan informasi mengenai perusahaan tersebut dari teman lama saya yang bekerja diperusahaan tersebut melalui pesan facebook dan website perusahaan.             Berikut ini adalah profil dari   perusahaan tersebut yang saya kutip dari website resminya. Perjalanan PT. Swadharma Sarana Informatika dimulai pada tahun 1996, dan kehadirannya dimaksudkan untuk memberikan dukungan pelanyanan prima dalam pengelolaan sarana teknologi komputer. Dalam perkembangannya PT. Swadharma Sarana Informatika semakin tumbuh dan terus meningkat profesionalismenya sejalan dengan perubahan teknologi dan bisnis pada umumnya khususnya di sektor perbankan. Layanan yang ditawarkan oleh perusahaan tersebut : -           Pemasangan (Instalasi) mesin ATM berbagai Merk. -