Skip to main content

Master Slave Postgresql di Centos 7


Master Slave Postgresql

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.

1.       Restart service mysql dengan perintah dibawah ini :
#service network restart

2.       Menambahkan repository postgresql

#yum -y install https://yum.postgresql.org/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

3.       Menginstall aplikasi postgresql

# yum -y install postgresql96-server postgresql96-contrib

4.       Sebelum merunning postgresql maka pindahkan properties postgresql direktori dari '/usr/pgsql-9.6/bin' ke 'postgresql96-setup' .

#cd /usr/pgsql-9.6/bin

#./postgresql96-setup initdb

5.       Selanjutnya jalankan service postgresql

#systemctl start postgresql-9.6
#systemctl enable postgresql-9.6

6.       Lakukan pengecekan Postgresql berjalan di 5432 dengan state LISTEN dengan cara :

#netstat –plntu

7.       Apabila service netstat belum tersedia, maka harus lakukan penginstallan.

#yum -y install net-tools

8.       Ubah config di pg_hba.conf


# TYPE  DATABASE        USER            ADDRESS                 METHOD


# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 ident

1.       Login postgresql

# psql –Upostgres –h127.0.0.1

2.       Kemudian running postgresql

su - postgres

psql

3.       Selanjutnya ubah password pada postgresql

\password postgres
Enter new password:

4.       Selanjutnya mengaktifkan firewall dan mengijinkan aplikasi tersebut pada firewall.

firewall-cmd --add-service=postgresql --permanent
firewall-cmd –reload

5.       Cek apakah service tersebut sudah tersetting dengan benar.

firewall-cmd --list-all

6.       Mengubah ip dynamic ke static.

1 CentOS 7 server

Master - Read and Write Permission - IP: 192.168.56.10

1 CentOS 7 server

Slave - Only Read Permission- IP: 192.168.56.11

Root Privileges

*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 :


1.       Konfigurasi master
Pindah ke direktori  '/var/lib/pgsql/9.6/data'  kemudian edit  file konfigurasi 'postgresql.conf'
cd /var/lib/pgsql/9.6/data
#vim postgresql.conf
2.       Setting konfigurasi postgresql master


# listen_addresses = ‘192.168.56.10’
listen_addresses = ‘*’
wal_level = hot_standby

synchronous_commit = local

archive_mode = on
archive_command = 'rsync -a %p 192.168.56.11:/var/lib/pgsql/data/archive/%f'

max_wal_senders = 2
wal_keep_segments = 10


#nama database yang digunakan 'pgslave01'
synchronous_standby_names = 'pgslave01'
*untuk asynchrounous  ‘synchronous_standby_names’ di buat menjadi comment
#synchronous_standby_names = 'pgslave01'


1.       Ubah properties yang ada di file pg_hba.conf
#vim pg_hba.conf


# Localhost
host    replication     replica          127.0.0.1/24            password
 # PostgreSQL Master IP address
 host    replication     replica          192.168.56.10/24            password

# PostgreSQL SLave IP address
 host    replication     replica          192.168.56.11/24            password



Kemudian save dengan mengetik :wq dan enter
1.       Lakukan restart service postgresql
#systemctl restart postgresql-9.6

2.       Membuat user dan password di postgresql
User : replica

Password : xxx

su - postgres
createuser --replication -P replica
Enter New Password:

1.       Konfigurasi database slave
# systemctl stop postgresql-9.6

2.       Pindah ke direktori /var/lib/pgsql/9.6/ dan backup direktori tersebut.
#cd /var/lib/pgsql/9.6/
#mv data data-backup

3.       Buat direktori dan ubah hak aksesnya.
mkdir -p data/
chmod 700 data/
chown -R postgres:postgres data/

4.       Login di postgres master dan copy semua data dari master server ke slave server sebagai user replica.
su - postgres
pg_basebackup -h 192.168.56.10 -U replica -D /var/lib/pgsql/9.6/data -P --xlog
Password:


1.       Selanjutnya setup postgresql.conf (slave server)
#cd /var/lib/pgsql/9.6/data/
#vim postgresql.conf


#listen_addresses = '192.168.56.11'
listen_addresses = '*'
hot_standby = on


1.       Kemudian, buat file dengan nama 'recovery.conf'
#vim recovery.conf


standby_mode = 'on'
primary_conninfo = 'host=192.168.56.10 port=5432 user=replica password=aqwe123@ application_name=pgslave01'
trigger_file = '/tmp/postgresql.trigger.5432'


*di primary_connifo harus sesuai dengan server dan ip yang dipakai

1.       Ubah permission data pada user postgres.
#chmod 600 recovery.conf
#chown postgres:postgres recovery.conf

2.       Mengaktifkan service postgresql
#systemctl start postgresql-9.6

3.       Lakukan pengecekan apakah port postgresql sudah berjalan sesuai dengan standar .
#netstat -plntu



1.       Testing (posisi di postgresql master)
su – postgres
2.       Cek replikasi sudah sync atau async
psql -c "select application_name, state, sync_priority, sync_state from pg_stat_replication;"
psql -x -c "select * from pg_stat_replication;"
3.       Login ke master
su - postgres
psql

4.       Membuat table
CREATE TABLE replica_test (test varchar(100));
INSERT INTO replica_test VALUES ('howtoforge.com');
INSERT INTO replica_test VALUES ('This is from Master');
INSERT INTO replica_test VALUES ('pg replication by hakase-labs');

1.       Login ke slave

su - postgres
psql

2.       Cek data ditable replikasi
select * from replica_test;

#Note
Setup agar running psql di user root : $psql
Ubah settingan /var/lib/pgsql/9.3/data/pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

[root@dbmonitoringnew ~]# systemctl restart postgresql-9.3
[root@dbmonitoringnew ~]# psql -U postgres -h 127.0.0.1

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. -