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?
Coba perintah ini,
Untuk menemukan semua soket file pada sistem anda jalankan:
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:
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
pkill -9 mysqld
pgrep mysql
ataups aux | grep mysql | grep -v grep
4969
mengakhiri dengankill -9 4969
Setelah anda melakukan ini, anda mungkin ingin mencari pid file
/var/run/mysqld/
dan menghapusnyaPastikan 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:
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.
Kesalahan ini terjadi karena beberapa instalasi mysql. Jalankan perintah:
Membunuh proses dengan menggunakan:
dan kemudian jalankan perintah:
Juga Membunuh proses ini dengan menjalankan:
Sekarang anda benar-benar hanya jalankan perintah berikut:
Memiliki sangat baik bekerja mysql lagi
Solusinya adalah cara yang lebih mudah.
mysql.sock
file berada. Dalam kasus saya itu adalah di/opt/lampp/var/mysql/mysql.sock
sudo Nautilus
Ini dimulai File manager dengan hak super user
mysql.sock
file beradamysqld.sock
kemudian klik Kanan pada file dan Cut itu/var/run
dan membuat sebuah folder bernamamysqld
dan masukkanmysqld.sock
file/var/run/mysqld/mysqld.sock
:)Hanya Perlu untuk Memulai MySQL Layanan setelah instalasi:
Untuk Ubuntu:
Untuk CentOS atau RHEL:
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
Restart atau mulai
Membuat link seperti ini dan memberikan ke sistem
Menjalankan instalasi yang aman yang memandu semua proses yang perlu anda lakukan untuk mengkonfigurasi mysql
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: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 :)
Ada banyak alasan untuk masalah ini, tapi kadang-kadang hanya me-restart server mysql, itu akan memperbaiki masalah.
Jawaban dari pengguna memuat langkah ini bekerja untuk saya. Kadang-kadang perlu mengedit file
/etc/mysql/my.cnf
add line untuk klienMenggunakan XAMPP di ubuntu:
Buat sebuah folder bernama mysqld dalam /var/run direktori. Anda dapat mencapai itu dengan menggunakan perintah
sudo mkdir /var/run/mysqld
.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
.Good luck! Saya harap anda'll pergi dengan itu kali ini.
*Kesalahan: 'Dapat't terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.kaus kaki' (2)'
solusi
akhirnya uninstall dan menginstal ulang mysql. **
kemudian install lagi dengan
Setelah operasi ini, 164 MB ruang disk tambahan yang akan digunakan.
...... .......
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) ...
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
Terima kasih.**
Mungkin seseorang menghadapi masalah ini. Saya menggunakan Mysql Workbench di Ubuntu 14 dan punya kesalahan ini.
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.anda dapat menemukan
mysqld.kaus kaki
di/var/run/mysqld
jika anda telah menginstalmysql-server
dengansudo apt-get install mysql-server
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:Saya pikir anda MySQL server belum dimulai. Jadi mulai server menggunakan salah satu dari perintah berikut.
atau
Hal ini disebutkan beberapa kali sudah, tapi ini bekerja langsung untuk saya:
service mysql restart
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
Jika proses masih runing;
Menghapus direktori mysql di mana soket akan membuat. Bagi saya itu tidak diperbolehkan untuk menghapus, jadi saya harus tegas menghapus.
Mengatur kepemilikan ke dirctory
Mulai mysql
Mencoba untuk menghubungkan mysql
Dalam kasus Saya dua mysqld proses yang berjalan.. membunuh opsional proses-proses dengan menggunakan pkill -9 mysqld
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 nomordan 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.