Mysql
 sql >> Base de données >  >> RDS >> Mysql

Modifier et réinitialiser le mot de passe root MySQL

Il existe de nombreuses façons de réinitialiser et de modifier le mot de passe root pour la base de données mySQL, en cas d'oubli ou de perte du mot de passe, ou si vous souhaitez simplement sécuriser le mot de passe avec un algorithme complexe et un changement régulier. Les instructions suivantes expliquent en détail la méthode alternative à la dernière partie du guide mentionné ci-dessus, où aucun fichier supplémentaire ne doit être créé :

  1. Connectez-vous en tant que root à la machine Windows ou de type Unix (Unix, Linux ou BSD) avec le serveur MySQL.
  2. Arrêtez le serveur MySQL à l'aide de l'une des commandes suivantes :

    Linux :

    /etc/rc.d/init.d/mysql stop

    FreeBSD :

    /usr/local/etc/rc.d/mysql-server.sh stop
  3. Ouvrez le script de démarrage du serveur mysql (c'est-à-dire mysql-server.sh ou mysql qui est le fichier exécuté pour démarrer ou arrêter le serveur MySQL).
  4. AJOUTER –skip-grant-tables à la fin de la ligne qui contient le mysqld_safe commande comme paramètre.
  5. Démarrez le serveur MySQL avec la commande suivante :

    Linux :

    /etc/rc.d/init.d/mysql start

    FreeBSD :

    /usr/local/etc/rc.d/mysql-server.sh start
  6. Vous pouvez également démarrer le serveur MySQL directement et ignorer la modification avec la commande suivante (si vous utilisez cette étape, vous n'avez pas besoin de modifier le script de démarrage MySQL) :
    mysqld_safe --skip-grant-tables &

    En fonction de votre environnement de chemin, vous devrez peut-être pointer vers le bon répertoire où se trouve mysqld_safe.

  7. Exécutez les commandes suivantes pour vous connecter en tant qu'utilisateur mysql et vous connecter à la base de données des utilisateurs/autorisations mysql :
    # mysql -u root mysql
  8. Exécutez les requêtes de mise à jour pour modifier le mot de passe MySQL :
    mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root';
    mysql> FLUSH PRIVILEGES;

    Remarque :Remplacez newrootpassword avec le nouveau mot de passe root pour le serveur MySQL. Flush Privileges est nécessaire pour que le changement de mot de passe prenne effet immédiatement.

  9. Quittez le client de base de données mysql en tapant exit .
  10. Arrêtez le serveur MySQL avec les commandes répertoriées à l'étape 2.
  11. Ouvrez à nouveau la modification du script de démarrage du serveur mysql à l'étape 3 et SUPPRIMEZ les –skip-grant-tables paramètre qui a été ajouté.
  12. Démarrez le serveur MySQL à l'aide de la commande de l'étape 5 ou 6.

Pour les utilisateurs de Redhat Linux, utilisez les instructions suivantes en tant qu'utilisateur racine de la machine Redhat Linux :

  1. Arrêtez le processus MySQL en utilisant la commande :
    # killall mysqld
  2. Démarrez le serveur MySQL avec les options suivantes :
    # /usr/libexec/mysqld -Sg --user=root &
  3. Démarrez le client MySQL :
    # mysql

    Vous devriez voir le message suivant :

    Bienvenue dans le moniteur MySQL. Les commandes se terminent par; ou g.
    Votre identifiant de connexion MySQL est 1 à la version du serveur :3.xx.xx

    Tapez 'help;' ou 'h' pour obtenir de l'aide. Tapez 'c' pour vider le tampon.

    mysql>

  4. Utiliser la base de données mysql :
    mysql> USE mysql 

    Vous devriez voir le message suivant :

    Lecture des informations de table pour compléter les noms de table et de colonne
    Vous pouvez désactiver cette fonctionnalité pour obtenir un démarrage plus rapide avec -A

    Base de données modifiée

  5. Ensuite, mettez à jour le mot de passe de l'utilisateur root avec la commande suivante :
    UPDATE user SET password=password("newpassword") WHERE user="root";

    Remplacez nouveaumotdepasse avec le mot de passe souhaité. Vous devriez voir le message suivant :

    Requête OK, 2 lignes affectées (0,03 seconde)
    Lignes correspondantes :2 modifiées :2 avertissements :0

    Les lignes affectées peuvent être différentes, mais la requête OK devrait être là.

  6. Videz les privilèges de la base de données pour la recharger afin que les modifications soient effectives :
    mysql> flush privileges; 

    Vous devriez obtenir le résultat suivant :

    Requête OK, 0 lignes affectées (0.02 sec)

  7. Quitter le client MySQL en tapant exit .
  8. Tuez le processus du serveur MySQL en tapant killall mysqld .
  9. Ensuite, redémarrez MySQL :
    /etc/init.d/mysqld start