Sebelumnya kita sudah mencoba untuk mengupgrade Mysql 5.5 ke Mysql 5.6 di Centos 6.4. Dilanjutkan untuk membuat replikasi Mysql.
Replikasi ini bertujuan untuk membuat suatu backup online, dimana goal utamanya adalah bagian DRC perusahaan.
Sharing testing ini kita menggunakan VM Guest di Virtualbox.
VM Preparing
1. Buat VM Guest Centos 6.4 (masterdb)
2. Cloning VM Guest Centos 6.4 (slavedb)
3. IP VM menggunakan Host only adapter vboxnet0 pada kedua VM Guest
4. Buat hosts untuk penamaan seperti dibawah
masterdb = 192.168.56.2
slavedb = 192.168.56.5
5. Edit /etc/hosts di kedua server vm
masterdb 192.168.56.2
slavedb 192.168.56.5
Replikasi
A. Konfigurasi Seting Master Server
1.) Edit file /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[mysqld]
innodb_flush_log_at_trx_commit=1
log_bin=/var/lib/mysql/mysql-bin-log/mysql_bin
sync_binlog=1
port = 3306
bind-address = 0.0.0.0
server_id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Buat direktory log
# mkdir /var/lib/mysql/mysql-bin-log
# chown -R mysql.mysql /var/lib/mysql/mysql-bin-log/
# service mysql restart
2.) Buat user replikasi di server master
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'your_password';
Testing saya :
slave_user = slave01
password = password
3. Lock Master dan Dapatkan Binary Log
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql_bin.000004 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
Ingat di isian mysql_bin.000004 dan posisi 120
4. Backup Mysql
#mysqldump --all-databases --master-data > data_dump.sql -p
#scp data_dump.sql root@slavedb:/root
mysql>UNLOCK TABLES;
B. Konfigurasi Seting Slave Server
1.) Edit file /etc/my.cnf
[mysqld]
server_id = 2
log_bin=/var/lib/mysql/mysql-bin-log/mysql_bin
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# service mysql start
2.) Buat direktory log
# mkdir /var/lib/mysql/mysql-bin-log/
# chown -R mysql.mysql /var/lib/mysql/mysql-bin-log/
3.) Restore Data Backup di Server Slave
#mysql -u root -p < data_dump.sql
4.) Setup Konfigurasi Master di Slave Server untuk Mengaktifkan Replikasi
mysql > CHANGE MASTER TO MASTER_HOST='masterdb',
-> MASTER_USER='slave01',
-> MASTER_PASSWORD='password',
-> MASTER_LOG_FILE='mysql_bin.000004',
-> MASTER_LOG_POS=120;
Jalankan sebagai slave
mysql> START SLAVE;
C. Test Replikasi
1.) Jalankan di Master
mysql> CREATE DATABASE test02;
mysql> CREATE TABLE employee (c int);
mysql> INSERT INTO employee (c) VALUES (1);
mysql> INSERT INTO employee (c) VALUES (3);
mysql> SELECT * FROM employee;
+------+
| c |
+------+
| 1 |
| 3 |
+------+
2 rows in set (0.00 sec)
Test kembali dengan membuat database yang baru lainnya.
2.) Jalankan di Slave
Seharusnya sudah ada database yang baru beserta isian datanya.
mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: masterdb
Master_User: slave01
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000004
Read_Master_Log_Pos: 347
Relay_Log_File: slavedb-relay-bin.000004
Relay_Log_Pos: 510
Relay_Master_Log_File: mysql_bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 347
Relay_Log_Space: 848
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: a758639f-c76b-11e2-91ea-08002789e29e
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
ERROR:
No query specified
mysql>
Selamat Mencoba
Ref.
- http://www.tecmint.com/how-to-setup-mysql-master-slave-replication-in-rhel-centos-fedora/
- http://opensourcedbms.com/dbms/setup-replication-with-mysql-5-6-server-on-centos-6-redhat-el6-fedora/
Wednesday, May 29, 2013
Centos 6.4. Upgrade MySQL 5.5 to MySQL 5.6
Mysql 5.6 mempunyai kelebihan yaitu :
Centos 6.4 menggunakan standar Mysql 5.5. Dan kali ini saya coba upgrade ke versi 5.6.
Pertama saya menggunakan Centos 6.4 versi 32 bit untuk dijalankan di VM Virtualbox di Ubuntu Mint.
Download beberapa file Mysql yaitu :
- MySQL-client-5.6.11-2.el6.i686.rpm
- MySQL-server-5.6.11-2.el6.i686.rpm
- MySQL-shared-5.6.11-2.el6.i686.rpm
Untuk mempercepat proses download, saya mengambilnya dari web rpmbone.net.
Proses upgrade:
1. Login sebagai root
2. Stop service mysql
#service mysql stop
3. Pindahkan directory database mysql yang lama dan my.cnf
#mv /var/lib/mysql/ /var/lib/mysql5.5
#mv /etc/my.cnf /etc/my.cnf5.5
4. Hapus package mysql
#yum remove mysql-server-5.1.66-2.el6_3.i686 mysql-5.1.66-2.el6_3.i686 mysql-shared-5.1.66-2.el6_3.i686 yum remove mysql-libs-5.1.66-2.el6_3.i686
5. Install package Mysql 5.6
#rpm -ivh MySQL-shared-5.6.11-2.el6.i686.rpm
#rpm -ivh MySQL-client-5.6.11-2.el6.i686.rpm
#rpm -ivh MySQL-server-5.6.11-2.el6.i686.rpm
6. Jalankan Mysql
#service mysql start
7. Coba untuk masuk ke mysql
#mysql -u root -p
Akses root ke mysql akan terdapat error. Cek file di /root/.mysql_secret
File tersebut berisikan password root mysql yang baru.
8. Ganti password root mysql.
mysql>
9.File /etc/my.cnf dapat diambil dari direktory
# rpm -ql MySQL-server |grep cnf
/etc/my.cnf
/usr/share/doc/MySQL-server-5.6.11/my-default.cnf
/usr/share/mysql/my-default.cnf
- Optimizer improvements for all-around query performance.
- InnoDB improvements for higher transactional throughput.
- New NoSQL-style
memcached
APIs. - Partitioning improvements for querying and managing huge tables.
- Replication improvements covering many aspects.
- Better performance monitoring by expanding the data available through the
PERFORMANCE_SCHEMA
.
Centos 6.4 menggunakan standar Mysql 5.5. Dan kali ini saya coba upgrade ke versi 5.6.
Pertama saya menggunakan Centos 6.4 versi 32 bit untuk dijalankan di VM Virtualbox di Ubuntu Mint.
Download beberapa file Mysql yaitu :
- MySQL-client-5.6.11-2.el6.i686.rpm
- MySQL-server-5.6.11-2.el6.i686.rpm
- MySQL-shared-5.6.11-2.el6.i686.rpm
Untuk mempercepat proses download, saya mengambilnya dari web rpmbone.net.
Proses upgrade:
1. Login sebagai root
2. Stop service mysql
#service mysql stop
3. Pindahkan directory database mysql yang lama dan my.cnf
#mv /var/lib/mysql/ /var/lib/mysql5.5
#mv /etc/my.cnf /etc/my.cnf5.5
4. Hapus package mysql
#yum remove mysql-server-5.1.66-2.el6_3.i686 mysql-5.1.66-2.el6_3.i686 mysql-shared-5.1.66-2.el6_3.i686 yum remove mysql-libs-5.1.66-2.el6_3.i686
5. Install package Mysql 5.6
#rpm -ivh MySQL-shared-5.6.11-2.el6.i686.rpm
#rpm -ivh MySQL-client-5.6.11-2.el6.i686.rpm
#rpm -ivh MySQL-server-5.6.11-2.el6.i686.rpm
6. Jalankan Mysql
#service mysql start
7. Coba untuk masuk ke mysql
#mysql -u root -p
Akses root ke mysql akan terdapat error. Cek file di /root/.mysql_secret
File tersebut berisikan password root mysql yang baru.
8. Ganti password root mysql.
mysql>
UPDATE mysql.user SET Password=PASSWORD('newpwd
')
WHERE User='root';
9.File /etc/my.cnf dapat diambil dari direktory
# rpm -ql MySQL-server |grep cnf
/etc/my.cnf
/usr/share/doc/MySQL-server-5.6.11/my-default.cnf
/usr/share/mysql/my-default.cnf
Wednesday, May 08, 2013
SNMP Agent Ubuntu 12.04 untuk Client Cacti
Beberapa kali saya coba test untuk testing snmp agent di Ubuntu, tetapi ketika dijalankan snmpwalk -c public -v1 localhost.....hasilnya selalu Timeout: No Response from localhost.
Akhirnya dapat pencerahan yaitu di file /etc/snmp/snmpd.conf ada direktif yang harus dirubah di
# Listen for connections from the local system only
agentAddress udp:127.0.0.1:161
menjadi
agentAddress udp:0.0.0.1:161
dan di file /etc/default/snmp pastikan berisi
# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
Jalankan test :
Dari PC sendiri
snmpwalk -c public -v1 localhost
Dari PC lain
Akhirnya dapat pencerahan yaitu di file /etc/snmp/snmpd.conf ada direktif yang harus dirubah di
# Listen for connections from the local system only
agentAddress udp:127.0.0.1:161
menjadi
dan di file /etc/default/snmp pastikan berisi
# snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
Jalankan test :
Dari PC sendiri
snmpwalk -c public -v1 localhost
Dari PC lain
snmpwalk -c public -v1 192.168.0.10
Saturday, May 04, 2013
Endian Firewall Communty 2.5.1 Tuning Squid
Endian yang saya gunakan terkadang mengalami hambatan, dimana ketika user banyak yang terkoneksi maka jaringan internet akan lambat.
Saya sering berifikir hal ini dikarenakan spesifikasi server yang kurang. Dimana saya menggunakan :
- Intel Xeon 5120
- Memory 4 GB
- Hardisk 2 TB x 2
Jika dilihat spesifikasi diatas harusnya sudah cukup, terlebih menggunakan Intel Xeon dan Memory 4 GB.
Tetapi kenyataannya sangatlah berbeda. Memang untuk hardisk saya menggunakan 2 TB x 2 yang di raid 1 otomatis dari Endian. Hardisk tersebut adalah versi Desktop.
Saya coba cari literatur lain di internet untuk tuning squidnya.
Pertama, tuning kernelnya :
Masukkan code di bawah di /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 20
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 60
Untuk netfilter berfungsi mempersingkat waktu connection dimana default yaitu 119 jam menjadi 5 menit
Kedua, tuning squid :
Masukkan code di bawah di /var/efw/proxy/custom.tmpl
maximum_object_size_in_memory 64 KB
Direktif ini mempunya fungsi dimana file yang berukuran kurang dari 64 KB akan disimpan di cache memory. Jadi tidak disimpan di memory cache hardisk.
Direktif ini secara otomatis akan terupdate di /etc/squid/squid.conf
Lalu tambahkan atau edit di web admin untuk /etc/squid/squid.conf. Beberapa yang dirubah adalah :
cache_mem 1768 MB # Tidak boleh melebihi memory hardware
cache_dir aufs /var/spool/squid 500 16 256 # 500 MB untuk disk cache
maximum_object_size 1512 KB # Maksimum file yang disimpan di disk cache
minimum_object_size 65 KB # Minimum file yang disimpan di disk cache
Selamat Mencoba
Saya sering berifikir hal ini dikarenakan spesifikasi server yang kurang. Dimana saya menggunakan :
- Intel Xeon 5120
- Memory 4 GB
- Hardisk 2 TB x 2
Jika dilihat spesifikasi diatas harusnya sudah cukup, terlebih menggunakan Intel Xeon dan Memory 4 GB.
Tetapi kenyataannya sangatlah berbeda. Memang untuk hardisk saya menggunakan 2 TB x 2 yang di raid 1 otomatis dari Endian. Hardisk tersebut adalah versi Desktop.
Saya coba cari literatur lain di internet untuk tuning squidnya.
Pertama, tuning kernelnya :
Masukkan code di bawah di /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 20
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 15
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 60
Untuk netfilter berfungsi mempersingkat waktu connection dimana default yaitu 119 jam menjadi 5 menit
Kedua, tuning squid :
Masukkan code di bawah di /var/efw/proxy/custom.tmpl
maximum_object_size_in_memory 64 KB
Direktif ini mempunya fungsi dimana file yang berukuran kurang dari 64 KB akan disimpan di cache memory. Jadi tidak disimpan di memory cache hardisk.
Direktif ini secara otomatis akan terupdate di /etc/squid/squid.conf
Lalu tambahkan atau edit di web admin untuk /etc/squid/squid.conf. Beberapa yang dirubah adalah :
cache_mem 1768 MB # Tidak boleh melebihi memory hardware
cache_dir aufs /var/spool/squid 500 16 256 # 500 MB untuk disk cache
maximum_object_size 1512 KB # Maksimum file yang disimpan di disk cache
minimum_object_size 65 KB # Minimum file yang disimpan di disk cache
Selamat Mencoba
Subscribe to:
Posts (Atom)
Mobile Device Deployment - CISSP (Domain 3)
Mobile Device Deployment Policies Mobile Device Deployment Policy harus diarahkan secara luas terkait penggunaan perangkat yang diizinkan da...
-
Server A : 192.168.0.1 (Server lama : Centos 7), port 80 Server B : 192.168.0.2 (Server baru : Centos 8), port 80 Nginx Load Balance : 192.1...
-
Beberapa hari yang lalu Subject email Zimbra selalu di tambahkan tulisan ***UNCHECKED***. Padahal tidak ada perubahan konfigurasi mail serv...
-
Security Model A. Bell-Lapadula Model (Confidentiality-Kerahasiaan) Simple Properties : No read up. Tidak boleh melihat/membaca data ke leve...