kesalahan: 'Dapat't terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.kaus kaki' (2)' -- Hilang /var/run/mysqld/mysqld.kaus kaki

Masalah saya mulai saya tidak bisa log in sebagai root lagi pada saya menginstal mysql. Saya mencoba untuk menjalankan mysql tanpa password diaktifkan... tapi setiap kali saya menjalankan perintah

# mysqld_safe --skip-grant-tables &

Aku tidak akan pernah mendapatkan kembali ke prompt. Saya mencoba untuk mengikuti petunjuk ini untuk memulihkan password.

Layar hanya tampak seperti ini:

root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

dan saya don't mendapatkan prompt untuk memulai mengetik perintah-perintah SQL untuk me-reset password.

Ketika saya membunuh itu dengan menekan PILIH + C, saya mendapatkan pesan berikut:

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'

Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Jika saya coba lagi perintah dan meninggalkan itu cukup lama, saya mendapatkan seri berikut pesan:

root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

[1]+  Done                    mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#

Tapi kemudian jika saya mencoba untuk login sebagai root dengan melakukan:

# mysql -u root

Saya mendapatkan pesan error berikut:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Aku memeriksa dan /var/run/mysqld/mysqld.sock file doesn't tidak ada. Folder tidak, tetapi tidak file.

Juga, aku tak tahu apakah ini membantu atau tidak, tapi aku berlari find / -name mysqld dan itu datang dengan:

/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder

I'm baru untuk Linux dan MySQL, jadi saya don't tahu apakah ini normal atau tidak. Tapi aku'm termasuk info ini hanya dalam kasus itu membantu.

Akhirnya aku memutuskan untuk uninstall dan menginstal ulang mysql.

apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin

Setelah menginstal ulang semua paket lagi dalam urutan yang sama seperti di atas, selama menginstal phpmyadmin, saya punya kesalahan yang sama:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Jadi saya mencoba lagi untuk uninstall/instal ulang. Kali ini, setelah saya uninstall paket, saya juga secara manual diganti semua mysql file dan direktori untuk mysql.buruk di lokasi mereka masing-masing.

/var/lib/mysql 
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql

Kemudian saya mencoba untuk menginstal ulang mysql-server dan mysql-client lagi. Tapi aku've melihat bahwa itu doesn't meminta saya untuk password. Isn't itu seharusnya meminta password admin?

Mengomentari pertanyaan (4)

Coba perintah ini,

sudo service mysql start
Komentar (10)
Larutan

Untuk menemukan semua soket file pada sistem anda jalankan:

sudo find / -type s

Saya Mysql server sistem memiliki soket terbuka pada /var/lib/mysql/mysql.sock

Setelah anda menemukan di mana soket sedang dibuka, tambahkan atau edit baris /etc/my.cnf file dengan path ke soket file:

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

Kadang-kadang sistem startup script yang diluncurkan baris perintah eksekusi menetapkan bendera --socket=jalan. Bendera ini bisa menimpa saya.cnf lokasi, dan itu akan mengakibatkan soket tidak ditemukan di mana saya.cnf file menunjukkan itu harus. Kemudian ketika anda mencoba untuk menjalankan mysql command line client, itu akan saya baca.cnf untuk menemukan soket, tetapi tidak akan menemukannya karena menyimpang dari mana server dibuat satu. Jadi, Kecuali jika anda tidak peduli di mana soket berada, hanya mengubah saya.cnf untuk pertandingan harus bekerja.

Kemudian, menghentikan proses mysqld. Bagaimana anda melakukan hal ini akan bervariasi oleh sistem.

Jika anda're super user di sistem linux, cobalah salah satu dari yang berikut jika anda don't tahu metode tertentu setup Mysql anda menggunakan:

  • service mysqld stop
  • /etc/init.d/mysqld stop
  • mysqladmin -u root -p shutdown
  • Beberapa sistem aren't setup untuk memiliki cara yang elegan untuk menghentikan mysql (atau untuk beberapa alasan mysql doesn't merespon) dan anda dapat memaksa menghentikan mysql dengan baik:
  • Satu langkah: pkill -9 mysqld
  • Dua langkah (paling tidak disukai):
  • Menemukan proses id dari mysql dengan baik pgrep mysql atau ps aux | grep mysql | grep -v grep
  • Dengan asumsi proses id 4969 mengakhiri dengan kill -9 4969

Setelah anda melakukan ini, anda mungkin ingin mencari pid file /var/run/mysqld/ dan menghapusnya

Pastikan hak akses pada soket seperti apa pun yang pengguna mysqld berjalan seperti dapat membaca/menulis untuk itu. Tes mudah untuk membukanya penuh untuk membaca/menulis dan melihat apakah masih bekerja:

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

