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!
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
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
Führen Sie in der Befehlszeile Folgendes aus:
$ mysql.server start
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!
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.
In meinem Fall habe ich kein tmp-Verzeichnis richtig eingerichtet. Was ich mit diesen Schritten ende:
1. cd /
2. ln -s private/tmp /tmp
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 /.