RSS Feed

Koneksi MySQL via Socket dan TCP/IP

Posted on

Di Zend Server CE, secara default koneksi ke database MySQL HANYA bisa dilakukan melalui jalur socket (UNIX socket) doang. Kata orang-orang, bedanya socket dan TCP/IP adalah bahwa kalau socket hanya bisa diakses dari mesin yang sama, sementara TCP/IP bisa diakses dari mesin lain melalui jaringan.

Masalah muncul (kalau timbul udah almarhum) ketika mau konfigurasi MySQL di selain PHPMyAdmin. PHPMyAdmin otomatis terinstal dan terkonfigurasi ketika kita install Zend Server CE melalui jalur socket. Namun berbeda halnya dengan GUI MySQL lain seperti yang sudah pernah dibahas, misalnya mengoneksikan MySQL dengan OOo Base, MySQL WorkBench dan NetBeans. Ketiga software tersebut, buat saya, lebih gampang melakukan konfigurasi via TCP/IP daripada Socket (ga ngerti gimana konekin ketiga sopwer ini pake socket).

Solusinya adalah dengan mengedit file my.cnf. Posisinya ada di [Zend-Installed-Path]/mysql/data/my.cnf. Kalau di Mac OS X secara default ada di path /usr/local/zend/mysql/data/my.cnf. Cukup dengan memberi pagar di awal baris skip-networking, maka MySQL bisa diakses via socket DAN TCP/IP. Artinya bisa jalan di PHPMyAdmin, OOo Base via JDBC, NetBeans dan MySQL WorkBench.

Di Mac OS X Snow Leopard, ada dua cara mengedit file my.cnf tersebut yakni dengan menggunakan Terminal atau Finder. Di sini, saya akan menggunaan finder aja. Caranya adalah:

Di Finder, klik menu Go > Go to Folder... lalu ketik path /usr/local/zend/mysql. Folder /usr sengaja di-hidden di Finder sehingga cara mengaksesnya harus melalui Go to Folder...



Nah folder data ga bisa diakses karena kita tak punya permission. Oleh karena itu, kita harus memberikan permission ke user faridabdurrahman untuk bisa setidaknya membaca. Klik kanan folder data lalu pilih Get Info. Di paling bawah klik tombol gembok lalu masukin password Mac-nya. Lalu klik tombol + untuk menambah user. Pilih faridabdurrahman dan kasih akses readonly.

Di file my.cnf dalam folder data, berikan privilege kepada faridabdurrahman untuk dapat melakukan Write seperti gambar di atas

Buka file my.cnf dan beri pagar (#) di depan skip-networking seperti pada baris 45 di gambar atas

Restart MySQL atau semua Zend Server CE. Caranya di Terminal tuliskan: sudo /usr/local/zend/bin/zendctl.sh restart-mysql

Setelah selesai save file tersebut lalu kembalikan settingan permission ke semula untuk menghindari error di kemudian waktu.

Sebagai info, kalau Anda memberikan akses Read and Write kepada everyone untuk file my.cnf maka MySQL ga bakal membaca file my.cnf ini. Sehingga settingan MySQL hanya bisa dilakukan melalui TCP/IP saja. Skrip koneksi ke MySQL di program PHP termasuk PHPMyAdmin Anda ga bakalan bisa melakukan koneksi ke MySQL. Namun, Anda bisa melakukan koneksi melalui OOo Base, MySQL WorkBench dan NetBeans karena ketiga software tersebut disetting dengan koneksi TCP/IP bukan socket.

Ini bukti kalau si MySQL cuwekin file my.cnf karena hak akses untuk file tersebut adalah World-writable atau everyone yang punya akses read & write

Demikian. Semoga bermanfaat!

About mangkum

Models maker and fans: building view-controller-models, financial models, statistical models and a fan of super models.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: