ERROR 2002 (HY000): Tidak dapat terhubung ke server MySQL lokal melalui soket '/tmp/mysql.sock'


202

Saya menginstal MySQL pada Mac OS X Mountain Lion dengan homebrew install mysql, tetapi ketika saya mencoba mysql -u rootsaya mendapat kesalahan berikut:

GALAT 2002 (HY000): Tidak dapat terhubung ke server MySQL lokal melalui soket '/tmp/mysql.sock' (2)

Apa artinya kesalahan ini? Bagaimana saya bisa memperbaikinya?


3
Tidak mempostingnya sebagai jawaban tetapi Anda harus install mysql-servermengemasnya juga, tidak hanyamysql
Hanky ​​Panky

3
@HankyPanky mungkin itu benar ketika Anda menulisnya. Tapi pada tahun 2016 Brew tidak memiliki mysql-serveruntuk install.
jjpe

22
Penting untuk dicatat bahwa Anda menginstal menggunakan Homebrew jadi abaikan tips non-homebrew dan mulai (dan restart pada startup) dengan brew services start mysqlatau (jika Anda tidak menginginkan layanan latar belakang) mysql.server start.
Dave Everitt

1
Saya berhasil tetapi dengan mysql normal lama 5.7.19. Versi mysql@5.7 yang baru 5.7.24tidak dapat berfungsi karena beberapa referensi konfigurasi tetap ditautkan dengan mysql lama dan bukan pada brew baru Cellar mysql@5.7 Tong. Jadi terima kasih saya coba ini nanti
KeitelDOG

1
Kesalahan ini juga kemungkinan terjadi setelah menjalankan brew upgradeyang akan menginstal versi mysql yang lebih baru daripada yang diinstal sebelumnya.
johnsampson

Jawaban:


113

Mungkin karena MySQL diinstal tetapi belum berjalan.

Untuk memverifikasi bahwa itu sedang berjalan, buka Monitor Aktivitas dan di bawah "Semua Proses", cari dan verifikasi Anda melihat proses "mysqld".

Anda dapat memulainya dengan menginstal "MySQL.prefPane".

Berikut ini adalah tutorial lengkap yang membantu saya: http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html


95
Saya hanya berlari mysqlddan itu saja, ini adalah masalah yang disebabkan oleh buruknya penutupan karena semacam hard reset / shut-down sistem.
ProfNandaa

2
Tak satu pun dari metode yang disarankan bekerja. Bagi saya, itu sedang berjalan, namun, ada masalah izin. Menjalankan sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7memecahkan masalah
FooBar

Saat mencari di Activity Monitor, mysqlId sedang berjalan; untuk mengatasi ini hentikan mysql kemudian restart.
JpersaudCodezit

109

Anda harus memulai MySQL sebelum dapat menggunakan mysqlperintah di terminal Anda. Untuk melakukan ini, jalankan brew services start mysql. Secara default, minuman menginstal database MySQL tanpa kata sandi root. Untuk mengamankan berjalan: mysql_secure_installation.

Untuk menjalankan connect: mysql -uroot. rootadalah nama pengguna di sini.


8
Menjalankan sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7memecahkan masalah
FooBar

1
Bagi mereka yang bertanya-tanya mysql_secure_installationadalah skrip khusus mariaDB.
T.Woody

3
brew services start mysqlkeberhasilan. Tetapi ketika saya menjalankannya mysql -uroot, kesalahannya masih sama.
Harper Koo

Apakah perlu untuk menjalankan ini setiap kali Mac dinyalakan atau akan menjalankannya setelah menyingkirkan kesalahan / menjaga MySQL tetap berjalan atau memulai startup?
Connor Leech

Menjalankan ini sekali saja sudah cukup.
Md Mazedul Islam Khan

90

Ini terjadi setelah instalasi homebrew dan terjadi karena masalah izin. Perintah berikut memperbaiki masalah ini.

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start

2
Anda mengagumkan @nirojan, saya membenturkan kepala ke dinding: thumsup:
Ravi Sharma

Keren. Saya dapat mengatasi masalah saya ketika beralih ke akun admin mac lain :)
William Wong Garay

Terima kasih banyak. Saya telah memecahkan kepala saya selama lebih dari 5 jam sekarang. Terlihat beberapa jawaban di internet dan hanya ini yang membantu.
ivange94

Aku mencintaimu @nirojan
Raccoon

