Server mysql

Bonjour,
J'ai un problème avec mon server mysql qui ne démarre plus. j'ai même essayé une désinstallation et une réinstallation sans succès. quelqu'un pourrait il m'aider.

# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

# ps aux | grep mysql
root 23114 0.0 0.1 3116 728 pts/0 S+ 09:05 0:00 grep mysql

merci
Configuration: DEBIAN LENNY

92 réponses

Résumé de la discussion

Le problème central est qu'un serveur MySQL ne démarre pas et renvoie l'erreur Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock', même après désinstallation et réinstallation. Des éléments de réponse indiquent que le service est arrêté et qu'il n'y a pas de processus mysqld actif, ce qui empêche une connexion via le socket. Plusieurs propositions visent à démarrer manuellement le daemon avec mysqld_safe ou --skip-grant, à vérifier les droits dans /var/lib/mysql/mysql et à examiner les messages de démarrage pour orienter le dépannage. En cas d'échec persistant, certaines interventions suggèrent aussi d'examiner les permissions du socket et des fichiers liés et d'envisager des vérifications supplémentaires sur /var/run/mysqld et la propriété des fichiers système.

Bobot (l’IA à votre service)
  1. ça n'a rien changé du tout. le dossier mysql est vide

    qu'est-ce qui n'a rien changé du tout ????

    j'aurais souhaitant une réponse primordiale : est-ce oui ou non tu viens à l'instant de réinstaller le serveur mysql ??

    concernant le répertoire mysql, chez moi, il est bien rempli :
    > redfox@debian[192.168.1.3]:~$ ls -l /var/lib/mysql/mysql
    total 776
    -rw-rw---- 1 mysql mysql   8820 mar 11  2008 columns_priv.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 columns_priv.MYD
    -rw-rw---- 1 mysql mysql   1024 mar 11  2008 columns_priv.MYI
    -rw-rw---- 1 mysql mysql   9494 mar 11  2008 db.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 db.MYD
    -rw-rw---- 1 mysql mysql   1024 avr 30 21:26 db.MYI
    -rw-rw---- 1 mysql mysql   8665 mar 11  2008 func.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 func.MYD
    -rw-rw---- 1 mysql mysql   1024 mar 11  2008 func.MYI
    -rw-rw---- 1 mysql mysql   8700 déc 15  2007 help_category.frm
    -rw-rw---- 1 mysql mysql  20916 avr 30 21:26 help_category.MYD
    -rw-rw---- 1 mysql mysql   3072 avr 30 21:26 help_category.MYI
    -rw-rw---- 1 mysql mysql   8612 déc 15  2007 help_keyword.frm
    -rw-rw---- 1 mysql mysql  78997 avr 30 21:26 help_keyword.MYD
    -rw-rw---- 1 mysql mysql  14336 avr 30 21:26 help_keyword.MYI
    -rw-rw---- 1 mysql mysql   8630 déc 15  2007 help_relation.frm
    -rw-rw---- 1 mysql mysql   7425 avr 30 21:26 help_relation.MYD
    -rw-rw---- 1 mysql mysql  16384 avr 30 21:26 help_relation.MYI
    -rw-rw---- 1 mysql mysql   8770 déc 15  2007 help_topic.frm
    -rw-rw---- 1 mysql mysql 347064 avr 30 21:26 help_topic.MYD
    -rw-rw---- 1 mysql mysql  17408 avr 30 21:26 help_topic.MYI
    -rw-rw---- 1 mysql mysql   9416 mar 11  2008 host.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 host.MYD
    -rw-rw---- 1 mysql mysql   1024 mar 11  2008 host.MYI
    -rw-rw---- 1 mysql mysql   9691 mar 11  2008 proc.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 proc.MYD
    -rw-rw---- 1 mysql mysql   1024 mar 11  2008 proc.MYI
    -rw-rw---- 1 mysql mysql   8875 mar 11  2008 procs_priv.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 procs_priv.MYD
    -rw-rw---- 1 mysql mysql   1024 mar 11  2008 procs_priv.MYI
    -rw-rw---- 1 mysql mysql   8947 mar 11  2008 tables_priv.frm
    -rw-rw---- 1 mysql mysql      0 mar 11  2008 tables_priv.MYD
    -rw-rw---- 1 mysql mysql   1024 mar 11  2008 tables_priv.MYI
    -rw-rw---- 1 mysql mysql   8636 jan 19  2008 time_zone.frm
    -rw-rw---- 1 mysql mysql   8624 déc 15  2007 time_zone_leap_second.frm
    -rw-rw---- 1 mysql mysql      0 déc 15  2007 time_zone_leap_second.MYD
    -rw-rw---- 1 mysql mysql   1024 déc 15  2007 time_zone_leap_second.MYI
    -rw-rw---- 1 mysql mysql      0 jan 19  2008 time_zone.MYD
    -rw-rw---- 1 mysql mysql   1024 jan 19  2008 time_zone.MYI
    -rw-rw---- 1 mysql mysql   8606 déc 15  2007 time_zone_name.frm
    -rw-rw---- 1 mysql mysql      0 déc 15  2007 time_zone_name.MYD
    -rw-rw---- 1 mysql mysql   1024 déc 15  2007 time_zone_name.MYI
    -rw-rw---- 1 mysql mysql   8686 déc 15  2007 time_zone_transition.frm
    -rw-rw---- 1 mysql mysql      0 déc 15  2007 time_zone_transition.MYD
    -rw-rw---- 1 mysql mysql   1024 déc 15  2007 time_zone_transition.MYI
    -rw-rw---- 1 mysql mysql   8748 déc 15  2007 time_zone_transition_type.frm
    -rw-rw---- 1 mysql mysql      0 déc 15  2007 time_zone_transition_type.MYD
    -rw-rw---- 1 mysql mysql   1024 déc 15  2007 time_zone_transition_type.MYI
    -rw-rw---- 1 mysql mysql  10330 avr 30 21:26 user.frm
    -rw-rw---- 1 mysql mysql    284 avr 30 21:26 user.MYD
    -rw-rw---- 1 mysql mysql   2048 avr 30 21:26 user.MYI
    > redfox@debian[192.168.1.3]:~$ 


    mais, de grâce, peux-tu me dire si tu à réinstaller à l'instant le serveur mysql

    merci.
    1. tu m'as demander de faire la reinstallation. et c'est ce que nous somme entrain de faire
      1. j'avais souhaité tester les 2 dernières solutions avant de faire une réinstallation (cela est clairement indiqué dans mes propos). Enfin trop tard maintenant !

        j'ai également donné ceci pour désinstaller et réinstaller :
        # apt-get --purge remove mysql-server mysql-client mysql-common
        # apt-get clean
        # apt-get update
        # apt-get install mysql-common mysql-client mysql-server


        est-ce exactement ce que tu as fait ?
    2. ça n'a rien changé du tout. le dossier mysql est vide.

      # ls -l /var/lib/mysql/mysql/
      total 0


      voici une partie du message de fin d'installation

      ERROR: 1146  Table 'mysql.user' doesn't exist
      090611 15:53:21 [ERROR] Aborting
      
      090611 15:53:21 [Note] /usr/sbin/mysqld: Shutdown complete
      
      Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
      invoke-rc.d: initscript mysql, action "start" failed.
      dpkg: error processing mysql-server-5.0 (--configure):
       subprocess post-installation script returned error exit status 1
      Setting up mysql-client (5.0.51a-24+lenny1) ...
      dpkg: dependency problems prevent configuration of mysql-server:
       mysql-server depends on mysql-server-5.0; however:
        Package mysql-server-5.0 is not configured yet.
      dpkg: error processing mysql-server (--configure):
       dependency problems - leaving unconfigured
      Errors were encountered while processing:
       acpid
       mysql-server-5.0
       mysql-server
      E: Sub-process /usr/bin/dpkg returned an error code (1)
      
      
      
      1. J'ai ça pendant la désintallation et la réinstallation. tu sais ce que c'est?

        STOOOOOOOOOOOOOOOP !!!! là, je suis perdu car je ne sais plus ce que tu fais !

        viens-tu à l'instant de faire une réinstallation de mysql ????????

        1. pardon, j'avais oublié :
          ls -l /var/lib/mysql/mysql/


          pas besoin de copier-coller le résultat car il y a une floppée de fichiers (mais pour toi, de visu, cela prendra 3 secondes). donc regarder si tous les fichiers appartiennent à "mysql mysql" (et non pas "mysql root" par exemple).

          sinon passer à la deuxième "solution" (commande rm).

          attention : il est bien convenu que l'adresse indiquée dans le fichier my.cnf est bien 127.0.0.1 !!!!

          si ça ne le fait toujours pas et au vue de la tentative de reconfiguration avec dpkg, peut-être faudra-t-il envisager de réinstaller !
          1. J'ai ça pendant la désintallation et la réinstallation. tu sais ce que c'est?

            Processing triggers for man-db ...
            fopen: Permission denied
            fopen: Permission denied
            1. Comment fait on ça:

              vérifier dans le répertoire /var/lib/mysql/mysql/ que tous les fichiers appartiennent bien à mysql mysql 
              1. ok ! voici ce que nous allons faire, en 2 temps :

                1er temps : vérifier dans le répertoire /var/lib/mysql/mysql/ que tous les fichiers appartiennent bien à mysql mysql

                si ce n'est pas le cas, faire un :
                chown mysql:mysql /var/lib/mysql/mysql/*

                puis vérifier si le serveur mysql démarre !

                2ème temps : je qualifierai cette piste, de solution de "la mort qui tue grave"

                # rm ibdata1 ib_logfile0 ib_logfile1

                puis vérifier si le serveur mysql démarre !
                1. J'ai essayé de reconfigurer. et j'obtient ceci

                  # dpkg-reconfigure mysql-server-5.0
                  /usr/sbin/dpkg-reconfigure: mysql-server-5.0 is broken or not fully installed
                  1. bon ben, je crois que tu n'as plu qu'à réinstaller mysql !
                    # apt-get --purge remove mysql-server mysql-client mysql-common
                    # apt-get clean
                    # apt-get update
                    # apt-get install mysql-common mysql-client mysql-server

                    https://www.debian.org/doc/manuals/apt-howto/
                2. fonctionne toujours pas.

                  # /etc/init.d/mysql start
                  Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
                  1. c'est ma faute j'ai commis une erreur : il faut remplacer chmod par chown

                    désolé !
                    1. il erreur dans la commande chmod.

                      # chmod mysql:mysql /var/lib/mysql/mysql
                      chmod: invalid mode: `mysql:mysql'
                      Try `chmod --help' for more information.
                      1. tes résultats sont sensiblement différents chez moi :
                        > redfox@debian[192.168.1.3]:~$ ls -l /var/lib/mysql
                        total 20528
                        -rw-r--r-- 1 mysql mysql        0 avr 30 21:26 debian-5.0.flag
                        -rw-rw---- 1 mysql mysql 10485760 jun 10 20:22 ibdata1
                        -rw-rw---- 1 mysql mysql  5242880 jun 10 20:23 ib_logfile0
                        -rw-rw---- 1 mysql mysql  5242880 déc 15  2007 ib_logfile1
                        drwxr-xr-x 2 mysql mysql     4096 avr 30 21:26 mysql
                        -rw------- 1 mysql mysql        7 mar 11  2008 mysql_upgrade_info
                        > redfox@debian[192.168.1.3]:~$ 


                        la première chose à faire
                        # chmod mysql:mysql /var/lib/mysql/debian-5.0.flag
                        # chmod mysql:mysql /var/lib/mysql/mysql


                        et relance avec # /etc/init.d/mysql start

                        si ça ne fonctionne toujours pas, j'ai encore une petite idée très rapide et au pire on verra la réinstall (mais je ne crois pas que la réinstall règlera le problème).

                        1. # ps aux | grep mysql
                          root      5586  0.0  0.1   3116   724 pts/0    S+   14:33   0:00 grep mysql
                          
                          
                          
                          # ls -ld /var/lib/mysql
                          drwxr-xr-x 3 mysql mysql 4096 2009-06-11 14:25 /var/lib/mysql
                          
                          # ls -l /var/lib/mysql
                          total 20524
                          -rw-r--r-- 1 mysql root         0 2009-06-09 14:38 debian-5.0.flag
                          -rw-rw---- 1 mysql mysql 10485760 2009-06-11 14:25 ibdata1
                          -rw-rw---- 1 mysql mysql  5242880 2009-06-11 14:25 ib_logfile0
                          -rw-rw---- 1 mysql mysql  5242880 2009-06-09 13:22 ib_logfile1
                          drwxr-xr-x 2 mysql root      4096 2009-06-09 14:38 mysql
                          1. dès que tu vois ce message : 090611 14:25:24 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?

                            la première chose à faire est de taper cette commande : ps aux | grep mysql

                            également, peux-tu me donner les commandes indiquées dans mon post n°78 ?

                            merci.
                            1. Le résultat est similaire, pas d'évolution.

                              # mysql
                              ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
                              
                              
                              # mysqld
                              090611 14:25:24  InnoDB: Started; log sequence number 0 43655
                              090611 14:25:24 [ERROR] Can't start server : Bind on unix socket: Permission denied
                              090611 14:25:24 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?
                              090611 14:25:24 [ERROR] Aborting
                              
                              090611 14:25:24  InnoDB: Starting shutdown...
                              090611 14:25:26  InnoDB: Shutdown completed; log sequence number 0 43655
                              090611 14:25:26 [Note] mysqld: Shutdown complete
                              1. sinon un dernier truc que nous n'avons pas vérifié : peux-tu me donner le résultats des deux commandes suivantes :
                                ls -ld /var/lib/mysql

                                ls -l /var/lib/mysql

                                merci.

                                l'astuce à tester :
                                http://mysql.ifrance.com/printthread.php?s=9d0e868b9de35dce5b05bb122231937d&t=1503&page=2&pp=10
                                1. tu doit garder le user "mysql" dans le fichier my.cnf !

                                  par contre ce que je disais, c'était de tester, toujours dans le fichier my.cnf tes 3 adresses : 127.0.0.1, 127.0.1.1 et la troisième (voir ton fichier /etc/hosts).

                                  à chaque modif, relancer les services (cela remplace un redémarrage de la machine) :
                                  # /etc/init.d/network restart (ou bien # /etc/init.d/networking restart)
                                  puis
                                  # /etc/init.d/mysql restart

                                  il faut également vérifier à chaque modif, s'il n'y a pas de changement :
                                  ps aux | grep mysql (ça s'est pour vérifier s'il y a des processus mysql qui tourneraient!)

                                  tu peux essayer aussi de taper les commandes :
                                  # mysqld
                                  ou bien
                                  # mysql
                                  ceci afin de voir s'il les informations sont sensiblement différentes ....
                                  1. J'ai modifié dans my.cnf le user qui état mysql en root et j'obtient ca:

                                    # mysqld
                                    090611 13:48:55  InnoDB: Started; log sequence number 0 43655
                                    090611 13:48:55 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
                                    1. ça se présente toujours comme ci-dessus, pas de changement. surtout le serveur ne démarre toujours pas
                                      • 1
                                      • 2
                                      • 3
                                      • 4
                                      • 5