Assalamu'alaikum warahmatullah wabarakatuh Ciiiee,, balik lagi bersama anee.. Kali ini ane mau share aja nih cara membuat replicati...

CentOS 7 : 9.9 Replication Setting on MySQL Apache CentOS 7

 Assalamu'alaikum warahmatullah wabarakatuh

Ciiiee,, balik lagi bersama anee.. Kali ini ane mau share aja nih cara membuat replication settings di MySQL dengan Apache di CentOS7.  Replication Settings ini berguna saat anda ingin membuat klone, atau tiruan dari server databasenya. Ini untuk menghindari yang namanya penyerangan web sih...

Database yang berada pada server master, akan di clone dan disebarkan ke server slave (Cadangan). Dengan begitu, insyaallah database jadi lebih aman.



Saya menggunakan : 
      • - 2 Server CentOS dengan Apache dan MySQL beserta phpMyAdminnya
      • - 1 client windows dengan browser

Topologi


Bahan-bahan yang dibutuhkan:
    • - 2 Server CentOS
    • - 1 Komputer Client berbasis GUI
    • - Terinstall DNS untuk Master Server, tutor DISINI
    • - Sudah terinstall Apache, modul php, tutor DISINI
    • - Terinstall MySQL, tutor DISINI
    • - Terinstall phpMyAdmin, tutor DISINI
    • - SU mode



Pokok bahasan kita adalah :
    • 1. Menambahkan 2 DNS dengan 2 IP yang berbeda di Master
    • 2. Konfigurasi dan Manajemen User MySQL di Master Server
    • 3. Konfigurasi MySQL di Slave/ node1 server
    • 4. Membuat Get-Dump data di Master Server
    • 5. Konfigurasi Replica Settings di Slave/node1 Server
    • 6. Uji Coba Client


Konfigurasi DNS di Master Server

1. Edit pada forward nya



2. Walau Server Slave berada di Server lain, kita daftarkan domainnya disini aja ya



3. Jangan lupa juga reverse nya



4. Kita cek apakah konfigurasi DNS sudah benar atau belum
nslookup node1.networknjay.com



Konfigurasi dan Manajemen User di MySQL Master Server


1.Edit sedikit pada file berikut ini...

nano /etc/opt/rh/rh-mysql57/my.cnf.d/rh-mysql57-mysql-server.cnf




2.Lalu pada baris ke "22" lalu tambahkan Script berikut...
[mysqld]
log-bin=mysql-bin
server-id=1
Keterangan :
- "log-bin=mysql-bin" = pengarahan ke log pada mysql
-"server-id=1" adalah sintak untuk Memberikan Uniq ID "nomor cantik" pada server



3.Simpan dan Keluar lalu restart MySQL nya.

systemctl restart rh-mysql57-mysqld 




4.  Masuk ke MariaDB nya dan masukkan password anda
mysql -u root -p



5. Membuat User "replica". Kita buat user "replica" dengan password "Xianjeng123!". Boleh diganti untuk kata password nya, tapi untuk nama user "replica" SEBAIKNYA JANGAN DIGANTI.
grant replication slave on *.* to replica@'%' identified by 'Xianjeng123!';
keterangan :
Untuk memberitahu server untuk me-reload tabel grant, lakukan operasi flush-privileges. Hal ini dapat FLUSH PRIVILEGES dilakukan dengan mengeluarkan sebuah pernyataan atau dengan menjalankan hak istimewa mysqladmin flush-mysqladmin atau reload .


6. Lalu kita flush privileges dan exit.
flush privileges;
exit
keterangan :
sudah dijelaskan diatas..




Konfigurasi MySQL di Slave /node1

1. Login pada Slave dan Edit sedikit pada direktori ini

nano /etc/opt/rh/rh-mysql57/my.cnf.d/rh-mysql57-mysql-server.cnf




2. Tambahkan skrip berikut pada baris ke "22".
[mysqld]
log-bin=mysql-bin
server-id=102
read_only=1
report-host=node01.srv.world
keterangan :
- "log-bin=mysql-bin" = Tambahkan log dari MySQL
- "server-id=102" = memberikan ID yang Uniq (harus beda sama master, lebih ke penamaan lewat angka aja sih)
- "read_only=1" = Kasih baca
- "report-host=node1.networknjay.com" = nah, ini kita isi hostname dari slave nya



3. Simpan dan Keluar lalu restart MySQL nya
systemctl restart rh-mysql57-mysqld 




Membuat Get-Dump data untuk MySQL (File backup konfigurasi) pada MASTER


1. Masuk root master, dan login ke MySQL nya.. lalu kita flush tables, dan kita lihat file status dari masternya. List table ini berguna bagi Slave untuk mencocokkan konfigurasi replica dengan master. HAFALKAN FILE DAN POSITION NYA!!!

mysql -u root -p 
flush tables with read lock; 
show master status;
exit
keterangan:
Mengenai flush tables, The FLUSHpernyataan memiliki beberapa bentuk varian yang jelas atau reload berbagai cache internal tabel flush, atau memperoleh kunci. Untuk mengeksekusi FLUSH, Anda harus memiliki hak RELOADistimewa. Pilihan flush yang spesifik mungkin memerlukan hak istimewa tambahan, seperti yang dijelaskan kemudian. Secara default, server menulis FLUSHpernyataan ke log biner sehingga mereka meniru replikasi budak. Untuk menekan logging, tentukan NO_WRITE_TO_BINLOGkata kunci opsional atau alias nya LOCAL.
-"flush tables with read lock" adalah perintah untuk mengunci semua table
- "show master status" adalah perintah untuk melihat file log dari mysql
------TABLES
- "File" adalah file Log dari MySQL yang akan di singkronisasikan pada Slave
- "Position" adalah penomoran file Log nya. (Nomor tidak harus sama)



2. Keluar dari databasenya.. dan ketikkan perintah ini untuk mengeksekusi file dump. Bisa dibilang, kita bikin backupan konfigurasi yang ada saat ini..
mysqldump -u root -p --all-databases --lock-all-tables --events > mysql_dump.sql 



3.Kembali lagi ke MariaDB nya.. Lalu unlock table yang barusan kita execute.. Lalu keluar
mysql -u root -p
unlock tables; 
exit
keterangan :
mengenai lock dan unlock tables, MySQL memungkinkan sesi klien untuk memperoleh kunci tabel secara eksplisit untuk tujuan bekerja sama dengan sesi lain untuk akses ke tabel, atau untuk mencegah sesi lain memodifikasi tabel selama periode ketika sesi memerlukan akses eksklusif kepada mereka
- "unlock tables" adalah perintah untuk membuka table kembali


4.Kita transfer file mysql_dump.sql ke node1 dengan menggunakan user ROOT dari SERVER NODE1 atau Slave nya.. Ingat, MASUKKAN PASSWORD ROOT SERVER NODE1!!! Ini ibarat mengirim sebuah file dengan menggunakan SSH, jadi atur dulu SSH untuk Node1 nya..
scp mysql_dump.sql node1.networknjay.com:/tmp/ 
keterangan :
- "scp" adalah perintah untuk mentransfer file keluar Server, ini juga biasa digunakan pada FTP atau Shared folder dengan syarat kita memiliki izin akses masuk ke PC nya (punya user)




Konfigurasi Replication Setting MySQL di Slave

1.  Setelah file terkirim, kita import file mysql_dump.sql berikut ke MySQL. dengan password root dari NODE1 nya. Karena tadi kita kirim file backup tersebut ke /tmp
mysql -u root -p < /tmp/mysql_dump.sql 




2. Kita masuk ke MariaDB Node1 nya
 mysql -u root -p
change master to 
    -> master_host='172.16.11.115',     # IP master MySQL nya
    -> master_user='replica',     # ID/ User replica
    -> master_password='Xianjeng123!',     # Password Replica
    -> master_log_file='mysql-bin.000001',     # Ingat step "show master status"? Copikan!
    -> master_log_pos=732;     # Position diambil berdasarkan step diatas


3. Start slaaaveee nyaa... :v Kita akan mulai replicaanyaaaa
start slave;




4. Lalu kita lihat, apakah Server dan Slave /Node1 sudah saling terhubung atau belum. Dengan melihat atau menyimak yang sudah di beri garis merahh..
show slave status\G




Uji Coba Client

1.Saya menggunakan client Windows 10 PRO Ori dengan browser mozilla, dan saya akan mencoba mengakses domain dari database server saya.. www.networknjay.com/phpMyAdmin dan Node1.networknjay.com/phpMyAdmin.




2.Ciiie kebuka ciiiee,, lalu kita ke MASTER DULU deh,.. Coba buat database baru. 




3. Testing_DB ya nama databasenya




4. Muncul yaa nama database nya di Server Master....




5. Kita coba ke Slave atau Node1.. Kita login dan lihat daftar database nya.....

0 comments:

Assalamu'alaikum warahmatullah wabarakatuh Ciiee balik lagi bersama saya, kali ini saya mau share aja tentang cara install phpMyA...

CentOS 7 :9.8 Enable phpMyAdmin in MySQL Apache on CentOS 7

Assalamu'alaikum warahmatullah wabarakatuh

Ciiee balik lagi bersama saya, kali ini saya mau share aja tentang cara install phpMyAdmin di CentOS 7 dengan Apache. Yak kawan-kawan udah tau lah tentang apa itu PhpMyAdmin.. 

phpMyAdmin adalah aplikasi Web Based sebagai Pusat untuk mengatur Aplikasi database. Jadi ya phpMyAdmin ini bisa dikoneksikan dengan aplikasi database MariaDB atau MySQL. Ini berbasis Web Based, tinggal akses lewat browser, kita sudah bisa memanajemen database kita :v . Daripada memanajemen database di server langsung yang layarnya itemputih :v huuu seremmmm...

Ini juga memudahkan para web programmer dalam mengolah database mereka. Aplikasi ini akan saya jalankan dengan menggunakan Apache dan juga Install PHP (module php untuk apache). Baru deh, kita akan install dan konfigurasi phpMyAdmin nya.

TOPOLOGI

Bahan-bahan yang saya butuhkan :
      • - Koneksi Internet
      • - Repository Epel
      • - Sudah terinstall DNS dan Apache, tutor DISINI
      • - Install PHP module apache, tutor DISINI
      • - Install MySQL, tutor DISINI



Pokok Bahasan Kita : 
    1. 1. Install Repository Epel dan Aplikasi phpMyAdmin
    2. 2. Konfigurasi phpMyAdmin
    3. 3. Uji Coba Client

Langsung aja cap cip cuuusss..... Menuju ke tutorial

Install Repository Epel dan phpMyAdmin

1. Install repository epel nya
yum install epel-release

2. Install aplikasi phpMyAdmin nya melalui repository epel.
yum --enablerepo=epel install phpMyAdmin php-mysql php-mcrypt -y



Konfigurasi phpMyAdmin


1. Kita akan edit sedikit pada bagian ini..
nano /etc/httpd/conf.d/phpMyAdmin.conf



2. Menuju ke baris "17", pada kata "Require ip". Kita tambahkan IP dari network kita. Penjelasan ada di nomer 3 nanti yakkk
Require ip 127.0.0.1 172.16.11.0/24



3. Lalu menuju ke baris 34, pada kata "Require ip". Tambahkan IP Network kita.
Require ip 127.0.0.1 172.16.11.0/24
Keterangan :
"Require ip" adalah sintak yang mengizinkan siapa saja yang boleh mengakses phpMyAdmin nya. Karena server saya itu CLI, saya agak "kesusahan" jika harus membuat database langsung di servernya. Layarnya item putih cukk.... Maka dari itu, saya akan meremoteDatabase lewat client yang satu jaringan dengan Server CentOS nya. Inilah fungsi dari Require ip



4. Kita restart Apache nya..
systemctl restart httpd



Uji Coba Client

Saya uji dengan client Windows 10 PRO ORI lewat browser Mozilla..
akses domain anda (domainanda)/phpMyAdmin ... Lewat browser ya gann.. Masukkan User anda




Yakk udah sippp.... BISA!!1

0 comments:

Assalamu'alaikum warahmatullah wabarakatuh Kali ini saya akan share tentang cara install MySQL di CentOS. Sudah tau kan MySQL itu...

CentOS 7 : 9.7 Install MySQL in CentOS 7


Assalamu'alaikum warahmatullah wabarakatuh
Kali ini saya akan share tentang cara install MySQL di CentOS. Sudah tau kan MySQL itu apa ?? yapp, ini adalah aplikasi database. MySQL ini sangat sangat sangat terkenal dikalangan orang IT dan programmer. Pengertian MySQL adalah Mysql adalah sebuah server database open source yang terkenal yang digunakan berbagai aplikasi terutama untuk server atau membuat WEB. Mysql berfungsi sebagai SQL (Structured Query Language) yang dimiliki sendiri dan sudah diperluas oleh Mysql umumnya digunakan bersamaan dengan PHP untuk membuat aplikasi server yang dinamis dan powerfull :).

