重置密碼過程

1.1報錯信息

[root@localhost mysql]# mysql -u root -p
Enter password: 有輸入密碼
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@localhost mysql]# mysql -u root -p
Enter password: 無輸入密碼
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

1.2分析原因

首先我們可以理解一下,mysql的登錄過程,mysql登錄認證過程主要在SQL連接層,我們可以跳過授權。

2.1方法一

[root@localhost mysql]# mysqld_safe --skip-grant-tables --skip-networking &
[root@localhost mysql]# mysql
[root@localhost mysql]# flush privileges;

2.2方法二

[root@localhost mysql]# vim /etc/my.cnf
修改my.cnf 在server tag add "skip-grant-tables"
[root@localhost mysql]# systemctl restart mysqld
[root@localhost mysql]# mysql
[root@localhost mysql]# flush privilesges;

3小結

需要修改密碼的情況我遇到的就兩種,第一忘記密碼,第二數據庫再次初始化后。