Saya menginstal LAMP di Ubuntu 12.04 LTS (Precise Pangolin) dan kemudian mengatur kata sandi root di phpMyAdmin . Saya lupa kata sandi dan sekarang saya tidak bisa masuk. Ketika saya mencoba mengubah kata sandi melalui terminal saya mendapatkan:
ERROR 2002 (HY000): Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)
Bagaimana saya bisa memperbaikinya? Saya tidak dapat membuka LAMP, menghapus instalannya atau menginstalnya kembali.
mysql
phpmyadmin
lamp
forgot-password
mysql-error-2002
sushmit sarmah
sumber
sumber
Jawaban:
Saya pernah mengalami masalah ini dan menyelesaikannya dengan menginstal
mysql-server
, jadi pastikan Anda telah menginstalnyamysql-server
, bukan yangmysql-client
lainnya.Kesalahan itu berarti file
/var/run/mysqld/mysqld.sock
tidak ada, jika Anda tidak menginstalmysql-server
, maka file tidak akan ada. Jadi dalam hal ini, instal denganTetapi jika
mysql-server
sudah terpasang dan sedang berjalan, maka Anda perlu memeriksa file konfigurasi.File konfigurasi adalah:
Dalam
/etc/my.cnf
, konfigurasi file socket mungkin/tmp/mysql.sock
dan dalam/etc/mysql/my.cnf
konfigurasi file socket mungkin/var/run/mysqld/mysqld.sock
. Jadi, hapus atau ganti nama/etc/mysql/my.cnf
, biarkan mysql gunakan/etc/my.cnf
, maka masalahnya bisa terpecahkan.sumber
sudo apt-get install mysql-server
untuk menginstal mysql di ubuntuCoba ini:
Juga (untuk melihat apakah itu berjalan):
Mungkin ini hanya kesalahan konfigurasi pada
my.cnf
file, dalam/etc/somewhere
(tergantung pada distribusi Linux ).sumber
/etc/my.cnf
dan berkomentar#bind-address = 127.0.0.1
Referensi 1 Referensi 2 . Lalu saya bisa terhubung. Setelah ini, saya menyadari saya mendapatkan sekarang kesalahan 2002 ini yang membawa saya ke jawaban ini dan sekarang ini berfungsi lagi. Jelas saya setuju dengan Anda dengan mendapatkan penjelasan tentang mengapa hanya mengetikmysql
tanpa-h
melempar kesalahan.mysql -h localhost
tidak berfungsi. Pastikan untuk menggunakanmysql -h 127.0.0.1
sebagaimana ditentukan dalam jawaban.Saya melihat semua jawaban ini, tetapi tidak ada yang menawarkan opsi untuk mengatur ulang kata sandi dan tidak ada jawaban yang diterima . Pertanyaan sebenarnya adalah dia lupa kata sandi, jadi dia perlu mengatur ulang, tidak melihat apakah itu berjalan atau tidak (diinstal atau tidak) karena sebagian besar dari jawaban ini menyiratkan.
Untuk mereset kata sandi
Ikuti langkah-langkah ini (dapat membantu jika Anda benar-benar lupa kata sandi dan Anda dapat mencobanya kapan saja, bahkan jika Anda tidak dalam situasi saat ini):
Berhenti
mysql
Atau untuk versi distribusi lainnya:
Mulai MySQL dalam mode aman
Masuk ke MySQL menggunakan root
Pilih database MySQL yang akan digunakan
Setel ulang kata sandi
Siram hak istimewa
Mulai ulang server
Hentikan dan mulai server lagi
Ubuntu dan Debian:
Di CentOS, Fedora, dan RHEL:
Login dengan kata sandi baru
Ketikkan kata sandi baru dan nikmati server Anda lagi seperti tidak ada yang terjadi
Ini diambil dari Reset kata sandi root MySQL .
sumber
repair table user use_frm
berhasil bagi saya untuk menyelesaikan masalah ini. - stackoverflow.com/questions/4297592/…update user set authentication_string=password('mynewpassword') where user='root';
Saya mencoba langkah-langkah berikut:
super user
atau gunakansudo
/etc/mysql/my.cnf
menggunakan geditbind-address
, dan ubah nilainya ke alamat IP mesin host server database. Bagi saya, itulocalhost
atau127.0.0.1
sudo service mysql start
Dan itu berhasil untuk saya.
sumber
Saya memperbaiki masalah ini dengan menjalankan perintah berikut:
Dan jika Anda menggunakan mac dan minuman buatan untuk menginstal mysql, cukup gunakan:
sumber
Saya punya masalah serupa. mysql tidak akan mulai:
Jika saya menonaktifkan apparmor:
masalahnya hilang. Masalahnya adalah bahwa mysqld sedang mencoba untuk mengakses /run/mysqld/mysqld.sock tetapi profil apparmor hanya memberikan izin ke /var/run/mysqld/mysqld.sock (/ var / run disinkronkan ke / run, jadi ini sebenarnya sama). Tidak yakin mengapa mysqld tidak menggunakan jalur var karena itulah yang diatur dalam semua file konfigurasi, tetapi Anda dapat memperbaiki masalahnya dengan menambahkan berikut ini ke /etc/apparmor.d/usr.sbin.mysqld
sumber
Dalam kasus saya itu adalah bahwa disk sudah penuh dan mysqld tidak dapat memulai lagi.
Cobalah untuk me-restart layanan mysql.
atau
Jika tidak mengenali
stop
perintah maka pasti ruang disk. Anda harus membuat ruang di partisimysql
dialokasikan atau membuat disk lebih besar.Periksa ruang disk dengan
sumber
Saya memecahkan ini dengan mematikan
mysql
proses:Dan kemudian saya mulai server lagi dengan:
Tetapi
start
bekerja juga:Kemudian saya login sebagai
admin
, dan saya selesai.sumber
Entah bagaimana proses server MySQL tidak membuat soket, atau klien mencari soket di tempat yang salah.
Saran pertama saya adalah memeriksa apakah server MySQL sedang berjalan. Saran kedua mungkin, apakah server MySQL berjalan di host lain? Jika demikian, tambahkan
-h <hostname>
bendera ke klien MySQL Anda di terminal.Jika MySQL memang berjalan, dan berjalan secara lokal, periksa
my.cnf
file Anda . Seharusnya ada garis sepertiLihat apakah itu cocok dengan lokasi soket yang Anda sebutkan di pos Anda.
Dari pengalaman, saya akan mengatakan skenario yang paling mungkin adalah server MySQL Anda tidak berjalan sama sekali atau tidak berjalan di host yang sama dengan tempat Anda menjalankan klien MySQL Anda dari terminal.
sumber
Saya baru saja mengalami masalah yang sama setelah saya harus me-restart server produksi saya. Saya menjalankan Debian 8.1 (Jessie) pada tetesan DigitalOcean.
Inilah yang saya lakukan untuk menyelesaikan masalah saya:
Periksa apakah file tersebut
/var/run/mysqld/mysqld.sock
ada. Jika tidak, buat secara manual dengan memasukkantouch /var/run/mysqld/mysqld.sock
(yang harus saya lakukan).Jadi proses MySQL dapat menggunakan file ini. Ubah kepemilikan file tersebut dengan memasukkan
chown mysql /var/run/mysqld/mysqld.sock
.Setelah '2' selesai, restart layanan MySQL dengan memasukkan
service mysql restart
atau/etc/init.d/mysql restart
.Setelah melalui langkah-langkah di atas, masalah saya terpecahkan. Saya jarang mengalami masalah ini, dan mungkin ada cara yang lebih baik, jadi berikan umpan balik konstruktif jika perlu :).
sumber
Server mysql Anda mungkin tidak berjalan. Pastikan beroperasi dengan mengetik
mysql.server start
ke terminal.sumber
Periksa
"bind-adress"
parameter di my.cnf.Coba dengan perintah:
-h untuk tuan rumah
127.0.0.1
, yaitu localhost-P (perhatikan -P sebagai huruf besar) untuk port
3306
, yaitu port default untuk MySQLsumber
Inilah yang bekerja untuk saya:
Ini menciptakan tautan.
sumber
Jika Anda menggunakan Amazon EC2 , dan Anda mengalami masalah ini, maka Anda hanya perlu melakukan:
Amazon EC2 tidak memiliki server yang diinstal (hanya klien yang diinstal), jadi jika Anda perlu menginstalnya secara instan, dan setelah itu coba
untuk memeriksa apakah itu berhasil.
sumber
Saya pikir setiap kali Anda mendapatkan kesalahan
Saya akan merekomendasikan dulu untuk memeriksa apakah
mysql
daemon Anda berjalan ... Sebagian besar waktu tidak akan berjalan secara default. Anda dapat memeriksanya dengan/etc/init.d/mysqld status
.Jika tidak berjalan maka mulailah dulu:
Saya yakin itu akan bekerja 110%.
sumber
Alih-alih menggunakan localhost:
Gunakan 127.0.0.1
(perhatikan juga, tidak ada spasi antara -p dan mypassword)
Nikmati :)
sumber
127.0.0.1
bekerja sementaralocalhost
tidak ?!Pastikan Anda memiliki cadangan dari basis data penting dan kemudian coba hapus instalan hal-hal terkait MySQL :
Kemudian pasang kembali :
Ini bekerja untuk saya dan data disimpan.
Jika PHP MySQL menunjukkan kesalahan, Anda mungkin harus menginstal ulang PHP MySQL :
sumber
Saya juga menghadapi masalah yang sama akan terjadi jika Anda
mysql server
tidak berjalan secara default lagi akan berhenti setelah beberapa detik sehingga Anda kembali menjalankan$ sudo service mysql start
perintah ( ) yang dapat Anda ubah jika tahu.untuk itu gunakan perintah
(masukkan kata sandi pengguna jika diperlukan karena kami menggunakan
sudo
) dan kemudian jalankansekarang Anda punya basis data Anda
sumber
Jika instalasi Anda baru-baru ini, Anda harus mengonfirmasi apakah instalasi Anda adalah instalasi SERVER ... sebagai mysql-server-5.5 .. Mungkin Anda hanya menginstal "mysql" .. ini hanya klien, bukan server.
sumber
Jika Anda memiliki XAMPP yang diinstal pada mesin Linux Anda, cobalah untuk menyalin
my.cnf
file Anda dari/opt/lampp/etc/my.cnf
ke/etc/my.cnf
.Kemudian, jalankan
mysql -u root
lagi ... Anda sekarang harus memiliki soket yang benar dan dapat menjalankan klien MySQL.sumber
Saya mendapatkan masalah ini juga, tetapi saya baru saja melakukannya:
Ini berhasil untuk saya.
sumber
SAYA MENEMUKAN SOLUSI
Sebelum menembakkan perintah:
mysql_secure_installation
sudo systemctl stop mariadb
sudo systemctl start mariadb
mysql_secure_installation
Kemudian akan meminta kata sandi root dan Anda cukup menekan Enter dan mengatur kata sandi root baru Anda.
sumber
Dalam kasus saya, port default 3306 sedang digunakan oleh beberapa proses lain dan karenanya tidak dimulai. Setelah saya menghentikan layanan lain dan melakukannya
sudo service mysql start
, itu bekerja dengan baik. BTW, Anda bisa menggunakan sesuatu sepertisudo lsof -Pn -iTCP:3306
untuk melihat siapa yang mungkin menggunakan port.sumber
Dalam kasus saya ini bekerja dengan melakukan beberapa R&D:
Saya dapat terhubung ke MySQL menggunakan
Tapi itu tidak berhasil
mysql -u root -p
.Saya tidak menemukan apa pun
bind-address
di my.cnf . Jadi saya outcommented parametersocket=/var/lib/mysql/mysqld.sock
dimy.cnf
yang menyebabkan saya masalah dengan login.Setelah memulai kembali layanan itu baik-baik saja:
sumber
saya memecahkan masalah ini dengan me-restart mysql
/etc/init.d/mysql stop
dan
/etc/init.d/mysql start
itu dia.
sumber
Berdasarkan pengalaman saya katakan bahwa Anda perlu memeriksa apakah server berjalan terlebih dahulu dan kemudian mencoba mengkonfigurasi MySQL. Solusi terakhir adalah menginstal ulang MySQL.
sumber
Buka terminal dan ketik:
Klien inti basis data MySQL dan paket Server MySQL akan menjadi versi yang sama 5.5. MySQL Client 5.5 dan MySQL Server 5.5 adalah versi "terbaik" dari paket-paket ini di Ubuntu 14.04 sebagaimana ditentukan oleh pengelola paket.
Jika Anda lebih suka menginstal MySQL Client 5.6 dan MySQL Server 5.6 Anda juga dapat menemukan paket mysql-client-core-5.6 dan mysql-server-5.6 di Pusat Perangkat Lunak Ubuntu. Yang penting adalah bahwa nomor versi klien dan server cocok dalam kedua kasus.
Ini berhasil untuk saya.
sumber
Periksa apakah Anda memiliki hak yang benar:
Saya memiliki masalah yang sama dan ini berhasil untuk saya. Setelah melakukan ini, saya dapat memulai MySQL.
sumber
Dalam kasus saya, sepertinya saya benar-benar tidak dapat membunuh proses mysql, ketika saya menjalankan
Proses mysql selalu ada di sana, sepertinya ia memblokir file socket dan proses mysql baru tidak dapat membuatnya sendiri.
jadi ini membantu
Sekarang saya dapat login menggunakan database
Kemudian untuk memperbarui kata sandi root:
PS : Saya mengalami kesulitan memperbarui root passwod, sepertinya masalah dengan plugin "auth_socket", jadi saya harus membuat pengguna baru dengan hak istimewa penuh
Ini menciptakan "super" pengguna tanpa kata sandi dan kemudian Anda dapat terhubung dengan
mysql -u super
sumber
use mysql;
<br> dan Anda sekarang dapat menggunakan <br>UPDATE user SET authentication_string=password('YOURPASSWORDHERE') WHERE user='root'; FLUSH PRIVILEGES;
Di server Debian Jessie, solusi kerja saya adalah cukup lakukan
sebagai pengguna root
sumber