Akses MySQL dari “host” lain
Perintah dasar tersebut akan kita jumpai jika kita mempunyai program PHP yang terhubung dengan database MySQL. Koneksi ke database MySQL dilakukan ke komputer yang sama dengan letak program PHP tersebut dengan menggunakan username sebagai user dan passwordnya. Jadi, antara program dan database terdapat dalam satu host atau komputer yang sama. Tetapi kok program web dan database saya bisa saya akses dari komputer saya, dari warnet, dari mana saja asalkan terhubung ke internet? Memang benar dapat diakses dari mana saja, akan tetapi pada dasarnya program dan database tersebut berada pada satu komputer yang komputer tersebut dapat kita “masuki” dengan user yang terbatas hak aksesnya.
Lalu, apakah mungkin kita akses database yang berada pada komputer lain dari komputer kita? dengan kata lain database berada pada komputer lain sedangkan program berada pada komputer kita.
Baris program tersebut melakukan koneksi ke komputer atau host 192.168.0.1 dari komputer dimana program tersebut berada. Jika kita sering menggunaka web server lokal komputer dengan menggunakan user “root” sebaga user untuk koneksi ke mysql, biasanya secara default user tersebut telah memiliki hak akses ke seluruh database yang ada. Namun demikian, jika hal tersebut dilakukan dari komputer lain untuk mengakses mysql belum tentu dapat dilakukan karena tidak memiliki hak akses ke database dari komputer lain.
Salah satu pesan kesalahan jika sedang melakukan koneksi dari komputer lain adalah sebagai berikut:
-
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in connection.php on line 10
permasalahan tersebut terjadi karena adanya pengecekan autentikasi password pada MySQL 5.0 di komputer yang terdapat database tersebut sedangkan client atau komputer program berada menggunakan MySQL 4.0 dibawahnya.
Cara menanganinya yaitu
- Install MySQL client diatas 4.0 untuk komputer dimana program berada, atau
- Update password untuk user dimana database MySQL berada dengan syntax:
-
INSERT into mysql.db (Host,Db,user) values (’192.168.0.1′,‘Nama Database’,‘Nama user’);
-
UPDATE mysql.user SET Password = OLD_PASSWORD(‘password baru’)
-
WHERE Host = ‘alamat host / IP’ AND User = ‘nama user’;
-
FLUSH PRIVILEGES;
Baris pertama untuk memberikan hak akses kepada user untuk mengakses database dari 192.168.0.1 dengan database yang ditentukan dan hak-hak apa saja yang dapat diberikan. Sedangkan baris 2 sampai 4 dilakukan karena adanya perbedaan versi MySQL antara di komputer 192.168.0.1 dan komputer databse berada. Untuk melakukan ini Anda harus mempunyai hak akses untuk merubah password user mysql dan hak akses memberikan privileges-nya.

17 Responses to “Akses MySQL dari “host” lain”
simple,mengena dan bermanfaat, thanks.
Terus berkarya om, salam kenal dari newuser
By newuser on Aug 14, 2008
Terimakasih,
Salam kenal juga mas Dany..
By artharry on Aug 15, 2008
‘tak simpan buat referensi. kebetulan pake WP juga
oiya, salam kenal dulu ya mas
By izandi on Sep 22, 2008
Salam kenal juga mas izandi..
silahkan dismpan..
By artharry on Sep 23, 2008
terima kasih banyak mas……
By agoes on Oct 14, 2008
ok, sama-sama
salam knal mas agoes..
By artharry on Oct 18, 2008
wah hebat nih..bisa sharing kita..:D
By Ino on Nov 25, 2008
weh, ini ino yang itu bukan ya,

ngomnong-ngomong sharing apa neh, ayuk..
btw, salam kenal..
By artharry on Nov 25, 2008
salam hangat…
saya buat database menggunakan mysql server 5.0, saya mau tanya ginama cara membuat user yang bisa diakses dari komputer lain dan cara mengkoneksikannya, saya pake mysql-connector-odbc.5.1, bisa kasih penjelasan yang lengkap biar ngerti gitu mas… terima kasih sebelumnya..
By Boedy on Jul 28, 2009
@Boedy
Salam kenal juga..
Secara teknis, untuk akses MySQL dari tempat lain ya seperti yang di atas itu.
pake mysql-connector-odbc.5.1 untuk apa? ini yang kamu pake bukan PHP? pake VB, Delphi atau semacamnya? mungkin kalo pake Desktop aplikasi harusnya sama untuk settingan databasenya, tinggal bagaimana setting di komponen untuk menghubungkan antara aplikasi dan databasenya.
Semoga membantu..
By artharry on Jul 28, 2009
maaf mas saya pake mysql odbc versi 5.1 bukan mysql-connector-odbc 5.1 salah ngetiknya, saya bikin user seperti mysql> GRANT ALL PRIVILEGES on *.* to edcwdl260@localhost identified by ‘xxxx’ with grant option; mohon mas koreksi dan dibenarkan supaya user ini bisa saya koneksi ke kompuer lain komputer saya IPnya :192.168.0.3 terus komputer yang akan saya pakai bukan IPnya : 192.168.01 gimana cara nyetingnya di mysql odbc nya. pleas mas…..,
thanks sebelumnya
By Boedy on Jul 28, 2009
@Boedy:
Kalo seperti itu, mungkin dengan cara yang diatas itu sudah cukup, mungkin ada kesalahan nama user maupun host, coba teliti lagi aja..
By artharry on Jul 30, 2009
ada artikel tentang pemberian hak akses user menggunakan grant dan refok.
By linda on Sep 7, 2009
@linda:
Belum ada, kalau grant setau saya bisa menggunakan perintah insert dengan value² yang diperbolehkan dilanjutkan dengan ‘FLUSH PRIVILEGES;’
begitu juga dengan revoke.
CMIIW
By artharry on Sep 7, 2009
mau tanya nich,,databaseku waktu tak akses pada komputer client kug muncul tulisan gini ya ” SQL Error: Can’t connect to MySQL server on ’127.0.0.1′
padahal pada ZConnection1 bagian host name udah tak isi IP Address server.apa ada bagian2 lain yang harus disetting ya mas???
tolong bantuannya ya…
By wawan on May 4, 2010
@wawan itu database masih mengarah ke ‘127.0.0.1? / lokal, bukan ke tempat database berada, coba periksa lagi setingan koneksinya..
By artharry on May 24, 2010
apa bisa share database dari localhost ke host lain? yang saya tau menggunakan remote database,itupun dengan catatan menggunakan hosting sekelas vps
By leoarjuna on Jun 4, 2010