關於liunx系統Mysql密碼失效重改密碼

重置密碼解決MySQL for Linux錯誤 ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)或者NO
一般是因爲密碼錯誤引起,YES代表輸入密碼,密碼錯誤,NO代表未輸入密碼,密碼錯誤,
都是因爲密碼錯誤引起
**

解決方案

1 通過跳過MySQL的密碼認證過程,修改密碼
第一步:輸入命令

vim /etc/my.cnf
在這裏插入圖片描述
進入my.cnf在後面加入“skip-grant-tables”用來跳過密碼驗證的過程
點擊 i 進入編輯
在這裏插入圖片描述
esc退出編輯輸入 :wq! 保存並退出
2
接下來重啓Mysql
重啓Mysql命令 service mysql restart
重啓出錯可以直接重啓liunx系統,打開之後啓動mysql
啓動mysql 命令 service mysql start
3
重啓之後我們直接輸入mysql可以直接進入
在這裏插入圖片描述
當出現 **mysql>**就代表跳過密碼成功接下來就是重要的了
4
使用sql來修改root的密碼
mysql> use mysql;
mysql> update user set password=password(“你的新密碼”) where user=“root”;
mysql> flush privileges;
mysql> quit

一條一條的運行

如果運行mysql> update user set password=password(“你的新密碼”) where user=“root”;出現下面這種情況不要着急
在這裏插入圖片描述
我們換一種方式
更換語句
*update user set authentication_string="6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9" where user=“root”;

注意*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9不要去更改裏面的內容
因爲mysql的密碼保護機制我們提取到的這段文字是123456
也就是說我們吧Mysql的密碼更換爲123456
在這裏插入圖片描述
這樣就成功了
接下來還是上面的操作
在這裏插入圖片描述
保存操作並退出

5
退出之後不要急着重啓mysql先把我們之前改改動的文件給改回來
執行 : vim /etc/my.cnf
在這裏插入圖片描述
編輯刪除並保存

6
現在我們來重啓mysql
mysql重啓失敗的還可以跟之前一樣從其liunx
重啓之後們開始啓動mysql
service mysql start

開始嘗試登錄
mysql -uroot -p設置的密碼(跟着第二部走的密碼爲123456)
這時候我們會發現可以進來了
在這裏插入圖片描述
這時候不要急 想要修改密碼或者外部訪問的我們還要有操作

7 修改2個全局參數-降低密碼驗證策略,否則無法修改成簡單密碼(密碼必須爲字母+數字+特殊符號長度大於8位)

(命令在msql>中沒有退出)
輸入命令:
set global validate_password_policy=0;  
set global validate_password_length=1;

之後設置你想要更改的密碼
命令:SET PASSWORD = PASSWORD(‘你想要更改的密碼’);
如果該操作不能執行或者出現錯誤,從新啓動mysql或者重啓liunx

設置成功之後退出mysql
命令 :exit;

8.
使用新密碼登錄
登錄之後就可以設置mysql遠程訪問(該命令需在登陸mysql後執行)
想要遠程訪問第七步不能少!!!特別注意!!!

使用命令
命令: grant all privileges on . to ‘root’ @’%’ identified by ‘123456’;(123456是你遠程訪問的密碼你可已更改爲你現在的密碼)
命令: flush privileges;
保存並退出
這樣就可以了
9
我們還可以設置爲開機自啓動(該命令需在退出mysql後執行)
啓動MySQL
命令: systemctl start mysqld
設置自啓動
命令:systemctl enable mysqld

10
我們可以測試下
在window 打開Navicat ,遠程連接mysql
在這裏插入圖片描述
發現我們可以鏈接成功了

小結
這個錯誤真的會讓人很頭疼,我也是查閱很多資料加上自己的摸索把他搞好,希望對你們有幫助

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