Pujian! Tetapi ketika saya me-restart MacBook saya, saya memiliki masalah yang sama.
Junior Gantin

46

Lari: brew info mysql

Dan ikuti instruksinya. Dari uraian dalam rumus:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

Semoga ini membantu.


35

Seperti yang telah ditunjukkan orang lain, ini karena MySQL diinstal tetapi layanan tidak berjalan. Ada banyak cara untuk memulai layanan MySQL dan apa yang berhasil bagi saya adalah di bawah ini.

Untuk memulai layanan:

  1. Pergi ke "System Preference"
  2. Di panel bawah harus ada ikon MySql.
  3. Klik dua kali untuk meluncurkan 'Status Server MySQL' dan tekan tombol 'Mulai MySQL Server'

Id saya:

Mac Yosemite 10.10.3

Paket Terpasang: /Volumes/mysql-advanced-5.6.24-osx10.8-x86_64


@HosMercury dapatkah Anda mengonfirmasi bahwa Anda telah menginstal MySQL
Ithar

Saya mengunduh dan menginstal mysql dari halaman web resmi Mysql. Solusi ini bekerja untuk saya. Terima kasih :)
鄭元傑

1
Hai, saya mengunduh dan menginstal mysql dari halaman web resmi juga, tetapi di panel preferensi server tidak diaktifkan (red dot), ketika saya klik 'start sql server' ternyata 'hijau' untuk yang kedua dan kembali ke merah, tidak ada yang terjadi. Saya mencoba 'chown', symlink ke tmp / mysql.socket, uninstall / instal ulang, buat instal mysql, tetapi semuanya gagal. instalasi buatan memberi saya kesalahan yang tidak puas, sesuatu tentang membutuhkan Sierra atau OS yang lebih tinggi. Saya menjalankan el capitan. Bantuan apa pun akan dihargai.
Spencer Trinh

24

Solusi berputar di sekitar:

  • mengubah izin MySQL

    sudo chown -R _mysql:mysql /usr/local/var/mysql
  • Memulai proses MySQL

    sudo mysql.server start

Hanya untuk menambahkan banyak jawaban yang bagus dan berguna yang telah disediakan di sini dan dari banyak posting berbeda, coba tentukan host jika perintah di atas tidak menyelesaikan masalah ini untuk Anda, yaitu

mysql -u root -p h127.0.0.1

Bagi saya itu adalah masalah izin
pfwd

seharusnya: mysql -u root -p -h127.0.0.1
Duc Chi

Wow, solusi yang lebih baik daripada memusnahkan semua barang lokal saya. Ini adalah perbaikan cepat!
Jordan

Saya mencoba di atas tetapi akhirnya, ini berhasil: sudo chown -R $ (whoami) $ (brew --prefix) / *
Kiran Ruth R

15

Peringatan - metode ini akan menghapus semua basis data Anda di /usr/local/var/mysqlfolder

Saya telah menginstal MySQL dengan Homebrew, dan satu-satunya hal yang memperbaikinya bagi saya adalah menginstal ulang MySQL.

Di laptop perusahaan saya, saya tidak memiliki izin untuk menghapus instalasi MySQL dari komputer saya melalui Homebrew:

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

Jadi sebagai gantinya, saya menghapus dan menginstal ulang MySQL secara manual:

$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql

Dan itu berhasil!


Peringatan - metode ini akan menghapus semua basis data Anda (di folder / usr / local / var / mysql).
johnsampson

13

Di bawah ini saya menyertakan instruksi terbaru dari brew install mysqlpencarian yang lebih baru untuk masalah ini dapat bermanfaat:

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

Dalam kasus saya, saya memuat mysql sekarang melalui launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plistdan kemudian dapat diluncurkan $ mysqldan berada di jalan saya.

Saya harap ini membantu pemecah masalah baru-baru ini!


11

Sepertinya server mysql Anda belum dimulai. Saya biasanya menjalankan perintah berhenti dan kemudian mulai lagi:

mysqld stop
mysql.server start

Kesalahan yang sama, dan ini bekerja untuk saya.


9

Ini memperbaiki masalah saya ketika saya me-restart layanan mysql. Lari saja:

brew services start mysql

8

masalah ini terkait dengan /usr/local/var/mysqlakses folder, saya menghapus folder ini dan menginstal ulang mysql.

  1. uninstall mysql dengan brew:

    brew uninstall mysql

  2. sudo rm -r /usr/local/var/mysql

  3. brew install mysql@8.0
  4. mysql -u root

