Berawal dari sebuah kisah, cie kisah 😀 salah satu rekan saya yang meminta bantuan karena tidak bisa login ke mysql di VPS miliknya, dan saya pun sering juga mendapat problem cannot connect / not allowed from host xxx.xxx.xxx.xxx akhirnya saya akan coba bookmark menjadi sebuah tulisan disini, untuk referensi nanti kalau saya lupa lagi dan tentunya untuk referensi kalian juga yang mengalami problem yang sama.
Ya tanpa panjang lebar kembali, let’s get started. Yang pertama harus kamu lakukan ada login ke VPS kamu via SSH dengan syntax berikut di terminal linux / menggunakan software seperti puTTY
ssh root@xxx.xxx.xxx.xxx
Setelah berhasil login, kemudian ubah file my.cnf dengan editor nano dengan syntax:
nano /etc/my.cnf
Tambahkan bind-address dengan IP Address VPS atau set ke 0.0.0.0, dan disable baris skip-networking / skip-external-locking (tergantung versi mysql) seperti ini:
[mysqld] ... bind-address=0.0.0.0 # skip-networking # skip-external-locking
Simpan dengan ctrl + o, lalu keluar dari editor nano dengan ctrl + x, lalu restart mysql dengan
service mysqld restart
Setelah itu login ke mysql dengan:
mysql -u root -p
Setelah login ketikan perintah berikut pada shell mysql:
mysql> GRANT ALL PRIVILEGES ON namadatabase.* TO ‘root’@’%’ IDENTIFIED BY ‘passwordnya’; mysql> FLUSH PRIVILEGES; mysql> exit;
Setelah keluar dari mysql, allow port 3306 dengan perintah iptables berikut:
# iptables -I INPUT -i eth0 -p tcp — destination-port 3306 -j ACCEPT
And that’s it. Silahkan coba connect kembali dengan software remote mysql favorit kamu.
Demikian, semoga membantu, dan jika ada kesalahan, silahkan berkomentar dibawah.
Terima kasih, Sukses selalu untuk kita semua 🙂

Technopreneur, founder of Webhade, PHP web programmer, designer, businessman, superdad & nice husband