J'essaye de lancer le client mysql sur mon terminal. J'ai installé la dernière gem mysql.
➜ ~ 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#
Je ne suis pas capable de me débarrasser de l'erreur ci-dessus. J'ai créé un mysql.sock file
dans /Users/HPV/expertiza/tmp/sockets
. Dans le fichier, j'ai écrit mysql.default_socket =/expertiza/tmp/sockets/mysql.sock
.
Qu'est-ce que je fais mal?
Merci!
Vous devez suivez les instructions pour installer et démarrer le serveur.
La commande varie en fonction de la manière dont vous avez installé MySQL. Essayez ceci en premier:
Sudo/Bibliothèque/StartupItems/MySQLCOM/MySQLCOM start
Si cela échoue:
cd/usr/local/mysql
Sudo ./bin/mysqld_safe
(Entrez votre mot de passe, si nécessaire)
(Appuyez sur Control-Z)
bg
De plus, si vous rencontrez cette erreur et installez mysql via Homebrew, je constate que cela fonctionne (bien que vous deviez remplacer "5.6.12" par votre propre version):
/usr/local/Cellar/mysql/5.6.12/bin/mysql.server restart
Je viens de créer un fichier ~/restartMysql.sh dans mon répertoire personnel (avec uniquement la ligne ci-dessus) afin que je puisse simplement l'utiliser lorsque le comportement de MySQL est dépassé.
Exécutez ce qui suit sur la ligne de commande:
$ mysql.server start
this post m’a aidé à le faire pour moi, je vais récrire les étapes ici (note: j’écrirai également le résultat de vos commandes .. juste pour que vous sachiez que vous êtes sur la bonne voie)
arrêtez d'abord le serveur s'il est en cours d'exécution:
[root@servert1 ~]# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
exécuter un dameon SQL sur un thread séparé
[root@servert1 ~]# mysqld_safe --skip-grant-tables &
[1] 13694
[root@servert1 ~]# Starting mysqld daemon with databases from /var/lib/mysql
ouvre une fenêtre Shell séparée et tapez
[root@servert1 ~]# 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.
commence à utiliser 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
mettez à jour manuellement la table user
avec votre nouveau mot de passe (remarque: n'hésitez pas à taper mysql> show tables;
uniquement pour avoir une idée de l'endroit où vous vous trouvez)}
NOTE: depuis MySQL 5.7, les mots de passe sont dans la table authenication_string
, la commande est donc 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
privilèges de vidage (je ne suis pas sûr de ce que sont ces privilèges .. mais ça marche)}
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)
quitter
mysql> quit
Bye
_ {arrête le serveur} _
REMARQUE: sous OS X ou macOS, mysql.server
est situé à /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
tue l'autre fenêtre du shell dans laquelle le dameon est en cours d'exécution (juste pour en être sûr))
_ {maintenant vous êtes prêt à partir! essayez-le :)
[root@servert1 ~]# 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>
terminé!
J'espère que cela aide quelqu'un. J'avais la même erreur, mais apparemment pour une raison bien différente de celle des autres.
J'ai 2 machines CentOS.
J'ai copié my.cnf sur la nouvelle machine, ne réalisant pas que j'avais mis à niveau l'ancienne machine vers MySQL 5.6 et que la nouvelle machine avait une version 5.5 installée. Lorsque j'ai commenté les directives 5.6 uniquement, MySQL a démarré comme prévu. (Et maintenant, je lance la mise à jour pour pouvoir appliquer les directives massivement utiles innodb_buffer_pool_dump_at_shutdown
et innodb_buffer_pool_load_at_startup
)
Je suggère d'essayer un minimum minimum my.cnf. Si MySQL démarre, alors vous avez trouvé la source de votre problème.
Dans mon cas, le dossier tmp ne fonctionne pas correctement. Qu'est-ce que je me retrouve avec ces étapes:
1. cd /
2. ln -s private/tmp /tmp
Il semble que vous ayez besoin d’un serveur MySQL installé, que des paquets d’installation soient installés sur le site de mysql, ou que vous puissiez l’installer via macports (je suppose de la ligne darwin11) . local/var/run/mysql5 /.