Résolvez le problème de la réinitialisation du mot de passe de l'utilisateur root de MySQL sous le système ubuntu 16.04

J'ai récemment installé MySQL sur le système ubuntu, mais il n'y avait pas d'invite pour entrer le mot de passe de l'utilisateur root lors de l'installation. Après avoir cherché une solution sur Internet pendant une journée, j'ai essayé de modifier le mot de passe de connexion de l'utilisateur root:

1. Installation

Vous pouvez vous référer au lien: https://blog.csdn.net/zou_albert/article/details/114932025

$ sudo apt-get install mysql-server
 
$ apt install mysql-client
 
$ apt install libmysqlclient-dev

2. Connectez-vous à MySQL

mysql -u root -p

Entrez le mot de passe, si vous pouvez entrer, vous n'avez pas besoin de lire ce qui suit; si vous êtes invité à vous connecter, nous essayons d'activer le mode sans échec pour vous connecter à MySQL, afin que vous puissiez contourner le mot de passe pour vous connecter , puis modifiez le mot de passe après la connexion.

3. Connectez-vous à MySQL en mode sans échec

$ sudo /etc/init.d/mysql stop
 
-------------------------------------
[sudo] wl 的密码:
[ ok ] Stopping mysql (via systemctl): mysql.service.
 
$ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

Entrez la première ligne pour terminer l'opération MySQL. Si l'opération réussit, les deux lignes suivantes seront affichées; entrez la quatrième ligne, si elle réussit, vous pouvez ouvrir une autre fenêtre de terminal pour l'étape suivante; cependant, une erreur sera généralement signalé, tel que le répertoire mysqld_safe '/ var / run / mysqld' pour le fichier socket UNIX n'existe pas

Insérez la description de l'image ici

Solution: nous avons donc essayé de saisir le code suivant:

$ sudo mkdir -p /var/run/mysqld
 
$ sudo chown mysql:mysql /var/run/mysqld

Enfin entrez à nouveau:

sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

À ce stade, aucune erreur ne sera signalée. Vous pouvez ouvrir un autre port de terminal et essayer de vous connecter à MySQL sans mot de passe.

mysql -u root

Vous devriez pouvoir entrer MySQL à ce stade, continuez à fonctionner

> use mysql;
 
> update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码
> update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行
 
> flush privileges; #更新所有操作权限
> quit;

4. Utilisez le mot de passe modifié pour vous connecter à MySQL

Après la série d'opérations ci-dessus, vous devriez pouvoir vous connecter normalement avec le mot de passe que vous avez modifié.

> sudo /etc/init.d/mysql stop
> sudo /etc/init.d/mysql start # reset mysql
 
> mysql -u root -p

La première ligne termine d'abord l'opération de base de données, la deuxième ligne redémarre le service de base de données et la troisième ligne se connecte en tant qu'utilisateur root.

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/zou_albert/article/details/114934826
conseillé
Classement