以下幾種方法可供選擇 第一種方式: 最簡單的方法就是藉助第三方工具Navicat for MySQL來修改,方法如下: 1、登錄mysql到指定庫,如:登錄到test庫。 2、然後點擊上方“用戶”按鈕。 3、選擇要更改的用戶名,然後點擊上方的“編輯用戶”按鈕。 4、出現如圖界面,輸入新密碼,並確認新 ...
以下幾種方法可供選擇
第一種方式:
最簡單的方法就是藉助第三方工具Navicat for MySQL來修改,方法如下:
1、登錄mysql到指定庫,如:登錄到test庫。
2、然後點擊上方“用戶”按鈕。
3、選擇要更改的用戶名,然後點擊上方的“編輯用戶”按鈕。
4、出現如圖界面,輸入新密碼,並確認新密碼,點擊“保存”按鈕即可。
第二種方式:
方法1: 用SET PASSWORD命令
首先登錄MySQL。
格式:mysql> set password for 用戶名@localhost = password('新密碼');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 (註意:-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密碼的時候,可以這樣
以windows為例:
1. 關閉正在運行的MySQL服務。
2. 打開DOS視窗,轉到mysql\bin目錄。
3. 輸入mysqld --skip-grant-tables 回車。--skip-grant-tables 的意思是啟動MySQL服務的時候跳過許可權表認證。
4. 再開一個DOS視窗(因為剛纔那個DOS視窗已經不能動了),轉到mysql\bin目錄。
5. 輸入mysql回車,如果成功,將出現MySQL提示符 >。
6. 連接許可權資料庫: use mysql; 。
6. 改密碼:update user set password=password("123") where user="root";(別忘了最後加分號) 。
7. 刷新許可權(必須步驟):flush privileges; 。
8. 退出 quit。
9. 註銷系統,再進入,使用用戶名root和剛纔設置的新密碼123登錄。
第三種方式:
-
打開mysql.exe和mysqld.exe所在的文件夾,複製路徑地址
-
2
打開cmd命令提示符,進入上一步mysql.exe所在的文件夾。
-
3
輸入命令 mysqld --skip-grant-tables 回車,此時就跳過了mysql的用戶驗證。註意輸入此命令之後命令行就無法操作了,此時可以再打開一個新的命令行。註意:在輸入此命令之前先在任務管理器中結束mysqld.exe進程,確保mysql伺服器端已結束運行。
-
4
然後直接輸入mysql,不需要帶任何登錄參數直接回車就可以登陸上資料庫。
-
5
輸入show databases; 可以看到所有資料庫說明成功登陸。
-
6
其中mysql庫就是保存用戶名的地方。輸入 use mysql; 選擇mysql資料庫。
-
7
show tables查看所有表,會發現有個user表,這裡存放的就是用戶名,密碼,許可權等等賬戶信息。
-
8
輸入select user,host,password from user; 來查看賬戶信息。
-
9
更改root密碼,輸入update user set password=password('123456') where user='root' and host='localhost';
-
10
再次查看賬戶信息,select user,host,password from user; 可以看到密碼已被修改。
-
11
退出命令行,重啟mysql資料庫,用新密碼嘗試登錄。
-
12
測試不帶密碼登錄mysql,發現還是能夠登陸上,但顯示資料庫時只能看到兩個資料庫了,說明重啟之後跳過密碼驗證已經被取消了。
-
13
我這地方重啟資料庫之後之所以不帶密碼任然能夠登錄是因為我的資料庫里存在設無須口令的賬戶。
END
註意事項
- 註意其中需要重啟資料庫的幾個地方