Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Connexion impossible "Can't connect to local MySQL server through socket, fichier inexistant"
    Bonjour à tous,

    cela fait quelques mois que j'utilise MySQL et phpmyadmin pour mes bases de données, mais j'ai un problème que je n'ai jamais réussi à résoudre.
    Lorsque je mon pc redémarre, la connexion au serveur SQL ne se fait plus et j'ai à chaque fois le message suivant :

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

    Après avoir Googlelisé tout cela, il est très souvent dis de redémarrer le service sql via la commande "sudo service mysql start (ou stop puis restart) et toutes les formules dérivées possibles. Cependant, cela ne marche jamauis SAUF un coup de temps en temps mais je suis inccapable de savoir pourquoi.

    Je suis allé voir le dossier mysqld/mysqld.sock qui n'existe pas ... J'ai essaye de le créer à l'aveugle mais cela ne résout jamais mon problème ...
    Dans le fichier etc/mysql/mysql.conf.d//mysqld.cnf , j'ai bien le socket qui est localisé vers ce chemin mais comme le fichier n'existe pas cela me parait étrange.

    J'ai donc essaye de changer ma Bind addresse par 'localhost' ou '127.0.0.1' mais rien n'y fait ...

    Enfin lrosque je redémarre encore et toutjours on me dis de consulter le journal systemctl, voici le mesage d'erreur :

    Process: 11735 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)

    févr. 13 08:24:38 marc-Precision-7920-Tower systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
    févr. 13 08:24:38 marc-Precision-7920-Tower systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
    févr. 13 08:24:38 marc-Precision-7920-Tower systemd[1]: Stopped MySQL Community Server.
    févr. 13 08:24:38 marc-Precision-7920-Tower systemd[1]: mysql.service: Start request repeated too quickly.
    févr. 13 08:24:38 marc-Precision-7920-Tower systemd[1]: mysql.service: Failed with result 'exit-code'.
    févr. 13 08:24:38 marc-Precision-7920-Tower systemd[1]: Failed to start MySQL Community Server.


    Je suis donc totalement perdu, si quelqu'un sait comment faire ... Je lui en remercie d'avance !

    PS : si le sujet n'est pas au bon endroit, serait il possible de le deplacer sur la page &d&quate ? Merci à vous

  2. #2
    Expert éminent sénior
    Salut -RoCk-.

    Je suis sous windows, donc le problème peut-être différent.
    Je n'ai pas de fichier "socket".

    Dans mon fichier my.ini, il est déclaré ainsi :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # ==================== #
    #     MySql Client     #
    # ==================== #
    
    [client]
    port   = 3306
    socket = mysql
    
    
    # ==================== #
    #     MySql Server     #
    # ==================== #
    
    [mysqld]
    port     = 3306
    socket = mysql

    Essayez de faire pareil.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre à l'essai
    Salut Artemus24, merci pour ta réponse !

    si je ne dis pas de bêtises le fichier "socket" n’apparaît que pendant la connexion, mais je ne suis pas sûr!
    Le fichier mysql est celui qui contient ton fichier de configuration my.ini ? Et qui appartient à l'utilisateur mysql:mysql ? Car dans ce cas, j'ai crée le fichier mysqld dans "/var/run" tout en changeant le propriétaire et cela a fonctionné ...

    Je suppose donc que si je mets à la racine de mysql comme toi cela doit fonctionner !!

    Merci beaucoup pour ton aide

  4. #4
    Expert éminent sénior
    Salut -RoCk-.

    Citation Envoyé par -RoCk-
    le fichier "socket" n’apparaît que pendant la connexion, mais je ne suis pas sûr!
    En principe, le fichier socket apparait lorsque le serveur MySql est activé.
    Mais en utilisant cette déclarative, le fichier n’apparaît plus.

    Citation Envoyé par -RoCk-
    Le fichier mysql est celui qui contient ton fichier de configuration my.ini ?
    Le fichier my.ini (sous windows) ou bien my.cnf (sous linux) est le fichier de configuration et doit se trouver à la racine des répertoire du serveur MySql.

    Citation Envoyé par -RoCk-
    Et qui appartient à l'utilisateur mysql:mysql ?
    Normalement, quand vous installez MySql, vous le faites au travers d'un compte linux de type système, qui va gérer le serveur MySql.
    Attention, cela n'a aucun rapport avec le compte "root" que vous visualisez dans phpmyadmin, et qui possède tous les privilèges dans mysql.
    Vous devez modifier le fichier My.Cnf afin qu'il appartienne à ce groupe et à cet userid.

    Citation Envoyé par -RoCk-
    Car dans ce cas, j'ai crée le fichier mysqld dans "/var/run" tout en changeant le propriétaire et cela a fonctionné ...
    Si ça fonctionne alors tout est ok.

    Citation Envoyé par -RoCk-
    Je suppose donc que si je mets à la racine de mysql comme toi cela doit fonctionner !!
    Le plus logique est de le mettre à la racine des répertoires du serveur MySql.
    Mais il existe d'autres endroits où le mettre.

    Mettre le sujet à résolu si c'est le cas.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr