218 votes

MySQL : Comment réinitialiser ou modifier le mot de passe racine de MySQL ?

Comment changer le mot de passe et le nom d'utilisateur de la racine de MySQL dans un serveur ubuntu ? Dois-je arrêter le service mysql avant de procéder à des modifications ?

J'ai aussi une installation de phpmyadmin, est-ce que phpmyadmin sera mis à jour automatiquement ?

282voto

Christian Mark Points 3155

Définir / modifier / réinitialiser le mot de passe racine de MySQL sur Ubuntu Linux. Entrez les lignes suivantes dans votre terminal.

  1. Arrêtez le serveur MySQL : sudo /etc/init.d/mysql stop
  2. Commencez le mysqld configuration : sudo mysqld --skip-grant-tables &

Dans certains cas, vous devez créer le fichier /var/run/mysqld d'abord :

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
  1. Connectez-vous à MySQL en tant que Root : mysql -u root mysql
  2. Remplacer YOURNEWPASSWORD avec votre nouveau mot de passe :

Pour MySQL < 8.0

    UPDATE
      mysql.user
    SET
      Password = PASSWORD('YOURNEWPASSWORD')
    WHERE
      User = 'root';
    FLUSH PRIVILEGES;
    exit;

Remarque : sur certaines versions, si password n'existe pas, vous pouvez essayer :
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

Remarque : cette méthode n'est pas considérée comme la plus sûre pour réinitialiser le mot de passe, mais elle fonctionne.

Pour MySQL >= 8.0

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';

Références :

  1. Définir / Modifier / Réinitialiser le mot de passe racine de MySQL sur Ubuntu Linux
  2. Comment réinitialiser le mot de passe root (v5.6)
  3. Comment réinitialiser le mot de passe racine (v8.0)

162voto

narko Points 1767

La seule méthode qui a fonctionné pour moi est celle décrite. aquí (Je suis sous ubuntu 14.04). Pour des raisons de clarté, voici les étapes que j'ai suivies :

  1. sudo vim /etc/mysql/my.cnf

  2. Ajoutez les lignes suivantes à la fin :

    \[mysqld\]
    
    skip-grant-tables
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root'; - Regardez en haut pour déterminer si la colonne du mot de passe s'appelle mot de passe o chaîne d'authentification

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; - Utilisez le mot de passe approprié de la colonne ci-dessus

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. Retirez les lignes ajoutées à l'étape 2 si vous voulez garder vos normes de sécurité.

  12. sudo service mysql restart

Pour référence : https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

101voto

user93341 Points 268

Le moyen officiel et facile de réinitialiser le mot de passe Root sur un serveur ubuntu...

Si vous êtes sur 16.04, 14.04, 12.04 :

sudo dpkg-reconfigure mysql-server-5.5

Si vous êtes sur 10.04 :

sudo dpkg-reconfigure mysql-server-5.1

Si vous n'êtes pas sûr de la version de mysql-server installée, vous pouvez essayer :

dpkg --get-selections | grep mysql-server

Notes mises à jour pour mysql-server-5.7

Notez que si vous utilisez mysql-server-5.7, vous ne pouvez pas utiliser la méthode plus simple dpkg-reconfigure présentée ci-dessus.

Si vous connaissez le mot de passe, connectez-vous et exécutez ceci :

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

Vous pouvez également utiliser la méthode suivante :

sudo mysql_secure_installation

Vous devrez répondre à une série de questions sur la sécurisation de votre installation (fortement recommandé), y compris si vous souhaitez fournir un nouveau mot de passe Root.

Si vous ne connaissez pas le mot de passe Root, se référer à cet article sur le processus, centré sur Ubuntu. .

Voir pour plus d'informations :

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html

87voto

fabriciofreitag Points 1275

Ce qui a fonctionné pour moi (Ubuntu 16.04, mysql 5.7) :

Arrêter MySQL

sudo service mysql stop

Créez le répertoire du service MySQL.

sudo mkdir /var/run/mysqld

Donnez à l'utilisateur de MySQL la permission d'écrire dans le répertoire de service.

sudo chown mysql: /var/run/mysqld

Démarrez MySQL manuellement, sans vérification des autorisations ni mise en réseau.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Sur une autre console, connectez-vous sans mot de passe.

mysql -uroot mysql

Ensuite :

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;

Désactiver MySQL.

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

Démarrez le service MySQL normalement.

sudo service mysql start

79voto

Anvesh Points 5188

Je partage la solution finale étape par étape pour réinitialiser un mot de passe MySQL sous Linux Ubuntu.

Référence tirée du blog (dbrnd.com)

Étape 1 : Arrêtez le service MySQL.

sudo stop mysql

Étape 2 : Tuer tous les mysqld en cours d'exécution.

sudo killall -9 mysqld

Etape 3 : Démarrer mysqld en mode sans échec.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Étape 4 : Démarrez le client mysql

mysql -u root

Étape 5 : Après avoir réussi à vous connecter, veuillez exécuter cette commande pour changer tout mot de passe.

FLUSH PRIVILEGES;

Étape 6 : Vous pouvez mettre à jour le mot de passe racine de mysql.

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

Note : Sur MySQL 5.7, la colonne Password s'appelle authentication_string .

Étape 7 : Veuillez exécuter cette commande.

FLUSH PRIVILEGES;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X