Pesan kesalahan **"Error: Can't connect to MySQL server on 'localhost' (10061)"** berarti klien tidak dapat terhubung ke server MySQL.
1. **Layanan MySQL tidak dimulai**
- Server MySQL mungkin tidak dapat dimulai. Di Windows, Anda dapat membuka Manajer Layanan, menemukan layanan `MySQL` dan memulainya secara manual. Di Linux, Anda dapat memeriksa apakah MySQL berjalan menggunakan perintah berikut:
``` pesta
sudo systemctl status mysql # Ubuntu/Debian
sudo systemctl status mysqld # CentOS/Fedora
```
2. **Nomor port salah**
- Secara default, server MySQL menggunakan port **3306**. Jika nomor port pada file konfigurasi telah diubah, klien mungkin tidak dapat terhubung.
- Anda dapat memeriksa pengaturan nomor port di file konfigurasi MySQL (seperti `my.cnf` atau `my.ini`) untuk memastikan bahwa klien terhubung ke port yang benar.
3. **Firewall memblokir koneksi**
- Firewall lokal mungkin memblokir port MySQL. Jika firewall memiliki aturan yang diaktifkan untuk memblokir port 3306, Anda dapat menonaktifkan firewall untuk sementara atau membuka port tersebut. Anda dapat membuka port 3306 di Linux melalui perintah berikut:
``` pesta
sudo ufw izinkan 3306 # contoh firewall Ubuntu
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent # CentOS/Fedora
sudo firewall-cmd --reload # Muat ulang firewall
```
4. **Masalah konfigurasi alamat pengikatan**
- Pada file konfigurasi MySQL, pengaturan `bind-address` hanya mengizinkan koneksi jarak jauh atau hanya mengikat ke alamat IP tertentu. Pastikan `bind-address` di file konfigurasi disetel ke `127.0.0.1` atau `localhost` untuk mengizinkan koneksi lokal.
5. **File soket hilang atau jalurnya salah**
- Pada beberapa sistem, MySQL menggunakan file Unix Socket untuk koneksi. Pastikan jalur `socket` di file konfigurasi sudah benar dan file tersebut benar-benar ada. Secara default, file ini biasanya terletak di `/var/run/mysqld/mysqld.sock` atau jalur serupa.
6. **Masalah izin pengguna**
- Mungkin juga tidak mungkin untuk terhubung jika pengguna yang menghubungkan tidak memiliki izin yang sesuai. Pastikan izin pada pengguna `localhost` sudah benar, Anda dapat mencoba memberikan kembali izin menggunakan perintah berikut:
```sql
MEMBERIKAN SEMUA HAK ISTIMEWA DI *.* KEPADA 'username'@'localhost' DIIDENTIFIKASI DENGAN 'password';
HAK ISTIMEWA PENYIMPANAN;
```
Ringkasan ide solusi
Periksa status layanan MySQL, pengaturan port, aturan firewall, alamat pengikatan, file Socket dan izin pengguna untuk memastikan bahwa konfigurasi MySQL dan pengaturan server sudah benar.