Aplikasi ini juga dapat terintegrasi dengan aplikasi phpmyadmin, tau gak?? kalau gak, simak ampe lab berikutnya. BTW, kali ini cuman mau share aja tentang cara installnya. Kalau antum udah terlanjut install MariaDB, its yowes rapopo.. Install MySQL aja, karena path MySQL berada di direktori lain. 


Simaklah topologi dibawah ini : 


Bahan-bahan yang saya butuhkan untuk install MySQL ini :
    •  - Install Repository lewat Internet
    •  - Mode Root Centos
    •  -  Koneksi Internet

Pokok bahasan kita adalah :
      • - Install MySQL
      • - Konfigurasi MySQL

Install dan Konfigurasi MySQL

1. Install repository SCLO centos terlebih dahulu
yum -y install centos-release-scl-rh centos-release-scl



2. Lalu install MySQL melalui repository sclo
yum --enablerepo=centos-sclo-rh install -y rh-mysql57-mysql-server
Keterangan : 
"--enablerepo" adalah perintah untuk menjalankan repository yang dipilih


3. Setelah terinstall mysql nya. Kita jalankan bash script atau protokol dari MySQL nya.. Lalu lihat versi mysql nya, dan kita simak, dimana direktori path aplikasi mysql nya :v
scl enable rh-mysql bash
mysql -V
which mysql


4. Lalu kita buat file baru
nano /etc/profile.d/rh-mysql57.sh


5. Masukkan script berikut untuk menjalankan aplikasi mysql secara permanent pada service. Ternyata untuk menjalankan mysql nya, tidak cukup dengan "systemctl enable dan start dari mysql nya". Lalu simpan dan keluar.
#!/bin/bash

source /opt/rh/rh-mysql57/enable
export X_SCLS="`scl enable rh-mysql57 'echo $X_SCLS'`"
Keterangan :
X_SCLS adalah sintak Regex untuk mengaktifkan dan menjalankan aplikasi pada service secara permanent.



6. Kita rubah sedikit konfigurasi dari mysql nya.
nano /etc/opt/rh/rh-mysql57/my.cnf.d/rh-mysql57-mysql-server.cnf

7. Pada baris ke "16" di bawah kata "[mysqld]".


8. Kita tambahkan script berikut.. Lalu keluar dan simpan.
character-set-server=utf8
Keterangan :
character-set-server=utf8 adalah sintak untuk mengaktifkan auto-reconnect pada client. Ini meningkatkan kinerja server, karena harus menyediakan auto update untuk database yang diakses oleh client


9. Lalu kita mulai dan jalankan mysqld nya :v
systemctl start rh-mysql57-mysqld
systemctl enable rh-mysql57-mysqld



10. Yeayyyy.. Lanjut ke pengaturan keamanan dari Mysql nyaahhh
mysql_secure_installation



Kita akan set keamanan pada mysql nya. Kita "Y"


 Lalu ketikkan kekuatan password yang anda mau.. Anda harus menggunakan kata, huruf dan simbol untuk mendapatkan kekuatan password yang baguss... kita pilih no 2 boleh juga nomer 3


 masukkan password nyaaaa...


 Kita akan gunakan password yang tadi inih... PASTILAH


Apakah anda ingin membuang user "anonymous" saya jawab "Y"


Apakah anda ingin mengizinkan root login saat ada orang lain meremote atau mengakses Database dari luar server... "Y"


Apakah anda ingin membuang database lama anda ? "Y"


Anda ingin me reload atau menyegarkan table terbaru (database) dari mysql nya ? "Y"





11. Kita login ke MySQL nya.. gunakan password yang sebelumnya telah kita set.
mysql -u root -p


12. Kita lihat user yang terdaftar dengan perintah..
select user,host from mysql.user;


13. Kita lihat database nya dengan perintah...
show databases;

14. Kita keluar dengan perintah
exit



15. Kita daftarkan mysql pada firewall karena ini mengakses file didalam server.
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload



0 comments: