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?
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
pkill -9 mysqld
pgrep mysql
atau ps aux | grep mysql | grep -v grep
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.
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
Solusinya adalah cara yang lebih mudah.
mysql.sock
file berada. Dalam kasus saya itu adalah di /opt/lampp/var/mysql/mysql.sock
sudo Nautilus
mysql.sock
file berada mysqld.sock
kemudian klik Kanan pada file dan Cut itu/var/run
dan membuat sebuah folder bernama mysqld
dan masukkanmysqld.sock
file /var/run/mysqld/mysqld.sock
:)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
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/
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 :)
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
Menggunakan 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
.
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.
Good luck! Saya harap anda'll pergi dengan itu kali ini.
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.
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
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 <= this path should be also same as is[mysqld]
Dan restart service dengan:
service mysql restart
ini bekerja untuk saya
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
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.