Pendahuluan
Pengguna yang bekerja dengan MySQL dapat mengalami kesalahan 'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock (2)' saat masuk ke antarmuka MySQL. Masalah ini biasanya muncul jika MySQL tidak dapat mengakses mysqld.sock berkas soket.
Dalam tutorial ini, kita akan membahas kemungkinan penyebab 'Tidak dapat terhubung ke server MySQL lokal melalui soket ' dan menunjukkan metode yang berbeda untuk menyelesaikan masalah ini.
Prasyarat
- Sistem yang menjalankan Ubuntu 20.04
- Akun pengguna dengan hak istimewa sudo
- Akses ke jendela terminal/baris perintah
- Salinan MySQL yang terinstal dan siap digunakan (pelajari cara menginstalnya dengan panduan kami untuk menginstal MySQL di Ubuntu 20.04)
Menyelesaikan kesalahan 'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)'
Ada beberapa cara untuk mengatasi 'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock (2)' kesalahan. Jika satu solusi tidak berhasil, geser daftar ke bawah hingga Anda menemukan solusi yang menyelesaikan masalah.
Metode 1:Periksa Layanan MySQL
1. Periksa status layanan MySQL dengan:
sudo systemctl status mysql
2. Jika layanan tidak berjalan, restart dengan menggunakan:
sudo systemctl start mysql
3. Untuk mencegah masalah ini terjadi, setel layanan MySQL agar otomatis mulai saat boot:
sudo systemctl enable mysql
Metode 2:Verifikasi Lokasi mysqld.sock
'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)' kesalahan juga terjadi jika MySQL tidak dapat menemukan mysql.sock berkas soket.
1. Temukan mysqld.sock current saat ini lokasi dengan menggunakan find
perintah untuk membuat daftar semua file soket di sistem Anda:
sudo find / -type s
2. Buka file konfigurasi MySQL dalam editor teks pilihan Anda. Dalam contoh ini, kami menggunakan nano :
sudo nano /etc/mysql/my.cnf
3. Kemudian, tambahkan baris berikut di akhir file konfigurasi MySQL:
[mysqld]
socket=[path to mysqld.sock]
[client]
socket=[path to mysqld.sock]
Dimana:
[path to mysqld.sock]
:Jalur ke mysqld.sock socket file yang Anda temukan di Langkah 1 .
Metode lain adalah membuat symlink dari lokasi mysqld.sock ke /var/run/mysqld direktori:
ln -s [path to mysqld.sock] /var/run/mysqld/mysqld.sock
4. Tekan Ctrl+X untuk menutup file konfigurasi dan ketik Y dan tekan Enter untuk menyimpan perubahan yang Anda buat.
4. Terakhir, restart layanan MySQL:
sudo systemctl restart mysql
Metode 3:Periksa Izin Folder MySQL
Penyebab potensial lainnya adalah Layanan MySQL tidak dapat mengakses /var/run/mysqld direktori karena pembatasan izin:
1. Untuk mengatasi masalah ini, ubah pengaturan izin untuk mysqld direktori dengan:
sudo chmod -R 755 /var/run/mysqld
Menyetel izin ke 755
memungkinkan pengguna root untuk membaca, menulis, dan mengeksekusi direktori, sementara pengguna lain hanya dapat membaca dan mengeksekusi.
2. Mulai ulang layanan MySQL agar perubahan diterapkan:
sudo systemctl restart mysql
Metode 4:Periksa Beberapa Instance MySQL
Kesalahan juga terjadi jika ada beberapa contoh MySQL yang berjalan secara bersamaan.
1. Untuk membuat daftar semua instance MySQL, gunakan:
ps -A|grep mysqld
2. Jika ada beberapa instance MySQL yang berjalan, hentikan dengan:
sudo pkill mysqld
3. Mulai ulang layanan MySQL untuk memulai satu instance MySQL:
sudo systemctl restart mysql