Agar MySQL Server dapat diakses lewat jaringan
Pada MySQL Server untuk alasan keamanan secara default tidak dapat diakses melalui jaringan komputer, agar dapat diakses melalui jaringan Anda harus edit file konfigruasi my.cnf.
Berikut langkah-langkah konfigurasi mysql agar dapat diakses melalui komputer dalam satu jaringan
- Login via ssh
- Seting enable-networking
- Restart mysql server anda untuk aktifkan perubahan
- Buat user mysql yang akan akses ke server
- Remote user akses ke server
- Buka port 3306
- Buka iptable firewall port 3306
- Hanya IP dalam satu jaringan saja yang bisa akses server mysql
Login ke server dari komputer remote lewat ssh
Jika anda telah login ke server via ssh dan tentu saja sebagai root, edit file my.cnf . Pada linux RedHat base terletak di direktori /etc , pada linux Ubuntu pada direktori /etc/mysql .
1
| vi /etc/mysql/my .cnf |
Jika sudah dibuka tambahkan baris berikut pada tag [mysqld]
1
2
3
4
5
6
| [mysqld] bind-address = 192.168.30.2 port = 3306 #jika ada statement skip-networking di komentar aja #skip-networking |
bind-address : berisi nomor IP server MySQL
skip-netwotking : Tidak menggunakan koneksi TCP / IP sama sekali. Semua interaksi dengan mysqld harus dilakukan melalui soket Unix. Pilihan ini sangat dianjurkan untuk sistem yang hanya diakses dari lokal saja. Karena Anda mengizinkan koneksi remote dari komputer lain, maka baris ini harus dihapus dari my.cnf atau di beri komentar
skip-netwotking : Tidak menggunakan koneksi TCP / IP sama sekali. Semua interaksi dengan mysqld harus dilakukan melalui soket Unix. Pilihan ini sangat dianjurkan untuk sistem yang hanya diakses dari lokal saja. Karena Anda mengizinkan koneksi remote dari komputer lain, maka baris ini harus dihapus dari my.cnf atau di beri komentar
1
| shell> # /etc/init.d/mysql restart |
Misalkan user yang akan diberi akses ke server mysql bernama ahmad untuk akses ke database latihan dimana komputer ahmad di IP 192.168.30.33
1
2
3
| mysql> CREATE DATABASE latihan; mysql> GRANT ALL PRIVILEGES ON latihan.* TO ahmad@192.168.30.33 IDENTIFIED BY 'ahmadpass' ; mysql>FLUSH PRIVILEGES ; |
Dalam contoh ini ahmad dari komputernya yang ber IP 192.168.30.33 akan mengakses server mysql yang ber IP 192.168.30.2 , berikut perintahnya :
1
| shell> mysql -u ahmad -h 192.168.30.2 -p latihan |
Secara default mysql server berjalan pada port 3306, karenanya agar dapat diakses dari jaringan komputer pastikan komputer melalui jaringan diterima di port ini, cara yang simple adalah mematikan firewall dengan perintah
1
| #service iptables stop |
Atau dengan alasan keamanan server anda bisa seting iptablesnya dibuka untuk port mysql 3306 dengan perintah
1
2
3
4
5
| shell> #iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT < /li > <li>Hanya IP tertentu saja (misal 192.168.30.33) yang boleh remote< /li > 1 shell> #iptables -A INPUT -i eth0 -s 192.168.30.33 -p tcp --destination-port 3306 -j ACCEPT |
1
| #iptables -A INPUT -i eth0 -s 192.168.30.0/24 -p tcp --destination-port 3306 -j ACCEPT |
Tidak ada komentar:
Posting Komentar