Je suis ce tutoriel pour configurer un Wordpress sur le cloud Google: https://googlecloudplatform.github.io/appengine-php-wordpress-starter-project/
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)
C'est une erreur courante, vous pouvez la réparer comme ceci
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
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.
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:
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.
Utilisez le script de démarrage mysqld_safe
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
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.
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.
Si vous avez installé Mysql via Homebrew, exécutez simplement la commande ci-dessous, ce sera utile.
les services de brassage démarrent mysql
Cela fonctionne pour moi, supprimez simplement le fichier $ rm /tmp/mysql.sock
puis $ brew services mariadb restart
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
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!"