web-dev-qa-db-fra.com

Terminal Mac ERREUR 2002 (HY000): impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (2)

Je suis ce tutoriel pour configurer un Wordpress sur le cloud Google: https://googlecloudplatform.github.io/appengine-php-wordpress-starter-project/

  • Je travaille sur un Mac avec OSX 10.10.3.
  • J'ai installé le PHP SDK pour le logiciel Google App Engine.

Maintenant, j'essaie d'installer le serveur MySQL sur mon mac. J'ai téléchargé l'archive TAR compressée Mac OS X 10.9 (x86, 64 bits) ici: http://dev.mysql.com/downloads/mysql/

Comme le dit le tutoriel, je commande la ligne suivante dans mon terminal:

/Users/myuser/Downloads/mysql-5.6.24-osx10.9-x86_64/bin/mysql/mysql -u root -p mypassword

Le terminal a d'abord demandé mon mot de passe, et lorsque j'entre cela, l'erreur suivante se produit:

ERREUR 2002 (HY000): impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (2)

12
Robbert

C'est une erreur courante, vous pouvez la réparer comme ceci

enter image description here

Vous pouvez supprimer le mot de passe root avec cette séquence de commandes:

$ mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("") where User='root';
mysql> flush privileges;
mysql> quit
4
Diogo Cunha

Il semble que le serveur Mysql n'ait pas démarré.

mysqld stop
mysql.server start

Eu exactement le même problème, a utilisé la commande ci-dessus pour le résoudre.

23
Prakhar Agarwal

OSX 10.13.2 High Sierra
mariadb 10.2.12

J'ai obtenu exactement la même erreur lorsque j'ai essayé d'utiliser mariadb, que j'ai installé avec homebrew. La première chose que j'ai faite après l'installation a été:

$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through 
socket '/tmp/mysql.sock' (2)

Pour dépanner, j'ai fait:

~$ which mysql
/usr/local/mysql/bin/mysql

puis j'ai essayé:

~$ mysql -u 7stud -p test
 Enter password:
 ERROR 2002 (HY000): Can't connect to local MySQL server 
 through socket '/tmp/mysql.sock' (2)

et:

~$ mysql -u -p
ERROR 2002 (HY000): Can't connect to local MySQL server 
through socket '/tmp/mysql.sock' (2) 

La solution :

~$ mysql.server start
Starting MySQL
.180127 00:24:48 mysqld_safe Logging to '/usr/local/var/mysql/MyMBP.home.err'.
180127 00:24:48 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
 SUCCESS! 

~$ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.5-10.2.12-MariaDB Homebrew

Copyright (c) 2000, 2015, 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>

Okay allons-y:

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

mysql> CREATE DATABASE my_db;
Query OK, 1 row affected (0.00 sec)

mysql> use my_db;
Database changed

mysql> show tables;
Empty set (0.01 sec)

mysql> CREATE TABLE people (
    -> id INT(12) not null auto_increment primary key, 
    -> name VARCHAR(40), 
    -> info VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> describe people;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(12)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(40)  | YES  |     | NULL    |                |
| info  | varchar(100) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

mysql> INSERT INTO people(name, info) VALUES("Joe", "a b c") ;
Query OK, 1 row affected (0.01 sec)

mysql> select * from people;
+----+------+-------+
| id | name | info  |
+----+------+-------+
|  1 | Joe  | a b c |
+----+------+-------+
1 row in set (0.00 sec)

mysql> INSERT INTO people(name, info) VALUES("Beth", "1 2 3") ;
Query OK, 1 row affected (0.00 sec)

mysql> select * from people;
+----+-------+-------+
| id | name  | info  |
+----+-------+-------+
|  1 | Joe   | a b c |
|  2 | Beth  | 1 2 3 |
+----+-------+-------+
2 rows in set (0.00 sec)

mysql> quit
Bye

~$ mysql.server stop
Shutting down MySQL
. SUCCESS! 
~$ 

Les meilleures instructions que j'ai trouvées pour démarrer et arrêter manuellement mariadb sont paradoxalement à Démarrage et arrêt automatique de MariaDB :

Vous avez la possibilité de démarrer le serveur mysqld de différentes manières:

  1. Exécutez ou invoquez mysqld lui-même. Un exemple de cette opération est décrit plus en détail dans Exécution de MariaDB à partir du répertoire source.

  2. Utilisez le script de démarrage mysqld_safe

  3. Utilisez le script de démarrage mysql.server

Le script mysql.server démarre mysqld en passant d'abord au répertoire d'installation MariaDB puis en appelant mysqld_safe. L'ajout d'une ligne utilisateur appropriée au groupe [mysqld] dans votre fichier my.cnf entraînera l'exécution du serveur en tant qu'utilisateur.

Si vous avez installé MariaDB dans un emplacement non standard, vous devrez peut-être modifier le script mysql.server pour le faire fonctionner correctement.

mysql.server fonctionne comme un script d'initialisation de style SysV standard. En tant que tel, vous utilisez le script avec des arguments start et stop comme ceci:

mysql.server start
mysql.server stop
6
7stud

L'erreur: Mac terminal ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Comment j'ai résolu cela sur ma configuration MAC + MAMP (pro):

Sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

Ce qui crée un lien symbolique de /tmp/mysql.sock vers le MAMP mysql.sock

Redémarrez maintenant MAMP et l'erreur ne devrait plus se reproduire.

5
desloovere_j

Avant de faire quoi que ce soit de drastique, essayez de vous connecter en utilisant l'adresse de bouclage 127.0.0.1 au lieu de la valeur par défaut localhost.

mysql -h 127.0.0.1 -u root -p

Le nom localhost, qui serait utilisé par défaut si vous ne spécifiez pas -h, se connecte via des canaux nommés plutôt que TCP/IP. Il s'agit du message d'erreur que vous voyez si les canaux nommés ne sont pas activés.

3
Michael L Perry

Si vous avez installé Mysql via Homebrew, exécutez simplement la commande ci-dessous, ce sera utile.

les services de brassage démarrent mysql

2
Long Nguyen

Cela fonctionne pour moi, supprimez simplement le fichier $ rm /tmp/mysql.sock puis $ brew services mariadb restart

1
Agus Sudarmanto

Vous pouvez essayer de changer la version de mysql.

Vous trouverez ci-dessous les instructions d'utilisation de HomeBrew sur Mac.

Listez d'abord toutes les versions de mysql:

$ brew list --versions mysql 

Passer à une ancienne version:

$ brew services stop mysql
$ brew switch mysql 5.7.20
$ brew services start mysql
1
Đỗ Ngọc Hoan

oui ça marche aussi pour moi .... mais je ne comprends pas: dans les deux fichiers php.ini conf (Apache et php de MAMP) le chemin de socket est bon: socket=/Applications/MAMP/tmp/mysql/mysql.sock alors pourquoi chercher encore /tmp/mysql.sock ???

Merci à tous ceux qui peuvent "eclairer ma lanterne!"

0
nina