Solusi ini berfungsi dengan baik untuk saya! TETAPI ANDA HILANG SEMUA DATABASASI ANDA! PERINGATAN!


2
Ini kemungkinan besar akan memperbaiki masalah, namun bagi pembaca di masa mendatang, diperingatkan bahwa ini akan menghapus semua basis data Anda. Ini pada dasarnya merupakan instalasi ulang MySQL yang sulit. Saya tahu konteks pertanyaannya adalah instalasi baru, tetapi beberapa orang yang memindai mungkin hanya mencoba ini tanpa mengetahui kerusakan yang dapat ditimbulkan pada instalasi yang ada / produksi.
efru

1
Ini sebenarnya bukan solusi. Ini adalah "Sudahkah Anda mencoba menyalakan dan mematikannya lagi?"
Berry M.

6

Wah, butuh beberapa saat untuk mencari tahu. Saya melihatnya dalam komentar. Setelah menginstal mysql menggunakan brew, dan memulai layanan (mungkin menggunakan sudo brew services start mysql) kemudian jalankan:

$ mysqld

Dan MySQL harus berjalan untuk Anda setelahnya.


5

Bagi saya itu sederhana seperti berlari:

/usr/local/opt/mysql/bin/mysqld_safe

dari pada mysqld


1
Ini berhasil untuk saya. Tidak yakin mengapa, tetapi itu mungkin terkait dengan bug restart Mac OS di komputer saya
kraftydevil

3

Saya menemukan solusi untuk masalah saya. Itu memang karena server MySQL saya tidak berjalan.

Itu disebabkan oleh MySQL yang tidak diatur dengan benar pada mesin saya, sehingga tidak dapat berjalan.

Untuk mengatasinya, saya menggunakan skrip yang menginstal MySQL di Mac OSX Mountain Lion , yang harus menginstal file yang hilang.

Berikut tautannya: http://code.macminivault.com/

Catatan Penting: Skrip ini menetapkan kata sandi root sebagai string yang dibuat secara acak, yang disimpan di Desktop, jadi berhati-hatilah untuk tidak menghapus file ini dan untuk mencatat kata sandi. Ini juga menginstal manajer MySQL di preferensi sistem Anda. Saya juga tidak yakin apakah menghapus basis data yang ada, jadi berhati-hatilah.


3

Dalam kasus saya itu hanya masalah menghapus file kunci.

sudo rm -f /tmp/mysql.sock.lock

3

Saya mengalami masalah ini dan saya berhasil menjalankan server mysql menggunakan solusi di bawah ini

