Pesan kesalahan tersebut dibuat oleh klien (bukan server) karena koneksi ke server telah dicoba tetapi server tidak dapat dijangkau.
Ada berbagai kemungkinan penyebabnya:
1) periksa apakah mysqld berjalan di server:
ps -ef | grep mysqld
harus mengembalikan sesuatu seperti:
root 2435 2342 0 15:49 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/var/ --user=mysql
mysql 2480 2435 0 15:49 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/var/ --user=mysql ...
Untuk menjalankan layanan daemon, jalankan di redhat/fedora/centos:
service mysqld start
atau pada rilis Fedora>=16, yang bergantung pada systemd:
systemctl start mysqld.service
dan untuk mengaktifkan daemon auto-startup saat boot sistem:
systemctl enable mysqld.service
2) periksa port tempat mysqld berjalan di server:
netstat -lnp | grep mysql
harus kembali:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2480/mysqld
unix 2 [ ACC ] STREAM LISTENING 8101 2480/mysqld /tmp/mysql.sock
yang terakhir adalah soket untuk koneksi lokal, yang pertama adalah port tcp untuk jaringan (default 3306). Jika port tersebut bukan port default, Anda harus mengatur port koneksi pada klien. Jika menggunakan klien mysql:
mysql dbname -uuser -ppasswd -P<port> ...
3) berada di alamat net yang berbeda, periksa apakah server mendengarkan alamat net yang Anda sambungkan:dalam file /etc/my.cnf
cari baris:
bind_address=127.0.0.1
jika alamatnya 127.0.0.1 hanya koneksi lokal yang diperbolehkan; jika 172.16.1.0, Anda tidak dapat terhubung dari 172.16.2.xxx
4) periksa apakah di server tidak ada firewall yang berjalan dan memblokir koneksi ke port mysql (3306 adalah port default); jika menjalankan redhat/fedora/centos
service iptables status