web-dev-qa-db-fra.com

ERREUR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysql.sock' (2)

Je reçois cette erreur 

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

même si j'ai réussi à démarrer mysql via la ligne de commande dans Ubuntu

mysql stop/waiting
mysql start/running, process 17691

Cependant, lorsque j'essaie d'accéder au site, une erreur de connexion à la base de données et l'erreur ci-dessus se produisent lorsque je tente d'accéder à mysql via mysql -u root -p.

J'ai vérifié mes journaux d'erreur et j'ai vu ceci

    131029 12:53:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 12:53:34 [Note] Plugin 'FEDERATED' is disabled.
    131029 12:53:34 InnoDB: The InnoDB memory heap is disabled
    131029 12:53:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 12:53:34 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 12:53:34 InnoDB: Initializing buffer pool, size = 26.0G
    131029 12:53:36 InnoDB: Completed initialization of buffer pool
    131029 12:53:36 InnoDB: highest supported file format is Barracuda.
    131029 12:53:38  InnoDB: Waiting for the background threads to start
    131029 12:53:39 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 12:53:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
    131029 12:53:39 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
    131029 12:53:39 [Note] Server socket created on IP: '0.0.0.0'.
    131029 12:53:39 [Note] Event Scheduler: Loaded 0 events
    131029 12:53:39 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

C'est la première fois que je vois cette erreur et je ne sais pas comment résoudre ce problème, aidez-moi un peu, s'il vous plaît.

Merci

METTRE À JOUR

Ok, j'ai essayé la solution de glglgl et après un redémarrage, le message d'erreur suivant s'affiche:

    131029 13:17:36 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
    131029 13:17:36 [Note] Plugin 'FEDERATED' is disabled.
    131029 13:17:36 InnoDB: The InnoDB memory heap is disabled
    131029 13:17:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    131029 13:17:36 InnoDB: Compressed tables use zlib 1.2.3.4
    131029 13:17:36 InnoDB: Initializing buffer pool, size = 26.0G
    131029 13:17:38 InnoDB: Completed initialization of buffer pool
    131029 13:17:38 InnoDB: highest supported file format is Barracuda.
    131029 13:17:40  InnoDB: Waiting for the background threads to start
    131029 13:17:41 InnoDB: 5.5.34 started; log sequence number 5146431500
    131029 13:17:41 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
    131029 13:17:41 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
    131029 13:17:41 [Note] Server socket created on IP: '127.0.0.1'.  
    131029 13:17:41 [Note] Event Scheduler: Loaded 0 events
    131029 13:17:41 [Note] /usr/sbin/mysqld: ready for connections.
    Version: '5.5.34-0ubuntu0.12.04.1-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
35
user2028856

Mon problème était résolu en vérifiant si le processus était en cours d'exécution sur Ubuntu 12.04

ps ax | grep mysql

Ensuite, la réponse a été que cela ne fonctionnait pas, alors j'ai

Sudo service mysql start

Ou essayer

Sudo /etc/init.d/mysql start
48
Wellington Lorindo

Tout d'abord, veuillez confirmer que mysql-server est installé. J'ai la même erreur lorsque mysql-server est installé mais corrompu d'une manière ou d'une autre. Je fais le tour en désinstallant mysql complètement et le réinstaller.

Sudo apt-get remove --purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql-client
37
johnny

J'ai eu le même problème quand j'ai installé xampp sur mon système. Le serveur mysql recherche /var/run/mysqld/mysqld.sock mais le fichier mysql.sock était dans le dossier xampp, donc j’ai utilisé

 find / -name '*.sock'

pour trouver le fichier mysql.sock puis utilisé

ln -s <the file location> /var/run/mysqld/mysqld.sock

pour obtenir un lien vers le fichier * .sock, puis essayé avec mysql et il s’exécuta sans erreur . J'espère que cela pourra résoudre le vôtre.

N'oubliez pas de créer le répertoire s'il n'existe pas. 

12
krgaurav

Le client doit être configuré en cohérence avec les paramètres du serveur.

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
10
feuyeux

Cela m'a pris des années à comprendre, mais pourriez-vous essayer la même chose - 

1 - Mise à jour et mise à niveau

Sudo apt-get update
Sudo apt-get upgrade

2 - Purger le serveur et le client MySQL (s’ils sont installés).

Sudo apt-get purge mysql-server mysql-client

3 - Installez MySQL Server et Client fresh

Sudo apt-get install mysql-server mysql-client

4 - Testez MySQL

mysql -u root -p
> enter root password

*** devrait obtenir un socket introuvable dans /var/run/mysqld/mysql.sock

4 - Configurez mysqld.cnf avec le nano de vi

Sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Changez l'adresse de bind de 127.0.0.1 en localhost

bind-address            = localhost

** écriture et sortie

5 - Redémarrez MySQL

Sudo /etc/init.d/mysql restart

6 - vérifier mysql

mysql -u root -p
> enter root password

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)

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

Vous devriez entrer dans mysql cli maintenant.

J'espère que cela t'aides

Code.Ph0y

8
Code Ph0y

récemment, j'ai rencontré cette erreur dans mon mysql ERROR 2002 (HY000)

Impossible de se connecter au serveur MySQL local via un socket 

'/var/lib/mysql/mysql.sock' (111)

parce que j'oublie de démarrer mon mariadb . tapez juste cette commande sur votre terminal. 

systemctl start mariadb.service
4
Aung Kyaw Nyunt

Il se peut que mysql-server soit manquant. installez-le en utilisant

Sudo apt-get install mysql-server
3
Ranju R

Ceci est une vieille marche avec une solution différente proposée, mais aucune d’elles n’a fonctionné pour moi. J'ajoute cette réponse dans l'espoir que cela aidera quelqu'un qui a lutté comme moi pendant un certain temps. 

J'ai vérifié toutes les réponses existantes et toutes les solutions existantes, mais pour moi le problème était une autorisation d'utilisateur incorrecte sur le dossier var/run/mysql.

J'ai vérifié l'autorisation de l'utilisateur sur ce dossier et celui-ci était défini sur root. Une fois que j'ai changé pour mysql:mysql, le problème a disparu.

Alors entrez dans /var/run/mysqld et modifiez l'autorisation de l'utilisateur en:

chown -R mysql:mysql .
3
Simo Endre

J'ai suivi Wellington Lorindo posting . Et mon problème a été résolu.

Étapes 1. courir dans le terminal 

ps ax | grep mysql

Le résultat était

11200? Ssl 0:01/usr/sbin/mysqld

11514 pts/0 S + 0:00 grep mysql

Étapes 2. Encore une fois tapez ceci 

Sudo service mysql start

Et problème résolu.

Merci Wellington Lorindo

2
Sachin

Sur Debian c'était un problème de liaison pour moi, donc changer bind-address de localhost à 0.0.0.0 m'a aidé 

vim /etc/mysql/my.cnf 

bind-address = 0.0.0.0

2
Achu

cela a fonctionné pour moi

Sudo /etc/init.d/mysql start

j'ai d'abord essayé cela, mais je ne comprends pas pourquoi cela ne fonctionne pas de cette façon

Sudo service mysql start
2
aimme

La même erreur s'est produite avec mon système. J'ai dû supprimer mysql-server et le réinstaller. Pas autrement. Essayez d’exécuter ces commandes si cela fonctionne:

  1. Sudo apt-get purge mysql-server
  2. Sudo apt-get autoremove
  3. Sudo apt-get installer mysql-server
2
user3898336

J'ai supprimé tout ce qui est connecté à mysql avec

Sudo apt-get remove --purge --auto-remove mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7

Sudo rm -r/etc/mysql */var/lib/mysql */var/log/mysql *

puis réinstallé à nouveau avec

Sudo apt-get update

Sudo apt-get installer mysql-server

et puis a commencé avec

mysql -u root -p

suivi du mot de passe

2
schlusie

J'ai eu le même problème après avoir modifié my.cnf. J'ai résolu ce problème les prochaines étapes.

Premièrement: pour trouver l'emplacement de error.log, regardez 'my.conf'.

Deuxièmement: j'ai cherché error.log, j'ai trouvé les prochains massages,