Instal mysql melalui .dmg( https://dev.mysql.com/downloads/mysql/5.7.html ), Anda akan mendapatkan panel layanan mysql di preferensi sistem kemudian mulai mysql dari panel dan coba

mysql -u root -p

Gambar terlampir untuk referensi

Preferensi Sistem

Panel Mysql


2

Setelah mengerjakan ini selama beberapa jam, apa yang berhasil bagi saya adalah pergi ke / etc / mysql / dan mengedit file my.cnf. Tambahkan yang berikut ini

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

1
Ini juga membantu saya, meskipun untuk versi os / mysql saya adalah: /etc/my.conf, dan soketnya ada di /var/lib/mysql/mysql.sock /var/log/mysqld.log harus menunjukkan Anda ke tempat file socket.
keithpjolley

1

Saya telah mencoba setiap cara yang mungkin untuk menyelesaikan masalah ini, seperti ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock, hapus dan instal ulang mysql, pastikan mysql berjalan di xampp tetapi tidak ada yang berfungsi .

Akhirnya, saya membuka my.cnf (file config) dan menyalin jalur socket (pastikan untuk menyalin path lengkap kalau tidak tidak akan berhasil). Lalu saya melakukan perintah ini di terminal saya

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

Lihatlah, lihat mysql diluncurkan.

Solusi ini hanya akan berfungsi jika MySQL Anda terlihat berjalan di Xampp / Ampps, tetapi di terminal itu masih belum terhubung ke soket yang tepat ketika Anda sudah mencoba sesuatu seperti:

./mysql -u root

atau

brew services start mysql

Saya harap ini membantu!


Saya juga mencoba setiap solusi yang disarankan dari pos ini, dan itu tidak berhasil. Apakah Anda perlu xampp diinstal? saya tidak terbiasa dengan ini. Saya hanya menginstal versi GPL server mysql dari situs web resmi (.DMG). Saya tidak percaya saya memiliki aplikasi ini - XAMPP. Bisakah Anda jelaskan? Terima kasih.
Spencer Trinh

1

hanya ini yang membuat trik untuk saya brew services start --all (setelah mencoba semua jawaban)


2
Jelaskan bagaimana hubungannya dengan pertanyaan itu.
mentallurg

1

Saya akan merekomendasikan Anda untuk lari

  mysql.server start

sebelum pergi

  mysql -u root -p

untuk memastikan bahwa server mysql berjalan sebelum mencoba masuk ke dalamnya

Ini terjadi berkali-kali saat Anda memulai / me-restart mesin di mana tanpa server mysql sedang berjalan.


1

Saya terus kembali ke posting ini, saya telah mengalami kesalahan ini beberapa kali. Mungkin ada hubungannya dengan mengimpor semua database saya setelah melakukan instalasi baru.

Saya menggunakan homebrew. Satu-satunya hal yang digunakan untuk memperbaikinya bagi saya:

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Pagi ini, masalah kembali setelah mesin saya memutuskan untuk menutup semalam. Satu-satunya hal yang memperbaikinya sekarang adalah meng-upgrade mysql.

brew upgrade mysql

0

Dalam kasus saya tepat setelah menginstal MAMP mengakses mysql dari terminal memberikan kesalahan soket yang sama. Pada akhirnya yang diinginkannya adalah restart dan berfungsi.


0

Banyak tanggapan bermanfaat lainnya di sini, tetapi tidak ada yang memperbaiki ini untuk saya. Pada akhirnya tidak ada yang saya temukan di situs ini atau orang lain yang akan mendapatkan versi MySQL dari Homebrew yang berfungsi untuk saya.

Sangat mudah untuk mengunduh DMG dari https://dev.mysql.com/downloads/file/?id=479114 (temukan versi yang sesuai yang Anda butuhkan) dan biarkan wizard memasangnya untuk saya. Satu-satunya langkah manual lainnya adalah menambahkan /usr/local/mysql/binke PATH saya.

Saya akan merekomendasikan opsi ini jika minuman membuat Anda kesulitan.

Perbarui - jika ini masih belum memperbaikinya, cobalah membersihkan mysql sepenuhnya sebelum menginstal melalui DMG. Ikuti instruksi ini: https://gist.github.com/vitorbritto/0555879fe4414d18569d


saya menginstal melalui file DMG juga, tetapi saya masih mendapatkan kesalahan soket ini. mysql --version berfungsi untuk saya dan --help, tetapi tidak ada yang lain. Saya menambahkan ke path untuk mendapatkan perintah --version dan --help bekerja. bisakah Anda memberikan saran? Terima kasih.
Spencer Trinh

Lihat pembaruan tentang membersihkan mysql terlebih dahulu. Itu sudah diperbaiki untuk saya dan beberapa rekan kerja.
Patrick

0

Coba ini

rm -rf /usr/local/var/mysql && brew postinstall mysql@5.7 && brew services restart mysql@5.7

0

Mengalami masalah serupa setelah memutakhirkan ke Catalina OS. Setelah menjalankan perintah mysqld, saya menemukan bahwa ada beberapa masalah dengan file log. Itu bisa berbeda untuk orang lain.

$ mysqld

Masalahnya adalah

2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting

Mengatasinya dengan membuatnya dan menerapkan izin yang tepat.

sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/

Mulai ulang MySQL

brew services restart mysql@5.7

Masalah telah diatasi.

mysql -uroot -proot

0

Setelah mencoba banyak solusi, sepertinya yang akhirnya berhasil adalah menghubungkan dengan IP. Soket file tidak lagi dihapus secara acak.

Cukup perbarui konfigurasi klien MySQL Anda (mis. /usr/local/etc/my.cnf) Dengan:

[client]
port = 3306
host=127.0.0.1
protocol=tcp

-4
  1. Copot pemasangan MySQL.
  2. Hapus /usr/local/var/mysql/.
  3. Instal MySQL.

1
Apakah ini tidak akan menghilangkan semua database yang mungkin Anda miliki? Sepertinya solusi yang agak berat bagi saya, terutama mengingat itu mungkin hanya masalah MySQL tidak berjalan.
Martin Tournoij

ya itu akan, tetapi sesuai pertanyaan, ini adalah instalasi baru dan karenanya asumsinya adalah bahwa akan ada database.
Amod Kulkarni
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.