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)
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
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
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.
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
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
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
Il se peut que mysql-server soit manquant. installez-le en utilisant
Sudo apt-get install mysql-server
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 .
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
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
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
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:
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
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.
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.
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
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
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
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
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.
Si vous regardez de près, vous verrez la différence:
/var/run/mysqld/mysqld.sock
/var/run/mysqld/mysql.sock
Vous devrez ajuster l'un ou l'autre.
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.
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.
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é.
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.
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.
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.
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.
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.
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
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