Monday, May 11, 2015

Error Can't connect to MySql server on localhost (10061)



Notifikasi error mysql seperti dibawah ini sudah seringkali kita temukan, terutama bila kita salah setting nama, username & password database di file konfigurasi.

" Error Can't connect to MySql server on localhost (10061). "

Namun, kali ini masalah yang saya hadapi sedikit agak berbeda, karena setting sudah (yakin) benar dengan alasan mysql di webserver tsb bisa terkoneksi dari PC User/Client.

Beberapa cara yang pernah saya lakukan untuk menelusuri & mengatasi masalah diatas adalah sbb :

Memeriksa status firewall [ UFW ]
ufw status verbose
Memeriksa juga status IP Tables.
iptables -L -v --line-numbers
Melihat hasil perintah lsof -Pni :3306, dengan hasil,
COMMAND   PID     USER    FD    TYPE   DEVICE   SIZE/OFF   NODE NAME
mysqld    13385   mysql   10u   IPv4   360574   0t0        TCP 127.0.0.1:3306 (LISTEN)
Melakukan koneksi langsung ke database yang dimaksud via terminal, dengan command,
mysql -h db.server -u user -p dbname
Contoh : Dengan IP Webserver
mysql -h 192.168.70.1 -u zabbix1 -p zabbixdb
atau
mysql -h 127.0.0.1 -u zabbix1 -p zabbixdb
atau
mysql -h localhost -u zabbix1 -p zabbixdb
Hasilnya sama-sama mendapatkan error kedua, seperti ini,

" ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.70.1' (111). "

Melakukan lagi koneksi ke database via terminal, kali ini dengan syntax command yang biasa,
mysql -u Username -p
Contoh
mysql -u zabbix1 -p
Lalu masukkan password akses database mysql.

Dan hasilnya pasti bisalah alias sukses,
Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2765
Server version: 5.5.43-0+deb7u1 (Debian)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


Solusi. Nah, untuk langsung bisa mengakses atau terhubung langsung ke database yang dimaksud, berarti ada konfigurasi yang harus disesuaikan yaitu bisa dengan cara sebagai berikut :
cp /etc/mysql/my.cnf /etc/mysql/my.cnf.default
nano /etc/mysql/my.cnf

Cari dengan ctrl+w "bind-address" dan diubah menjadi seperti dibawah ini
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 0.0.0.0

Kemudian simpan, restart Mysql & Apache2
service mysql restart
service apache2 restart
Seharusnya masalah sudah teratasi ( solved ) dan sudah dapat terkoneksi dengan database yang dimaksud pada [ Mysql ] webserver.

Buktikan saja dengan akses ulang melalui terminal dengan memakai command yang pertama, hasilnya harusnya sudah bisa, seperti dibawah ini.

root@webserver:~# mysql -h 127.0.0.1 -u zabbix1 -p zabbixdb

Enter password:

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11640
Server version: 5.5.43-0+deb7u1 (Debian)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Berhasil juga ketika dicoba dengan,
mysql -h localhost -u zabbix1 -p zabbixdb
dan dengan ip webserver
mysql -h 192.168.70.1 -u zabbix1 -p zabbixdb


Selamat Mencoba!

2 comments:

  1. mas saya ga ngerti tapi saya error seperti itu di navichat

    ReplyDelete
  2. kang ada tutor buat mysql yang terinstal diwindows ga?

    ReplyDelete
N.B.
1. Berkomentarlah dengan sopan.
2. Dilarang membuat spam, terutama yang mengandung SARA/ Pornografi/ Judi dan Iklan.