Cet article présente principalement comment résoudre le problème de l'ERREUR 1045 (28000) : Accès refusé pour l'utilisateur 'root'@'localhost' lors de la connexion après l'installation de mysql5.7.17 sur Ubuntu 16.04. Les amis dans le besoin peuvent s'y référer <.>
1. Description du problème
Aujourd'hui, afin de pratiquer SQL, l'auteur a installé MySQL sur Ubuntu16.04. L'auteur a recherché sur Internet les étapes pour installer MySQL sur Ubuntu16.04 et a suivi les étapes étape par étape. Cependant, ce que je n'ai pas compris, c'est qu'Internet disait que pendant le processus d'installation de MySQL, une fenêtre pour saisir le mot de passe. apparaîtrait Cependant, pendant le processus d'installation, l'auteur Aucune fenêtre ne s'ouvre et aucune erreur n'est signalée.La vraie raisonMySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Réinitialiser le mot de passe MySQL 5.7 sous Ubuntu 16.04 (mot de passe oublié)
Cependant, à ce stade, l'auteur ne parvient toujours pas à résoudre le problème car
La configuration de l'auteur le fichier
n'a pas la section [mysqld] en dessous, en pleurant/etc/mysql/my.cnf
Plus tard, j'ai passé beaucoup de temps sur Internet et j'ai finalement trouvé la section [mysqld] dans le fichier
/etc/mysql/mysql.conf.d/mysqld.cnf
C'est tout. On pense que mysql5.7.17 a changé la signification originale de my.cnf en mysqld.cnf et l'a placé sous /etc/mysql/mysql. conf.d/chemin.
À ce stade, le problème que j'ai rencontré a enfin été résolu. Je suis vraiment content !
L'auteur ci-dessous présente son propre processus d'installation de MySQL et le processus spécifique de résolution de problèmes.
2. Processus d'installation de MySQL Entrez les commandes dans le terminal Ubuntu :
$ sudo apt update $ sudo apt-get install mysql-server mysql-client
3. Processus de résolution de problèmes1. Ouvrez le fichier /etc/mysql/mysql.conf.d/mysqld.cnf et la commande est la suivante
2 .Recherchez la section [mysqld] et ajoutez une ligne "skip-grant-tables", comme indiqué ci-dessous,
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
3. Redémarrez le service mysql et entrez la ligne de commande de gestion mysql avec un mot de passe vide, passez à la bibliothèque mysql, la commande d'opération est la suivante,
4. Retournez à sudo vi /etc/mysql/mysql.conf.d/mysqld. .cnf, et modifiez la ligne qui vient d'être ajoutée en commentaire "skip-grant -tables" ou supprimez-la.$ mysql Welcome to the MySQL monitor. Commands end with ; or \g. mysql> use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> update user set plugin="mysql_native_password"; Query OK, 0 rows affected (0.00 sec) Rows matched: 3 Changed: 0 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> quit; Bye
5. Redémarrez le service mysql sudo service mysql restart, connectez-vous avec le nouveau mot de passe et la modification est réussie.
Articles connexes$ mysql -u root -p new_pass Welcome to the MySQL monitor. Commands end with ; or \g. mysql>
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!