"variable inconnue 'default -......'" ..... "mysqld_safe Démarrer mysqld darmon avec/var/lib/mysql"

Troisièmement: je réinitialise my.conf à la valeur par défaut, puis je redémarre, ce problème a été résolu.

J'espère que ça aide.

2
takechanman

J'ai aussi rencontré ce problème. mysql -u root -p Entrer le mot de passe: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

Ensuite, je trouve que la raison en est que ma selinux est en vigueur, je la désactive puis je redémarre mysqld, cela fonctionne, j'espère utile.

1
fay

J'ai eu le problème.

Ce processus a fonctionné pour moi:

Assurez-vous que pendant le processus de suppression, vous choisissez Non pour supprimer la base de données.

Sudo apt-get remove --purge mysql*

Sudo apt-get autoremove

Sudo apt-get autoclean

Sudo apt-get install mysql-server mysql-client
1
Samuel

Vous n'avez pas besoin de réinstaller le serveur MySQL Je faisais face au même problème, mais j'ai résolu le problème en exécutant ces commandes.

  1  ps -A|grep mysql
  2  Sudo pkill mysql
  3  ps -A|grep mysqld
  4  Sudo pkill mysqld
  5  Sudo service mysql restart
  6  mysql -u root -p
1
Chudamani Sanju

Dans le terminal Linux, je suis les étapes suivantes et ils m'ont aidé

1. Tout d’abord, listez tous les paquets mysql installés

Sudo dpkg -l | grep mysql

2. Supprimez les packages répertoriés avec la commande répertoriée

Sudo apt-get --purge autoremove

3. Réinstallez le serveur mysql

Sudo apt-get install mysql-server

Cela a fonctionné pour moi, espérons que cela fonctionne pour vous aussi.

Sinon, essayez

Sudo apt-get remove --purge mysql- *

puis réinstallez avec

Sudo apt-get installer mysql-server mysql-client

1
Maurice Elagu

Il y a une autre chance que vous obteniez cette erreur si vous modifiez le fichier max_connections dans my.cnf.

J'ai également rencontré la même erreur qui ne m'a pas permis de me connecter au serveur MySQL. Dans mon cas, le problème était que je devais augmenter la taille de max_connections dans 

/etc/mysql/my.cnf

à

set-variable = max_connections = 5000

Pour cette raison, le lendemain, lorsque j'ai regardé le serveur MySQL, cette erreur a été renvoyée.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Enlever le segment set-variable = max_connections = 5000 du fichier my.conf a été efficace. Après avoir supprimé ce segment particulier après l’utilisation de command . Le serveur MySQL a démarré et fonctionne comme auparavant.

Sudo /etc/init.d/mysql start
1
Dulith De Costa

Ceci fournit une solution alternative si le problème vous concerne. Si votre lecteur de disque est plein, le serveur MYSQL (et la plupart des autres programmes) ne peut pas démarrer. Supprimez les fichiers et les dossiers pour permettre à Mysql-server de démarrer.

0
rbwilkinson

Si vous regardez de près, vous verrez la différence:

  • Le serveur écoute sur /var/run/mysqld/mysqld.sock
  • Le client essaie de se connecter à /var/run/mysqld/mysql.sock

Vous devrez ajuster l'un ou l'autre.

0
glglgl

Ce problème est dû à des modifications inutiles apportées au fichier my.cnf . Essayez de diff /etc/mysql/my.cnf avec l’un des fichiers my.cnf des serveurs mysql en fonctionnement.

Je viens de remplacer le fichier /etc/mysql/my.cnf par le nouveau fichier my.cnf et cela fonctionne pour moi.

0
sachin

Dans mon cas, le problème était que j'avais ajouté "default-character-set = utf8" à my.cnf et que le fichier était corrompu. À la place, changez cette ligne pour "character_set_server = utf8". Cela devrait le résoudre, espérons que cela aide.

0
alex

assurez-vous que l'option de configuration de l'adresse de liaison dans le fichier my.cnf de/etc/est identique à l'adresse IP de l'hôte local ou du serveur virtuel . plus, vérifiez que le répertoire de création du fichier de socket est bien spécifié.

