解決登陸MySQL時候爆出拒絕訪問解決MySQL登錄時拒絕訪問,或不知道密碼得問題

解決CentOS7,安裝MySQL,登錄時報錯:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor=YES)
或忘記密碼的問題

首先,修改MySQL的配置文件:vim /etc/mysql.cnf,添加上一句skip-grant-tables 這個配置,然後保存文件。

在這裏插入圖片描述
之後重啓服務
在這裏插入圖片描述
然後再次進入到終端當中,敲入 mysql -u root -p 命令然後回車,當需要輸入密碼時,直接按enter鍵,便可以不用密碼登錄到數據庫當中,也就是說不需要登陸密碼就可以進行登陸進去mysql。

之後修改默認密碼:

set password for root@host=password('你的密碼'); 
或者 
set password for 'root'@'host'=password('MyNewPass4!'); 

過程中可以會報錯:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解決:
刷新一下權限表

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@localhost = password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

然後在繼續修改默認密碼:

set password for root@host=password('你的密碼'); 
或者 
set password for 'root'@'host'=password('MyNewPass4!'); 

但是之後可能還會報一個錯誤:

提示:命令修改mysql數據庫root用戶密碼提示ERROR 1133 (42000): Can't find any matching row in the user table錯誤

解決:
use mysql;
select Host,User from user;
在這裏插入圖片描述
將set password for ‘root’@‘host’=password('123456); 代碼中的host修改成localhost,與數據庫Host字段值一致

set password for 'root'@'localhost'=password('123456');
刷新
flush privileges;

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章