mysql 8.0.25之取巧解決修改密碼報錯的問題
mysql修改密碼 報錯
# 修改密碼 set password for root@localhost=password('新密碼');
1.1 報錯
ERROR 1064 (42000): You have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('xxx')' at line 1
# 翻譯錯誤1064(42000):你有一個錯誤的SQL語法; 檢查您的MySQL服務(wù)器版本對應(yīng)的手冊,在第一行使用正確的語法'password('xxx')'附近
注意:
這次修改密碼的原因是 我的mysql密碼中包含 ‘@’ 符號,平常沒啥事,結(jié)果用flask_sqlalchemy連接數(shù)據(jù)庫時(地址以@開始識別),所以就報錯了。
所以在此提醒各位朋友不要犯這個錯!?。?/p>
1.2 解決辦法
在網(wǎng)上找了很多辦法都不管用,只能換一種修改方式。
1)、以管理員身份cmd
進(jìn)入mysql\bin
目錄停止服務(wù):
C:\mysql\mysql-8.0.25-winx64\bin>net stop mysql MySQL 服務(wù)正在停止. MySQL 服務(wù)已成功停止。
2)、mysqld --shared-memory --skip-grant-tables (跳過密碼登錄)hold?。?/p>
C:\mysql\mysql-8.0.25-winx64\bin>mysqld --shared-memory --skip-grant-tables
3)、以管理員身份另起cmd,并進(jìn)入mysql\bin
目錄:
mysql -uroot -p
直接回車進(jìn)入mysql;
執(zhí)行如下命令 修改密碼:
update user set authentication_string='' where user='root'; # 密碼置空 flush privileges; # 刷新權(quán)限 alter user 'root'@'%' identified by 'xxxxx'; # 設(shè)置密碼
exit
退出mysql登錄
4)、Ctrl+C
停止第2步的跳過密碼登錄操作,并重啟mysql服務(wù):
C:\mysql\mysql-8.0.25-winx64\bin>net start mysql MySQL 服務(wù)正在啟動 . MySQL 服務(wù)已經(jīng)啟動成功。
5)、用新密碼登錄,即可成功
mysql8.0修改密碼訪問失敗
當(dāng)我們在網(wǎng)上找信息修改密碼,都是使用mysqld --console --skip-grant-tables --shared-memory來跳過驗證,當(dāng)進(jìn)行到第二步,重新打開窗口,直接運(yùn)行MySQL卻報錯說沒有打開服務(wù),本人報的就是這個錯誤,原因可能是你的mysql文件夾里缺失data和my.ini文件
解決辦法
從隱藏的MySQL文件夾里復(fù)制一份到你的MySQL安裝文件夾里就好了。
先顯示你得隱藏文件夾,然后找到另外一個MySQL文件夾,里面應(yīng)該包含了這兩個文件,復(fù)制過去就行了,然后再執(zhí)行第二步,使用MySQL進(jìn)行登錄。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何利用MySQL查詢varbinary中存儲的數(shù)據(jù)
varbinary 類型和char與varchar類型是相似的,他們是包含字節(jié)流而不是字符流,他們有二進(jìn)制字符的集合和順序,他們的對比,排序是基于字節(jié)的數(shù)值進(jìn)行的,本文給大家介紹如何利用MySQL查詢varbinary中存儲的數(shù)據(jù),感興趣的朋友一起看看吧2023-07-07Navicat連接虛擬機(jī)mysql常見錯誤問題及解決方法
這篇文章主要介紹了Navicat連接虛擬機(jī)mysql常見錯誤問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11