Biasanya akses jarak jauh ke server database MySQL dinonaktifkan karena alasan keamanan. Namun, terkadang Anda perlu menyediakan akses jarak jauh ke server database MySQL dari rumah atau server web. Anda dapat mengikuti langkah-langkah ini untuk mengaktifkannya.
Langkah 1 :Masuk menggunakan SSH (jika server berada di luar lingkungan atau intranet Anda)
Pertama, login melalui ssh ke server database MySQL jarak jauh dari windows menggunakan Putty atau dari Linux menggunakan SSH
Langkah 2 :Edit file my.cnf
Setelah terhubung, Anda perlu mengedit file konfigurasi server MySQL my.cnf menggunakan editor teks seperti vi:
- Di Linux Debian file terletak di /etc/mysql/my.cnf lokasi.
- Di Linux Red Hat/Fedora/Centos Linux file terletak di /etc/my.cnf lokasi.
Untuk mengedit /etc/my.cnf, jalankan:
# vi /etc/my.cnf
- Di Windows , file my.ini terletak di C:\Program Files\MySQL\MySQL Server X.Y (X.Y adalah nomor versi server MySQL)
Untuk windows, buka file my.ini di notepad
Langkah 3:Setelah file dibuka, cari baris yang berbunyi sebagai berikut
[mysqld]
Pastikan line skip-networking dikomentari (atau hapus baris) dan tambahkan baris berikut
bind-address=YOUR-SERVER-IP
Misalnya, jika IP server MySQL Anda adalah 173.234.21.12 maka seluruh blok akan terlihat seperti berikut:
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/English bind-address = 173.234.21.12 # skip-networking ....
Dimana,
- mengikat-alamat :alamat IP untuk diikat.
- lewati jaringan :Jangan dengarkan koneksi TCP/IP sama sekali. Semua interaksi dengan mysqld harus dilakukan melalui soket Unix. Opsi ini sangat disarankan untuk sistem yang hanya mengizinkan permintaan lokal. Karena Anda perlu mengizinkan koneksi jarak jauh, baris ini harus dihapus dari my.cnf atau dikomentari.
Langkah 4:Simpan dan Tutup file
Pada Debian / Ubuntu Linux, ketik perintah berikut untuk me-restart server mysql:
# /etc/init.d/mysql restart
Pada RHEL / CentOS / Fedora / Scientific Linux, ketik perintah berikut untuk me-restart server mysql:
# /etc/init.d/mysqld restart
Di Windows, buka command prompt sebagai Administrator dan ketik
net stop MySQL net start MySQL
Langkah 5:Berikan akses ke alamat IP jarak jauh
Berikan akses ke database baru
Jika Anda ingin menambahkan database baru bernama foo untuk bilah pengguna dan IP jarak jauh 162.72.20.23 maka Anda perlu mengetikkan perintah berikut di prompt mysql:
mysql> CREATE DATABASE foo; mysql> GRANT ALL ON foo.* TO bar@'162.72.20.23' IDENTIFIED BY 'PASSWORD';
Berikan Akses Ke Basis Data yang Ada
Mari kita asumsikan bahwa Anda selalu membuat koneksi dari IP jarak jauh yang disebut 162.72.20.23 ke database yang disebut webdb untuk webadmin pengguna. Untuk memberikan akses ke alamat IP ini untuk database yang ada, ketik perintah berikut di prompt mysql:
mysql> update db set Host='162.72.20.23' where Db='webdb'; mysql> update user set Host='162.72.20.23' where user='webadmin';
Langkah 6:Keluar dari MySQL
Ketik perintah keluar untuk keluar dari mysql:
mysql> exit
Langkah 7:Buka port 3306
Contoh aturan iptables untuk membuka firewall iptables Linux
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
ATAU hanya izinkan koneksi jarak jauh dari server web Anda yang terletak di 162.72.20.23:
/sbin/iptables -A INPUT -i eth0 -s 162.72.20.23 -p tcp --destination-port 3306 -j ACCEPT
ATAU hanya izinkan koneksi jarak jauh dari subnet lan Anda 192.168.1.0/24:
/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT
Terakhir simpan semua aturan (perintah khusus RHEL / CentOS):
# service iptables save
Di windows, buka Control Panel> Windows Firewall> Add inbound rule for port 3306
Langkah 8:Uji akses jarak jauh ke database MySQL
Dari sistem jarak jauh atau desktop Anda, ketik perintah berikut:
$ mysql -u webadmin –h 173.234.21.12 –p
Di windows, jalankan program baris perintah MySQL, dan masuk sebagai administrator dengan mengetikkan perintah berikut dari folder root MySQL (mis. Program Files\MySQL\MySQL Server 5.5\bin):
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u webadmin –h 173.234.21.12 –p
Di mana,