Berdasarkan tutorial sebelumnya dimana anda diajarkan cara install server database MySQL, pada kesempatan kali ini saya ingin menuliskan bagaimana cara membuka akses server Database MySQL tersebut agar dapat diakses dari komputer lain. Tetapi tidak ke seluruh komputer lain, hanya satu komputer saja yang saya buka aksesnya berdasarkan alamat IP yang sudah terdaftar sebelumnya demi alasan keamanan. Secara default, MySQL Server hanya akan membuka aksesnya kepada localhost(127.0.0.1) alias komputer dimana aplikasi server database MySQL diinstall. dan pada kasus ini saya ingin membuka hak akses server database MySQL tersebut agar dapat diakses melalui alamat 192.168.0.254 yang notabene masih satu alamat network dengan server database MySQL tersebut yang berada di alamat 192.168.0.252.
*Sebagai informasi, server MySQL yang saya gunakan adalah versi 5.5 dan bisa juga digunakan untuk MySQL Server versi 5.6. Untuk membuka akses MySQL Server 5.7 dari komputer lain, anda bisa mengunjungi link ini.
Berikut pesan error yang terlihat apabila kita ingin membangun koneksi ke server MySQL sebelum dibuka aksesnya:
Silakan masuk ke dalam server MySQL melalui SSH (jika server MySQL yang anda gunakan memakai sistem operasi Linux), jika disini server database mysql saya adalah di alamat 192.168.0.252, setelah berhasil masuk kemudian saya akan membuka file my.cnf dengan perintah:
sudo vim /etc/mysql/my.cnf
Lalu amati dan ubah bagian:
bind-address = 127.0.0.1
menjadi
bind-address = 127.0.0.1
bind-address = 192.168.0.252
kemudian simpan. Tidak tahu cara menyimpannya? anda bisa belajar melalui tutorial menggunakan vim yang telah saya buat sebelumnya.
Karena anda masih berada di dalam server MySQL, setelah selesai melakukan perubahan tersebut silakan masuk terlebih dahulu ke console server Database MySQL dari localhost dengan perintah:
mysql -u root -p
kemudian masukkan passwordnya, lalu jalankan perintah:
use mysql;
untuk memilih database mysql sebagai database yang akan dioperasikan, kemudian jalankan perintah:
UPDATE `mysql`.`user` SET `Host`='192.168.0.254' WHERE `user`.`Host` ='localhost' AND `user`.`User` ='root';
untuk merubah data dalam tabel user dengan kolom Host dari "localhost" ke alamat IP "192.168.0.254" dengan user "root".
Perintah diatas berarti anda memberikan hak akses kepada alamat IP 192.168.0.254 untuk dapat mengakses server database mysql yang terletak di alamat IP 192.168.0.252.
Jika perintah tersebut berhasil dijalankan maka akan muncul hasilnya seperti berikut:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Jika benar begitu, silakan keluar dari console server MySQL dengan perintah:
quit
lalu silakan restart servis server Database MySQL dengan perintah:
sudo service mysql restart
Setelah itu silakan coba akses server Database MySQL dari dalam localhost terlebih dahulu sebelum dari komputer lain dengan perintah:
mysql -u root -p
jika berhasil, silakan coba akses dari komputer lain yang beralamat IP 192.168.0.254 sesuai yang tadi dimasukkan ke dalam tabel user di dalam server Database MySQL dengan perintah:
mysql -h 192.168.0.252 -u root -p
jika berhasil maka anda akan menjumpai prompt console mysql seperti ketika anda login dari localhost server database MySQL seperti gambar di bawah:
Bagaimana, mudah bukan? silakan mencoba dan semoga berhasil. :)
Comments
bind-address = ip lokal
bind-address = ip publik
hasilnya hanya bisa di akses di 1 ip
bagaimana caranya agar bisa di akses dari k 2 ip tersebut gan? tolong di bantu y gan.. tq before..
adanya spt ini saja..
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
!includedir /etc/mysql/conf.d/
anda akan menemukan baris yang saya maksud