0
share chris

Une fois que vous avez installé ou mis à jour MySQL, il ne vous sera pas demandé de créer le mot de passe root. Dans ce cas, vous aurez un fichier appelé " debian.cnf " chemin:/etc/mysql . Vous trouverez le nom d'utilisateur et le mot de passe, vous connecter avec ces informations d'identification et créer un nouvel utilisateur et un nouveau mot de passe.

0
Syed

J'ai le même problème et j'ai essayé toutes les solutions affichées ici comme:

Sudo apt-get autoremove mysql-server

mais malheureusement cela ne fonctionne pas pour moi sur Ubuntu 16.04. Pour désinstaller le bon package, vous devez:

Sudo apt-get remove mysql-

lorsque vous avez essayé de compléter automatiquement à l'aide de la commande tab, le package suivant sera répertorié:

mysql-client           mysql-client-core-5.7  mysql-server           mysql-server-core-5.7  mysql-workbench        mythes-en-us           
mysql-client-5.7       mysql-common           mysql-server-5.7       mysql-utilities        mysql-workbench-data   

évidemment, choisissez le mysql-server-core-5.7 pour qu'il soit: 

Sudo apt-get remove mysql-server-core-5.7

et maintenant vous pouvez désinstaller tous les mysql et réinstaller à nouveau en utilisant cette commande de johnny's answer

Sudo apt-get remove --purge mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql-client

Maintenant, je l'ai résolu et l'erreur est parti. 

0
Gujarat Santana

Deux raisons principales:

1) mysql-server n'est pas installé! Vous devez l'installer (mysql-server et non mysql-client) et l'exécuter.

2) Il est installé par défaut et en cours d'exécution. Il n'est donc pas possible de le réexécuter via Xampp ou Lampp. Vous devez l'arrêter: Sudo service mysql stop

alors vous pouvez le lancer via Xampp . Il est possible de vérifier s'il fonctionne ou non avec ce code: Sudo netstat -tap | grep mysql

Si vous voyez un résultat de ce type: Tcp 0 0 localhost: mysql: LISTEN 1043/mysqld

Cela signifie qu'il fonctionne correctement. 

0
Aboozar Rajabi

Notez que j'ai rencontré ce problème après avoir mis à niveau ma distribution Ubuntu 14.04 à l'aide de apt-get upgrade. Je devais purger complètement mysql-server et mysql-client et le réinstaller pour résoudre ce problème.

Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get purge mysql-server mysql-client
Sudo apt-get install mysql-server mysql-client

J'espère que cela t'aides.

0
Mr. Doomsbuster

J'étais également coincé avec cette erreur, et il a fallu presque 3 heures pour la trouver. 

Tout d’abord, essayez de rappeler les modifications que vous avez apportées à votre fichier de configuration, puis annulez les modifications, enregistrez le fichier et démarrez mysql. Si vous souhaitez apporter des modifications au fichier de configuration, arrêtez le serveur mysql, puis modifiez les valeurs souhaitées et redémarrez mysql. 

Cette erreur est due à une modification incorrecte (mot clé incorrect ou valeur affectée incorrecte) apportée au fichier conf. La plupart du temps, cette erreur se produit même si vous redémarrez la machine qui exécute le serveur, car le serveur est arrêté, dans ce cas, démarrez le serveur mysql. 

0
user7161651

Simple: Lance ces codes :::

 1:: ls -lart/var/run/my*

   2::mkdir /var/run/mysqld

    3::touch /var/run/mysqld/mysqld.sock
    4:ls -lart /var/run/mysqld
    5::chown -R mysql /var/run/mysqld
    6::ls -lart /var/run/mysqld
REstart your mysql server

puis tapez finalement mysql -u root ou mysql -u root -p et appuyez sur la touche Entrée. Merci

0
Chikelu Gerald

Essaye ça:

Sudo dpkg-reconfigure mysql-server-{version_number}

version_number devrait être le numéro de version de mysql. Par exemple

Sudo dpkg-reconfigure mysql-server-5.6

Ensuite, accédez à mysql comme ceci:

mysql -u root -p
0
Kon Li