Maison >base de données >tutoriel mysql >mysql réinitialiser le mot de passe root

mysql réinitialiser le mot de passe root

王林
王林avant
2020-01-22 19:26:032644parcourir

mysql réinitialiser le mot de passe root

Pour la base de données, ce sera très fatal si vous oubliez le mot de passe de l'utilisateur root, mais on peut sauter la table des permissions en ajoutant le paramètre --ship-grant-tables.

La méthode spécifique est la suivante :

J'ai oublié le mot de passe root et je ne peux pas accéder à la base de données :

mysql réinitialiser le mot de passe root

À ce stade, vous devez pour forcer l'arrêt de la base de données, vérifiez d'abord MySQL Numéro de processus

mysql réinitialiser le mot de passe root

Tuez le processus MySQL, la commande est la suivante :

Après l'arrêt, vous pouvez vérifier s'il y a encore des processus

[root@tse2 tmp]# kill -9 9840 1
[root@tse2 tmp]# ps -ef |grep mysql

mysql réinitialiser le mot de passe root

Il est recommandé que lorsque l'opération d'arrêt de la base de données n'affecte pas l'entreprise, il est préférable d'enregistrer le mot de passe et d'utiliser keepass pour enregistrer le logiciel de mot de passe !

Partage gratuit de didacticiels vidéo d'apprentissage : tutoriel vidéo MySQL

Ajoutez ensuite le paramètre de table d'autorisation de saut et redémarrez la base de données. De cette façon, vous pouvez accéder à la base de données même sans saisir de mot de passe.

[root@tse2 bin]# mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
[1] 4854

mysql réinitialiser le mot de passe root

Entrez mysql directement sans mot de passe pour entrer

mysql réinitialiser le mot de passe root

Définissez un nouveau mot de passe pour l'utilisateur root et actualisez le permissions , après MySQL5.7, le champ mot de passe sous la bibliothèque est remplacé par le champ authentification_string.

(product)root@localhost:mysql.sock [(none)]> use mysql;
Database changed
(product)root@localhost:mysql.sock [mysql]> update user set authentication_string=password('123456') where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1

(product)root@localhost:mysql.sock [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Une fois les réglages terminés, redémarrez la base de données. Notez qu'il n'est pas nécessaire d'ajouter le paramètre --skip-grant-tables lors du redémarrage. Démarrez le service normalement et saisissez le nouveau mot de passe pour accéder normalement à la base de données. Après avoir redémarré ici, je testerai que mysql ne peut pas être saisi sans mot de passe.

[root@tse2 bin]# mysqld_safe --deaults-file=/etc/my.cnf &
[2] 6720
[root@tse2 bin]# 2020-01-16T02:55:45.223195Z mysqld_safe Logging to '/mysql/mysql3306/logs/error.log'.
2020-01-16T02:55:45.262302Z mysqld_safe A mysqld process already exists

[2]+  Exit 1                  mysqld_safe --deaults-file=/etc/my.cnf
[root@tse2 bin]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Entrez le mot de passe ici pour vous connecter et vous pourrez entrer normalement. Il s'agit du mot de passe modifié 123456

mysql réinitialiser le mot de passe root

[root@tse2 bin]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.23-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(product)root@localhost:mysql.sock [(none)]> use mysql
Database changed
(product)root@localhost:mysql.sock [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
rows in set (0.01 sec)

Tutoriels d'articles associés recommandés : mysql. tuto

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer