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
Post a Comment