it-swarm.com.de

Verbindung zum lokalen MySQL-Server kann nicht über Socket "/tmp/mysql.sock" (2) hergestellt werden

Ich versuche, den MySQL-Client auf meinem Terminal auszuführen. Ich habe den neuesten MySQL-Edelstein installiert. 

 ➜  ~ git:(master) ✗ Ruby -v
    Ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
    ➜  ~ git:(master) ✗ Rails -v
    Rails 2.3.14
    ➜  ~ git:(master) ✗ which mysql
    mysql: aliased to nocorrect mysql
    ➜  ~ git:(master) ✗ which Ruby
    /usr/bin/Ruby
    ➜  ~ git:(master) ✗ which Rails
    /usr/bin/Rails
    ➜  ~ git:(master) ✗ gem list

*** LOCAL GEMS ***

actionmailer (2.3.14)
actionpack (2.3.14)
activerecord (2.3.14)
activeresource (2.3.14)
activesupport (2.3.14)
builder (2.1.2)
bundler (1.0.21)
capistrano (2.9.0)
capybara (0.3.9)
cgi_multipart_eof_fix (2.5.0)
childprocess (0.2.2)
columnize (0.3.4, 0.3.3)
cucumber (0.9.4)
cucumber-Rails (0.3.2)
culerity (0.2.15)
daemons (1.1.4)
database_cleaner (0.6.7)
diff-lcs (1.1.3)
expertiza-authlogic (2.1.6.1)
fastercsv (1.5.4)
fastthread (1.0.7)
ffi (1.0.10, 1.0.9)
gdata (1.1.2)
gem_plugin (0.2.3)
gherkin (2.2.9)
highline (1.6.2)
hoptoad_notifier (2.4.11)
json (1.4.6)
json_pure (1.6.1)
linecache (0.46)
mime-types (1.16)
mongrel (1.1.5)
mysql (2.8.1)
mysql2 (0.3.7)
net-scp (1.0.4)
net-sftp (2.0.5)
net-ssh (2.2.1)
net-ssh-gateway (1.1.0)
nokogiri (1.5.0)
rack (1.1.2)
rack-test (0.6.1)
Rails (2.3.14)
rake (0.9.2)
rbx-require-relative (0.0.5)
rdoc (3.11)
RedCloth (4.2.8)
rgl (0.4.0)
Ruby-debug (0.10.4)
Ruby-debug-base (0.10.4)
rubyzip (0.9.4)
Selenium-webdriver (2.8.0, 2.7.0)
stream (0.5)
term-ansicolor (1.0.7, 1.0.6)

➜  expertiza git:(master) ✗ Sudo su
Password:
sh-3.2# mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
sh-3.2# 

Ich kann den obigen Fehler nicht beseitigen. Ich habe einen mysql.sock file in /Users/HPV/expertiza/tmp/sockets erstellt. In der Datei habe ich mysql.default_socket =/expertiza/tmp/sockets/mysql.sock geschrieben. 

Was mache ich falsch?

Vielen Dank!

31
Ava

Sie müssen den Anweisungen folgen , um den Server zu installieren und zu starten. 

Der Befehl hängt davon ab, wie Sie MySQL installiert haben. Versuchen Sie dies zuerst:

Sudo/Library/StartupItems/MySQLCOM/MySQLCOM starten

Wenn das nicht klappt:

cd/usr/local/mysql
Sudo ./bin/mysqld_safe
(Geben Sie ggf. Ihr Passwort ein)
(Drücken Sie Strg-Z)
bg

37
David Schwartz

Wenn Sie diesen Fehler erhalten und mysql über Homebrew installiert haben, habe ich festgestellt, dass dies funktioniert (obwohl Sie "5.6.12" in Ihre eigene Version ändern müssen):

/usr/local/Cellar/mysql/5.6.12/bin/mysql.server neu starten

Ich habe gerade eine Datei ~/restartMysql.sh in meinem Home-Verzeichnis erstellt (mit nur der Zeile darüber), so dass ich diese immer verwenden kann, wenn MySQL aktiv ist 

32
smckee

Führen Sie in der Befehlszeile Folgendes aus: 

$ mysql.server start
17
hsuk

das post hat mir geholfen, ich werde die schritte hier umschreiben (hinweis: ich schreibe auch die ausgabe deiner befehle .. nur damit du weißt, dass du auf dem richtigen weg bist)

Stoppen Sie zuerst den Server, wenn er ausgeführt wird:

[[email protected] ~]# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]

Führe eine SQL-Dameon auf einem separaten Thread aus

[[email protected] ~]# mysqld_safe --skip-grant-tables &    
[1] 13694    
[[email protected] ~]# Starting mysqld daemon with databases from /var/lib/mysql

öffne ein separates Shell-Fenster und tippe

[[email protected] ~]# mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.0.77 Source distribution



Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

beginne mit mysql

mysql> use mysql; 

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A



Database changed

Aktualisieren Sie die Tabelle user manuell mit Ihrem neuen Passwort (Hinweis: Geben Sie mysql> show tables; ein, um einen Überblick zu erhalten, wo Sie sich befinden.)

HINWEIS: Passwörter aus MySQL 5.7 befinden sich in der Tabelle authenication_string, daher lautet der Befehl update user set authentication_string=password('testpass') where user='root';

mysql> update user set password=PASSWORD("testpass") where User='root';

Query OK, 3 rows affected (0.05 sec)

Rows matched: 3 Changed: 3 Warnings: 0

Flush-Privilegien (ich bin nicht sicher, worum es bei diesen Privilegien geht ... aber es funktioniert)

mysql> flush privileges; 

Query OK, 0 rows affected (0.04 sec)

beende

mysql> quit

Bye

Stoppen Sie den Server

HINWEIS: Unter OS X oder macOS befindet sich mysql.server unter /usr/local/mysql/support-files/.

mysql.server stop

Shutting down MySQL
.130421 09:27:02 mysqld_safe mysqld from pid file /usr/local/var/mysql/mycomputername.local.pid ended
 SUCCESS! 
[2]-  Done                    mysqld_safe --skip-grant-tables

töte das andere Shell-Fenster, in dem die Dame läuft (nur um sicherzugehen)

jetzt kann es losgehen! Versuch es:

[[email protected] ~]#  mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.10 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

fertig!

5
abbood

Ich hoffe das hilft jemandem. Ich bekam den gleichen Fehler, aber scheinbar aus einem ganz anderen Grund als andere Menschen.

Ich habe 2 CentOS-Maschinen.

Ich kopierte my.cnf auf die neue Maschine und wusste nicht, dass ich die alte Maschine auf MySQL 5.6 aktualisiert hatte und auf der neuen Maschine 5.5 installiert war. Als ich die 5.6-Direktiven auskommentierte, wurde MySQL wie erwartet gestartet. (und jetzt führe ich das Upgrade aus, damit ich die enorm nützlichen innodb_buffer_pool_dump_at_shutdown- und innodb_buffer_pool_load_at_startup-Direktiven anwenden kann)

Ich würde vorschlagen, ein Minimum an my.cnf auszuprobieren. Wenn MySQL startet, haben Sie die Ursache Ihres Problems gefunden.

1
Buttle Butkus

In meinem Fall habe ich kein tmp-Verzeichnis richtig eingerichtet. Was ich mit diesen Schritten ende:

1. cd /

2. ln -s private/tmp /tmp
0
Jingya Ying

Es sieht so aus, als müssten Sie einen MySQL-Server installieren, es gibt Installationspakete auf mysql's Site, oder Sie können die Installation über macports durchführen (ich nehme an, dass die Linie darwin11 angenommen hat). local/var/run/mysql5 /.

0
Tim