第一種方式:
最簡(jiǎn)單的方法就是借助第三方工具Navicat for MySQL來(lái)修改,方法如下:
1度宦、登錄mysql到指定庫(kù)踢匣,如:登錄到test庫(kù)。
2斗埂、然后點(diǎn)擊上方“用戶”按鈕符糊。
3、選擇要更改的用戶名呛凶,然后點(diǎn)擊上方的“編輯用戶”按鈕男娄。
4、出現(xiàn)如圖界面漾稀,輸入新密碼模闲,并確認(rèn)新密碼,點(diǎn)擊“保存”按鈕即可崭捍。
?第二種方式:
方法1: 用SET PASSWORD命令?
首先登錄MySQL尸折。?
格式:mysql> set password for 用戶名@localhost = password('新密碼');?
例子:mysql> set password for root@localhost = password('123');?
方法2:用mysqladmin?
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼?
例子:mysqladmin -uroot -p123456 password 123?
方法3:用UPDATE直接編輯user表?
首先登錄MySQL。?
mysql> use mysql;?
mysql> update user set password=password('123') where user='root' and host='localhost';?
mysql> flush privileges;?
方法4:在忘記root密碼的時(shí)候殷蛇,可以這樣?
以windows為例:?
1. 關(guān)閉正在運(yùn)行的MySQL服務(wù)实夹。?
2. 打開(kāi)DOS窗口,轉(zhuǎn)到mysql\bin目錄粒梦。?
3. 輸入mysqld --skip-grant-tables 回車(chē)亮航。--skip-grant-tables 的意思是啟動(dòng)MySQL服務(wù)的時(shí)候跳過(guò)權(quán)限表認(rèn)證。?
4. 再開(kāi)一個(gè)DOS窗口(因?yàn)閯偛拍莻€(gè)DOS窗口已經(jīng)不能動(dòng)了)匀们,轉(zhuǎn)到mysql\bin目錄缴淋。?
5. 輸入mysql回車(chē),如果成功,將出現(xiàn)MySQL提示符 >重抖。?
6. 連接權(quán)限數(shù)據(jù)庫(kù): use mysql; 露氮。?
6. 改密碼:update user set password=password("123") where user="root";(別忘了最后加分號(hào)) 。?
7. 刷新權(quán)限(必須步驟):flush privileges; 钟沛。?
8. 退出 quit畔规。?
9. 注銷(xiāo)系統(tǒng),再進(jìn)入讹剔,使用用戶名root和剛才設(shè)置的新密碼123登錄油讯。
第三種方式:
打開(kāi)mysql.exe和mysqld.exe所在的文件夾,復(fù)制路徑地址
2
打開(kāi)cmd命令提示符,進(jìn)入上一步mysql.exe所在的文件夾延欠。
3
輸入命令 ?mysqld --skip-grant-tables ?回車(chē)陌兑,此時(shí)就跳過(guò)了mysql的用戶驗(yàn)證。注意輸入此命令之后命令行就無(wú)法操作了由捎,此時(shí)可以再打開(kāi)一個(gè)新的命令行兔综。注意:在輸入此命令之前先在任務(wù)管理器中結(jié)束mysqld.exe進(jìn)程,確保mysql服務(wù)器端已結(jié)束運(yùn)行狞玛。
4
然后直接輸入mysql软驰,不需要帶任何登錄參數(shù)直接回車(chē)就可以登陸上數(shù)據(jù)庫(kù)。
5
輸入show databases; ? 可以看到所有數(shù)據(jù)庫(kù)說(shuō)明成功登陸心肪。
6
其中mysql庫(kù)就是保存用戶名的地方锭亏。輸入 use mysql; ? 選擇mysql數(shù)據(jù)庫(kù)。
7
show tables查看所有表硬鞍,會(huì)發(fā)現(xiàn)有個(gè)user表慧瘤,這里存放的就是用戶名,密碼固该,權(quán)限等等賬戶信息锅减。
8
輸入select user,host,password from user; ? 來(lái)查看賬戶信息。
9
更改root密碼伐坏,輸入update user set password=password('123456') where user='root' and host='localhost';
10
再次查看賬戶信息怔匣,select user,host,password from user; ? 可以看到密碼已被修改。
11
退出命令行桦沉,重啟mysql數(shù)據(jù)庫(kù)每瞒,用新密碼嘗試登錄。
12
測(cè)試不帶密碼登錄mysql,發(fā)現(xiàn)還是能夠登陸上纯露,但顯示數(shù)據(jù)庫(kù)時(shí)只能看到兩個(gè)數(shù)據(jù)庫(kù)了独泞,說(shuō)明重啟之后跳過(guò)密碼驗(yàn)證已經(jīng)被取消了。
13
我這地方重啟數(shù)據(jù)庫(kù)之后之所以不帶密碼任然能夠登錄是因?yàn)槲业臄?shù)據(jù)庫(kù)里存在設(shè)無(wú)須口令的賬戶苔埋。
END
注意其中需要重啟數(shù)據(jù)庫(kù)的幾個(gè)地方