GNU/Linux >> Belajar Linux >  >> Linux

kesalahan:'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)' -- Hilang /var/run/mysqld/mysqld.sock

Coba perintah ini,

sudo service mysql start

Untuk menemukan semua file soket di sistem Anda, jalankan:

sudo find / -type s

Sistem server Mysql saya membuka soket di /var/lib/mysql/mysql.sock

Setelah Anda menemukan tempat soket dibuka, tambahkan atau edit baris ke file /etc/my.cnf Anda dengan jalur ke file soket:

socket=/var/lib/mysql/mysql.sock

Terkadang skrip startup sistem yang meluncurkan baris perintah yang dapat dieksekusi menentukan tanda --socket=path . Bendera ini dapat mengesampingkan lokasi my.cnf, dan itu akan mengakibatkan soket tidak ditemukan di tempat yang seharusnya ditunjukkan oleh file my.cnf. Kemudian ketika Anda mencoba menjalankan klien baris perintah mysql, itu akan membaca my.cnf untuk menemukan soket, tetapi tidak akan menemukannya karena menyimpang dari tempat server membuatnya. Jadi, Kecuali jika Anda peduli di mana soket berada, hanya mengubah my.cnf agar sesuai seharusnya berfungsi.

Kemudian, hentikan proses mysqld. Cara Anda melakukannya akan berbeda menurut sistem.

Jika Anda adalah pengguna super di sistem linux, coba salah satu dari yang berikut ini jika Anda tidak mengetahui metode khusus yang digunakan penyiapan Mysql Anda:

  • service mysqld stop
  • /etc/init.d/mysqld stop
  • mysqladmin -u root -p shutdown
  • Beberapa sistem tidak diatur untuk memiliki cara yang elegan untuk menghentikan mysql (atau karena alasan tertentu mysql tidak merespons) dan Anda dapat menghentikan paksa mysql dengan:
    • Satu langkah:pkill -9 mysqld
    • Dua langkah (paling tidak disukai):
      • Temukan id proses mysql dengan pgrep mysql atau ps aux | grep mysql | grep -v grep
      • Dengan asumsi id proses adalah 4969 akhiri dengan kill -9 4969

Setelah Anda melakukan ini, Anda mungkin ingin mencari file pid di /var/run/mysqld/ dan hapus

Pastikan izin pada soket Anda sedemikian rupa sehingga pengguna apa pun yang dijalankan mysqld dapat membaca/menulisnya. Tes yang mudah adalah membukanya untuk baca/tulis penuh dan lihat apakah masih berfungsi:

chmod 777 /var/run/mysqld/mysqld.sock

Jika itu menyelesaikan masalah, Anda dapat menyesuaikan izin dan kepemilikan soket sesuai kebutuhan berdasarkan pengaturan keamanan Anda.

Juga, direktori tempat soket berada harus dapat dijangkau oleh pengguna yang menjalankan proses mysqld.


Kesalahan ini terjadi karena beberapa instalasi mysql. Jalankan perintah:

ps -A|grep mysql

Hentikan proses dengan menggunakan:

sudo pkill mysql

dan kemudian jalankan perintah:

ps -A|grep mysqld

Bunuh juga proses ini dengan menjalankan:

sudo pkill mysqld

Sekarang Anda sudah siap, cukup jalankan perintah berikut:

service mysql restart
mysql -u root -p

Selamat bekerja mysql lagi


Linux
  1. Kesalahan Server MySQL – “Tidak Dapat Membuat Utas Baru (errno 11)”

  2. Tidak dapat terhubung ke kesalahan server MySQL 111

  3. Menghentikan server database MySQL:mysqld gagal

  1. Tidak dapat terhubung ke server MySQL lokal melalui socket '/var/run/mysqld/mysqld.sock' di Ubuntu 12.04.5 LTS

  2. mysqld_safe mysqld dari file pid /var/run/mysqld/mysqld.pid mencegah dari restart server

  3. NGINX:connect() ke unix:/var/run/php7.0-fpm.sock gagal (2:Tidak ada file atau direktori seperti itu)

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Perbedaan Antara /var/log/messages, /var/log/syslog, Dan /var/log/kern.log?

  3. Postfix - Opendkim - Tidak dapat terhubung ke soket lokal