Buruh pelabuhan tidak dapat terhubung ke server mysql lokal melalui socket /var/run/mysqld/mysqld sock 2

Nilai Pengecualian. (2002, “Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld. kaus kaki’ (2)”)

Saya mencoba sudo service mysql start tapi saya mengerti

Pekerjaan untuk mariadb. layanan gagal karena proses kontrol keluar dengan kode kesalahan
Lihat “systemctl status mariadb. service" dan "journalctl -xe" untuk detailnya

Jadi saya melakukan systemctl status mariadb.service dan sekarang saya mengerti

mariadb. melayani. Proses utama keluar, kode=keluar, status=1/GAGAL
mariadb. melayani. Gagal dengan hasil 'kode keluar'
Gagal memulai MariaDB 10. 3. 34 server basis data

Jika saya melakukan df, tidak ada sistem file yang melebihi penggunaan 50%.

Jika saya melakukan sudo journalctl -xe, saya mengerti

pdns. melayani. Proses utama keluar, kode=keluar, status=1/GAGAL
pdns. melayani. Gagal dengan hasil 'kode keluar'

Saya menghapus semua wadah buruh pelabuhan dengan docker rm $(docker ps -aq)

Jika saya mencoba mysqladmin -u root -p status, itu memberi saya

kesalahan. 'Tidak dapat terhubung ke server MySQL lokal melalui soket'/var/run/mysqld/mysqld. kaus kaki’ (2)’
Periksa apakah mysqld sedang berjalan dan soketnya. '/var/run/mysqld/mysqld. kaus kaki 'ada

Omong-omong, bahkan melakukan peningkatan Cyberpanel memberi saya kesalahan yang sama di atas pada akhirnya
Saya menggunakan perintah ini untuk mencoba memutakhirkan
sudo su - -c "sh <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)"

Jika saya melakukan netstat -lnp | grep 8090, saya mengerti

tcp 0 0 0. 0. 0. 0. 8090 0. 0. 0. 0. * DENGARKAN 20314/lscpd (lscpd

Jika saya melakukan systemctl restart lscpd0, saya tidak melihat hasil apa pun dengan mysql* sock… (tidak yakin apakah normal?)

Saya melakukan systemctl restart lscpd_1, yang memberi saya

drwxrwxrwx 5 buruh pelabuhan buruh pelabuhan 4096 10 Juni 11. 20 /var/lib/mysql

Jadi sekarang saya tidak yakin apa yang harus saya ubah itu, karena menurut saya itu tidak harus "buruh pelabuhan"
Saya mencoba melakukan root. akar dan mysql. mysql, tapi tidak menyelesaikannya…

Jika saya melakukan systemctl restart lscpd_2, saya mendapatkan

Menyinkronkan status mysql. layanan dengan skrip layanan SysV dengan /lib/systemd/systemd-sysv-install
Eksekusi. /lib/systemd/systemd-sysv-install mengaktifkan mysql
Gagal mengaktifkan unit. Menolak untuk mengoperasikan nama alias atau file unit tertaut. mysql. melayani

Saya mencoba systemctl restart lscpd_3, tapi tetap sama

Jadi saya tidak tahu apa yang harus dilakukan sekarang, atau bagaimana/mengapa itu terjadi

Adakah yang bisa membantu?

Saya memulai docker mysql container dan mencoba menghubungkannya di luar docker menggunakan perintah mysql tetapi mendapat kesalahan

1

2

3

4

$ mysql -uroot -proot

 

mysql. [Peringatan] Menggunakan a . password on the command line interface can be insecure.

ERROR 2002 (HY000): Tidak dapattidak terhubung ke server MySQL lokal melalui soket '/var< . /run/mysqld/mysqld.kaus kaki ' (2)

Itu karena clinet mysql akan menggunakan protokol soket unix sebagai nilai protokol default untuk terhubung ke server mysql jika tidak menentukan protokol atau argumen host, tetapi wadah docker mysql sedang mendengarkan di soket tcp

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 bisa mengakses mysqld. file soket kaus kaki

Dalam tutorial ini, kita akan membahas kemungkinan penyebab kesalahan 'Tidak dapat terhubung ke server MySQL lokal melalui soket' dan menunjukkan kepada Anda berbagai metode untuk menyelesaikan masalah ini

How to fix 'can't connect to local MySQL server through socket' error

Prasyarat

  • Sistem yang menjalankan Ubuntu 20. 04
  • Akun pengguna dengan hak sudo
  • Akses ke jendela terminal/baris perintah
  • Salinan MySQL terinstal dan siap digunakan (pelajari cara menginstalnya dengan panduan kami untuk menginstal MySQL di Ubuntu 20. 04)

Menyelesaikan 'Tidak dapat terhubung ke server MySQL lokal melalui soket'/var/run/mysqld/mysqld. kaus kaki' (2)' Kesalahan

Ada beberapa cara untuk mengatasi 'Tidak dapat terhubung ke server MySQL lokal melalui soket'/var/run/mysqld/mysqld. kaus kaki (2)' kesalahan. Jika satu solusi tidak berhasil, turunkan daftar sampai Anda menemukan solusi yang menyelesaikan masalah

Metode 1. Periksa Layanan MySQL

1. Periksa status layanan MySQL dengan

sudo systemctl status mysql

Checking the status of the MySQL service

2. Jika layanan tidak berjalan, mulai ulang dengan menggunakan

sudo systemctl start mysql
_

3. Untuk mencegah masalah ini terjadi, setel layanan MySQL untuk memulai secara otomatis saat boot

sudo systemctl enable mysql

Set the MySQL service to automatically start when the system boots up

Metode 2. Verifikasi mysqld. Lokasi kaus kaki

Pesan 'Tidak dapat terhubung ke server MySQL lokal melalui soket'/var/run/mysqld/mysqld. kesalahan sock' (2)' juga terjadi jika MySQL tidak dapat menemukan file mysql. file soket kaus kaki

1. Temukan mysqld saat ini. lokasi sock dengan menggunakan perintah

sudo systemctl start mysql
_3 untuk membuat daftar semua file socket di sistem Anda

sudo find / -type s
_

List all the socket files on your system using the find command

2. Buka file konfigurasi MySQL di 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]
_