Jika yang memperbaiki masalah ini, anda dapat menyesuaikan perizinan dan kepemilikan soket yang diperlukan berdasarkan pada pengaturan keamanan anda.

Juga, direktori soket berada di harus dicapai oleh pengguna menjalankan mysqld proses.

Komentar (13)

Kesalahan ini terjadi karena beberapa instalasi mysql. Jalankan perintah:

ps -A|grep mysql

Membunuh proses dengan menggunakan:

sudo pkill mysql

dan kemudian jalankan perintah:

ps -A|grep mysqld

Juga Membunuh proses ini dengan menjalankan:

sudo pkill mysqld

Sekarang anda benar-benar hanya jalankan perintah berikut:

service mysql restart
mysql -u root -p

Memiliki sangat baik bekerja mysql lagi

Komentar (7)

Solusinya adalah cara yang lebih mudah.

  1. Pertama, anda harus menemukan(di Terminal dengan "sudo find / -type s") di mana anda mysql.sock file berada. Dalam kasus saya itu adalah di /opt/lampp/var/mysql/mysql.sock
  2. Api hingga Terminal dan masalah sudo Nautilus
    Ini dimulai File manager dengan hak super user
  3. Dari Nautilus menavigasi ke mana anda mysql.sock file berada
  4. Klik kanan pada file dan pilih Membuat Link
  5. Mengubah nama File Link untuk mysqld.sock kemudian klik Kanan pada file dan Cut itu
  6. Pergi ke /var/run dan membuat sebuah folder bernama mysqld dan masukkan
  7. Sekarang klik kanan dan Paste Link File
  8. Voila! Anda sekarang akan memiliki mysqld.sock file /var/run/mysqld/mysqld.sock :)
Komentar (7)

Hanya Perlu untuk Memulai MySQL Layanan setelah instalasi:

Untuk Ubuntu:

sudo service mysql start;

Untuk CentOS atau RHEL:

sudo service mysqld start;
Komentar (1)

Oke cukup copy dan paste kode ini: hal Ini harus dilakukan di terminal, di dalam server, ketika database mysql anda tidak diinstal dengan benar, dan ketika anda mendapatkan pesan kesalahan ini: 'Dapat't terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.kaus kaki' (2)'.

Stop MySql

sudo /etc/init.d/mysqld stop

Restart atau mulai

sudo /etc/init.d/mysqld restart or sudo /etc/init.d/mysqld start

Membuat link seperti ini dan memberikan ke sistem

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

Menjalankan instalasi yang aman yang memandu semua proses yang perlu anda lakukan untuk mengkonfigurasi mysql

/usr/bin/mysql_secure_installation
Komentar (1)

Ada bug di Ubuntu dengan MySQL 5.6 dan 5.7 mana var/run/mysqld/ akan hilang setiap kali MySQL, layanan akan dihentikan atau di-reboot. Hal ini untuk mencegah MySQL berjalan sama sekali. Ditemukan pemecahan masalah ini, yang isn't sempurna, tapi setidaknya itu akan berjalan setelah berhenti/reboot:

mkdir /var/run/mysqld/
chown mysqld /var/run/mysqld/
Komentar (4)

Saya menghadapi kesalahan yang sama dan menemukan bahwa itu adalah karena upgradation paket, Jadi setelah restart sistem saya saya memutuskan kesalahan.

Saya pikir karena sql perpustakaan/ paket update bahwa terjadi kesalahan, Sehingga mencoba ini jika anda melakukan beberapa upgrade :)

Komentar (1)

Ada banyak alasan untuk masalah ini, tapi kadang-kadang hanya me-restart server mysql, itu akan memperbaiki masalah.

sudo service mysql restart
Komentar (0)

Jawaban dari pengguna memuat langkah ini bekerja untuk saya. Kadang-kadang perlu mengedit file /etc/mysql/my.cnf add line untuk klien

[client]
password = your_mysql_root_password
port  = 3306
host  = 127.0.0.1
socket  = /var/lib/mysql/mysql.sock
Komentar (3)

Menggunakan XAMPP di ubuntu:

  1. Buat sebuah folder bernama mysqld dalam /var/run direktori. Anda dapat mencapai itu dengan menggunakan perintah sudo mkdir /var/run/mysqld.

  2. Buat symbolic link untuk mysql.kaus kaki file yang dibuat oleh XAMPP server ketika itu dimulai. Anda dapat menggunakan perintah sudo ln-s /opt/lampp/var/mysql/mysql.kaus kaki /var/run/mysqld/mysqld.kaus kaki.

Catatan: The mysql.kaus kaki file yang dibuat ketika server dimulai dan dihapus ketika server berhenti, jadi kadang-kadang link yang anda buat mungkin muncul untuk menjadi rusak tetapi harus bekerja asalkan anda telah memulai server baik menggunakan sudo /opt/lampp/lampp start atau cara lainnya.

  1. Mulai server jika itu's tidak sudah berjalan dan mencoba mengeksekusi program anda lagi.

Good luck! Saya harap anda'll pergi dengan itu kali ini.

Komentar (2)

*Kesalahan: 'Dapat't terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.kaus kaki' (2)'

solusi

akhirnya uninstall dan menginstal ulang mysql. **

  • sudo apt-get remove mysql-server
  • sudo apt-get remove mysql-client
  • sudo apt-get remove mysql-common
  • sudo apt-get remove phpmyadmin

kemudian install lagi dengan

  • sudo apt-get install mysql-server-5.6

Setelah operasi ini, 164 MB ruang disk tambahan yang akan digunakan.

  • Apakah anda ingin melanjutkan? [Y/n] Y tekan YES untuk instalasi lengkap

...... .......

  • Pada akhirnya anda akan mendapatkan garis-garis ini....

Menyiapkan libhtml-template-perl (2.95-1) ...

Menyiapkan mysql-common-5.6 (5.6.16-1~exp1) ... Pengolahan pemicu untuk libc-bin (2.19-0ubuntu6) Pengolahan pemicu untuk ureadahead (0.100.0-16) ...

  • Dan kemudian

root@ubuntu1404:~# mysql -u root -p (untuk setiap password terlebih dahulu u harus menggunakan )

  • Masukkan password:

  • Catatan :password yang Dimasukkan harus sama dengan waktu instalasi password dari mysql(seperti .root,sistem,admin,rahul dll...)

Kemudian ketik

  • GUNAKAN rahul_db(nama database);

Terima kasih.**

Komentar (3)

Mungkin seseorang menghadapi masalah ini. Saya menggunakan Mysql Workbench di Ubuntu 14 dan punya kesalahan ini.

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) when trying to connect

Menemukan soket file dengan menjalankan sudo find / -type s, dalam kasus saya itu adalah /run/mysqld/mysqld.sock

Jadi, saya baru saja membuat sebuah link untuk file ini dalam tmp direktori.

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Komentar (3)

anda dapat menemukan mysqld.kaus kaki di /var/run/mysqld jika anda telah menginstal mysql-server dengan sudo apt-get install mysql-server

Komentar (0)

ERROR 2002 (HY000): Bisa't terhubung ke server MySQL lokal melalui soket '/var/lib/mysql/mysql.kaus kaki' (2)

di /etc/my.cnf tambahkan baris ini:


[client]
socket=/var/lib/mysql/mysql.sock 
Komentar (0)

Saya pikir anda MySQL server belum dimulai. Jadi mulai server menggunakan salah satu dari perintah berikut.

#services mysql start

atau

#/etc/init.d/mysql start
Komentar (0)

Hal ini disebutkan beberapa kali sudah, tapi ini bekerja langsung untuk saya:

service mysql restart

Komentar (1)

Pastikan anda tidak dapat diakses socket file path yang sama sebagai '/var/run/mysqld/mysqld.kaus kaki', jika tidak mengubah jalan seperti milik anda. Menghentikan mysqld

$ sudo /etc/init.d/mysqld stop

Jika proses masih runing;

$ sudo pkill -9 mysqld

Menghapus direktori mysql di mana soket akan membuat. Bagi saya itu tidak diperbolehkan untuk menghapus, jadi saya harus tegas menghapus.

$ sudo mkdir -p /var/run/mysqld

Mengatur kepemilikan ke dirctory

$ sudo chown mysql:mysql /var/run/mysqld

Mulai mysql

$ sudo /etc/init.d/mysql start

Mencoba untuk menghubungkan mysql

$ sudo mysql -u dbuser -p
Komentar (0)

Dalam kasus Saya dua mysqld proses yang berjalan.. membunuh opsional proses-proses dengan menggunakan pkill -9 mysqld

Komentar (1)

Jika anda memiliki banyak database dan tabel pada sistem anda, dan jika anda memiliki innodb_file_per_table set di saya.cnf, maka server mysql anda mungkin telah kehabisan dibuka objek / file (atau lebih deskriptor untuk benda-benda) Set baru max dengan nomor

open-files-limit = 2048

dan restart mysql. Pendekatan ini mungkin bisa membantu ketika soket tidak dibuat sama sekali, tapi benar-benar ini mungkin tidak menjadi masalah sebenarnya, ada masalah yang mendasari.

Komentar (0)