Tous les produits
Search
Centre de documentation

Elastic Compute Service:Problèmes courants de déploiement MySQL

Dernière mise à jour :Aug 18, 2026

Cette rubrique présente des solutions aux problèmes fréquents rencontrés lors de l'installation, de la configuration et de la gestion de MySQL, afin de vous aider à maintenir un serveur stable.

Mots de passe utilisateur MySQL oubliés

Si vous avez oublié le mot de passe d'un utilisateur autre que root, utilisez le compte root pour le modifier directement. En revanche, si vous avez perdu le mot de passe root, arrêtez le service MySQL et redémarrez-le dans un mode spécial qui contourne les vérifications d'autorisation. Cette procédure vous permet de réinitialiser le mot de passe.

Mot de passe oublié pour un utilisateur non root

  1. Récupérez la valeur Host associée à l'utilisateur cible.

    # Replace with the actual username
    mysql -uroot -p -e "SELECT Host FROM mysql.user WHERE User = 'target_username';"
  2. Modifiez le mot de passe en fonction de la valeur Host identifiée. Si plusieurs valeurs Host sont associées à l'utilisateur, exécutez la commande pour chacune d'elles.

    # Replace with the actual username, password, and Host
    mysql -uroot -p -e "ALTER USER 'target_username'@'target_host' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;"

Mot de passe root oublié

Important

La réinitialisation du mot de passe root nécessite l'arrêt du service MySQL.

  1. Arrêtez le service MySQL en exécutant la commande suivante.

    Alibaba Cloud Linux et CentOS

    sudo systemctl stop mysqld

    Ubuntu et Debian

    sudo systemctl stop mysql
  2. Démarrez MySQL en mode temporaire et notez l'identifiant du processus (PID). Vous en aurez besoin ultérieurement pour terminer ce processus.

    Remarque
    • --skip-grant-tables : ignore la validation des autorisations et permet une connexion sans mot de passe.

    • & : exécute le processus MySQL en arrière-plan. Le terminal renvoie un identifiant de processus (PID). Par exemple, dans la sortie [1] 1234, le PID est 1234.

    sudo -u mysql mysqld --skip-grant-tables &
  3. Rechargez les tables d'autorisation et modifiez le mot de passe root. Remplacez <password> par votre nouveau mot de passe. Celui-ci doit respecter la politique de sécurité en vigueur : au moins 8 caractères, incluant une majuscule, une minuscule, un chiffre et un caractère spécial.

    mysql -uroot -e"FLUSH PRIVILEGES;" -e"ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';"

    Si le message d'erreur Your password does not satisfy the current policy requirements s'affiche, cela signifie que votre mot de passe n'est pas conforme. Dans ce cas, terminez le processus MySQL, redémarrez-le en mode de contournement des autorisations et relancez la commande avec un mot de passe valide.

  4. Terminez le processus MySQL.

    kill <process ID>
  5. Démarrez le service MySQL en exécutant la commande suivante.

    Alibaba Cloud Linux et CentOS

    sudo systemctl start mysqld

    Ubuntu et Debian

    sudo systemctl start mysql
  6. Connectez-vous avec le nouveau mot de passe. L'accès réussi à l'interface de ligne de commande MySQL confirme la réussite de la réinitialisation.

    mysql -u root -p

Modification du répertoire de données MySQL

  1. Arrêtez le service MySQL en exécutant la commande suivante.

    Alibaba Cloud Linux et CentOS

    sudo systemctl stop mysqld

    Ubuntu et Debian

    sudo systemctl stop mysql
  2. Dans le fichier de configuration my.cnf (généralement situé dans /etc/my.cnf), modifiez la valeur datadir pour indiquer le chemin du nouveau répertoire de données.

    datadir=/new/data/directory
  3. Copiez tous les fichiers et dossiers du répertoire de données d'origine vers le nouveau répertoire.

    sudo cp -aR /old/data/directory/* /new/data/directory/
  4. Démarrez le service MySQL en exécutant la commande suivante.

    Alibaba Cloud Linux et CentOS

    sudo systemctl start mysqld

    Ubuntu et Debian

    sudo systemctl start mysql

Erreur de démarrage MySQL : Permission denied

  1. Consultez le fichier error.log de MySQL pour identifier le message d'erreur précis.

    Remarque

    L'emplacement par défaut de ce fichier est généralement /var/log/mysqld.log ou /var/log/mysql/error.log.

    [ERROR] [MY-010092] [Server] Can't start server: can't create PID file: Permission denied
  2. Repérez et terminez tous les processus mysqld résiduels.

    sudo ps aux | grep mysqld
    sudo kill -9 <process ID>
  3. Démarrez le service MySQL en exécutant la commande suivante.

    Alibaba Cloud Linux et CentOS

    sudo systemctl start mysqld

    Ubuntu et Debian

    sudo systemctl start mysql

Erreur de démarrage MySQL : File './binlog.index' not found

  1. Consultez le fichier error.log de MySQL pour identifier le message d'erreur précis.

    Remarque

    L'emplacement par défaut de ce fichier est généralement /var/log/mysqld.log ou /var/log/mysql/error.log.

    mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)
  2. Cette erreur résulte souvent d'une propriété de fichiers incorrecte dans le répertoire de données MySQL. Exécutez la commande suivante pour vérifier les propriétaires.

    Remarque

    Le répertoire de données par défaut est généralement /var/lib/mysql. Si vous utilisez un répertoire personnalisé, adaptez la commande en conséquence.

    sudo ls -l /var/lib/mysql
    -rw-r-----  1  root root        56 Mar 19 15:51   auto.cnf
    -rw-r-----  1  root root      1551 Mar 19 15:51   binlog.000001
    -rw-r-----  1  root root        16 Mar 19 15:51   binlog.index
    -rw-------  1  root root      1680 Mar 19 15:51   ca-key.pem
    -rw-r--r--  1  root root      1108 Mar 19 15:51   ca.pem
    -rw-r--r--  1  root root      1108 Mar 19 15:51   client-cert.pem
  3. Exécutez la commande suivante pour attribuer les droits appropriés à l'utilisateur et au groupe mysql.

    sudo chown -R mysql:mysql <data_directory>
  4. Démarrez le service MySQL en exécutant la commande suivante.

    Alibaba Cloud Linux et CentOS

    sudo systemctl start mysqld

    Ubuntu et Debian

    sudo systemctl start mysql