Di mana

  • sudo systemctl start mysql
    _4. Jalan menuju mysqld. file soket kaus kaki yang Anda temukan di Langkah 1

Edit the MySQL configuration file

Metode lain adalah membuat symlink dari lokasi mysqld. sock ke direktori /var/run/mysqld

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 direktori /var/run/mysqld karena pembatasan izin

1. Untuk mengatasi masalah ini, ubah pengaturan izin untuk direktori mysqld dengan

sudo chmod -R 755 /var/run/mysqld

Menyetel izin ke

sudo systemctl start mysql
_5 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

Error juga terjadi jika ada beberapa instance MySQL yang berjalan pada waktu yang bersamaan

1. Untuk mendaftar semua contoh MySQL, gunakan

sudo systemctl start mysql
_0

Listing all currently running instance of MySQL

2. Jika ada beberapa instance MySQL yang berjalan, hentikan dengan

sudo systemctl start mysql
_1

3. Mulai ulang layanan MySQL untuk memulai satu contoh MySQL

sudo systemctl restart mysql
_

Kesimpulan

Setelah membaca tutorial ini, Anda seharusnya telah mengidentifikasi penyebab kesalahan 'Tidak dapat terhubung ke server MySQL lokal melalui soket' dan menerapkan solusi yang sesuai

Bagaimana cara terhubung ke MySQL lokal dari wadah buruh pelabuhan?

Langkah 1. Tarik Gambar Docker untuk MySQL . Langkah 2. Terapkan dan Mulai Wadah MySQL . Langkah 3. Terhubung dengan Docker MySQL Container .

Tidak dapat terhubung ke server MySQL lokal?

Berikut adalah beberapa alasan kesalahan Tidak dapat terhubung ke server MySQL lokal mungkin terjadi. mysqld tidak berjalan di host lokal . Periksa daftar proses sistem operasi Anda untuk memastikan proses mysqld ada. Anda menjalankan server MySQL di Windows dengan banyak koneksi TCP/IP.

Tidak dapat mengakses buruh pelabuhan MySQL?

Buat wadah mysql lain menggunakan docker-compose yang dipasang ke lokasi data host, masuk ke terminal wadah, mulai mysql dengan mysqld_safe --skip-grant-tables , dan perbaiki tabel hibah menggunakan root (tanpa kata sandi). Dalam kasus saya, saya perlu menghapus pengguna yang bermasalah, membuat ulang, dan memberikan kembali hak istimewa

Bisakah wadah buruh pelabuhan terhubung ke localhost?

Alternatifnya, Anda dapat menjalankan wadah buruh pelabuhan dengan pengaturan jaringan diatur ke host . Wadah seperti itu akan berbagi tumpukan jaringan dengan host buruh pelabuhan dan dari sudut pandang wadah, localhost (atau 127. 0. 0. 1 ) akan merujuk ke host buruh pelabuhan.