Saya mendapatkan kesalahan ini ketika mencoba masuk ke MySQL dari baris perintah:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Saya pikir ini berarti MySQL belum dimulai. Jadi saya mencoba memulainya:
sudo /etc/init.d/mysql start
dan saya mendapatkan pesan ini:
* Starting MySQL database server mysqld [fail]
Di mana saya melihat / apa yang harus saya lakukan untuk memulai MySQL? Saya menjalankan Ubuntu 8.04 dan menginstal MySQL melalui apt-get. Saya sudah bisa memulainya dan menggunakannya beberapa kali jadi saya tidak tahu mengapa itu berhenti bekerja.
Pembaruan: Ketika menjalankan sudo /etc/init.d/mysql status saya menerima pesan:
* MySQL is stopped.
Pembaruan # 2: File log saya (/var/log/mysql.log & /var/log/mysql.err) kosong (jika ini yang benar)
Jawaban:
Pada Ubuntu 12.04 saya mengalami masalah yang sama setelah mengubah ukuran buffer dalam file /etc/mysql/my.cnf, saya pikir saya agak terbawa. Lagi pula setelah mencoba mengubahnya kembali ke pengaturan default MySQL masih tidak akan memulai.
Saya mencoba beberapa metode berbeda untuk menyelesaikannya, saya memang memperhatikan bahwa /var/run/mysql/mysql.sock hilang. Ini bisa menjadi masalah sehingga Anda dapat memeriksa di sana dan jika ada yang hilang Anda dapat menggantinya dengan melakukan hal berikut:
Ini TIDAK memperbaiki masalah bagi saya! Tetapi mungkin bagi sebagian orang.
Apa yang harus saya lakukan adalah menginstal ulang sepenuhnya MySQL, untuk melakukan ini Anda harus menggunakan perintah sudo. Langkah-langkah untuk sepenuhnya menghapus dan menginstal ulang MySQL adalah sebagai berikut:
Hapus MySQL
Secara opsional, Anda dapat menggunakan aptitude, dengan mengganti apt-get --purge dengan aptitude
Membersihkan
Hapus dir MySQL
Instal MySQL
MySQL sekarang seharusnya sudah berjalan, Anda dapat memeriksa ini dengan melakukan hal berikut:
Anda harus melihat
Semoga ini bisa membantu, dan saya pikir saya bisa menambahkan setelah melakukan ini semua database dan tabel saya di mana masih tersedia, namun saya harus membuat ulang pengguna dan kata sandi untuk database tersebut.
Catatan: Jika Anda memiliki ekstensi mysql untuk php, Anda harus menginstal ulang ini juga.
sumber
sudo touch /var/run/mysqld/mysqld.sock
dan saya menemukan ini dari akhir/var/log/syslog
(misalnya perubahan ke mysqld)/var/run/mysqld
atau/var/run/mysql
?PERINGATAN: Ini berbahaya, mysql Anda TIDAK akan aman dan siapa pun akan dapat terhubung, mengedit, dll tabel Anda, jangan biarkan server Anda berjalan dengan perintah ini.
Coba mulai dalam mode aman:
/usr/local/mysql/bin/safe_mysqld --user=mysql --skip-grant-tables
Jika ini berhasil maka mungkin ada masalah dengan information_schema Anda atau tabel mysql Anda. Jika tidak berfungsi maka ada yang salah dengan pemasangan Anda.
sumber
sudo /usr/bin/mysqld_safe --user=mysql --skip-grant-tables
Periksa file log Anda seperti pada jawaban lainnya. Juga, periksa apakah Anda memiliki cukup (atau ruang disk apa pun). MySQL dapat berperilaku seperti ini di partisi kosong.
df -h
Jika bukan itu, periksa dokumen MySQL tentang debugging server . Mereka
myisamchk
(jika Anda menggunakan MyISAM) sangat berguna.sumber
Saya juga baru saja mendapat masalah ini setelah memperbarui ubuntu. Belum yakin apa sebenarnya masalahnya. Satu worakround yang berfungsi saat ini untuk menjalankan mysql adalah melakukan:
Itu membuatnya bekerja, menunjukkan bahwa aparatur menghentikan mysql dari menjalankan, dan menjelaskan mengapa log kosong mungkin juga: mysql tidak diizinkan untuk berjalan.
Ini tetap merupakan masalah aneh, karena sejauh ini tidak ada "keluhan" dari sini
/var/log/apparmor
, dan satu-satunya entri audit di kern.log adalah dari mengubah profil menjadi mode keluhan.Perhatikan bahwa dalam melakukan ini saya juga menambahkan
/etc/apparmor.d/local/usr.sbin.mysql
file (kosong) sebagai perintah aa-complain mengeluh tentang tidak menemukan file ini.sumber
Saya memiliki masalah yang sama dengan tetesan Digital Ocean 512MB saya.
Ternyata itu disebabkan memori yang tidak mencukupi.
Solusi segera adalah me-restart layanan lain untuk membebaskan memori misalnya
Maka semoga, dengan memori yang cukup, Anda harus dapat me-restart mysql
Solusi jangka panjangnya adalah dengan mendapatkan lebih banyak RAM, atau membuat memori swap .
sumber
Lihatlah file-file log Anda. Setidaknya di Debian, Anda mendapatkan log mysql *
/var/log
.sumber
Punya masalah yang sama ini, ternyata solusinya sedang menatap wajah saya. Drive itu penuh. Anda tidak mendapatkan log karena tidak ada tempat untuk menulisnya .....
sumber
Masalah yang sama mengganggu saya selama berabad-abad di Ubuntu 12,04 Digital Ocean VPS dengan mysql 5.6 diinstal dari PPA. Gejala-gejalanya adalah bahwa file mysql.sock di
/var/run/mysqld/mysql.sock
akan dihapus tetapi tidak pernah diciptakan kembali, jadi saya harus menjalankan perintah berikut secara manual setiap kali mysql diperbarui atau server reboot:Ini dari jawaban Kyle C (kecuali dengan mysqld bukan mysql). Pada akhirnya saya diturunkan ke mysql 5.5 yang muncul ketika Anda biasanya melakukan
sudo apt-get install mysql-server
perintah. Namun itu tidak lurus ke depan jadi inilah yang harus saya lakukan:Semoga ini akan membantu orang lain mengalami sakit yang sama.
sumber
angka ini mungkin membantu orang lain ... jadi ini dia.
Saya ingin memigrasi mysql 5.5 (default ubuntu) ke 5.7 yang baru
(ingin bermain diseluruh dengan tipe JSON asli yang baru)
Saya mengikuti instruksi untuk menginstal versi terbaru ....
tetapi MySQL tidak mau memulai.
Menghabiskan waktu mencari dan menemukan baris ini di
/var/log/mysql/errors.log
:unknown variable 'key_buffer=16M'
dan itu adalah sesuatu yang diatur dalam hal
/etc/mysql/my.cnf
itu, selama peningkatan, saya memilih untuk tetap.Jadi, cukup mudah setelah itu:
mengganti versi saya
my.cnf
dengan yangmy.cnf.dpkg-dist
terletak di direktori yang sama ...Maka harus lari
sudo mysql_upgrade -u root -p sudo service mysql restart
dan sekarang MySQL kembali aktif
sumber
Menemukan variasi lain tentang apa yang bisa salah. Saya memindahkan direktori data, dan ternyata saya lupa chown direktori untuk pengguna mysql, yang juga gagal tanpa output apa pun. Jelas salah di belakang, tetapi kurangnya pesan kesalahan membuat setiap masalah sepele sulit ditemukan.
sumber