Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?
文章目錄
- 方法一
- 方法二
- 方法三
方法一
1.添加登錄跳過權限檢查配置
修改 /etc/my.cnf 文件,在 [mysqld] 配置節(jié)點添加 skip-grant-tables 配置
2.重新啟動mysql服務
service mysqld restart3.修改密碼
添加登錄跳過權限檢查配置后,在終端用 mysql 命令登錄時不需要用戶密碼,然后選擇三種修改密碼的方式中的任意一種修改密碼即可。
注意:mysql 庫的 user 表,MySQL 5.7 以下版本密碼字段為 password,MySQL 5.7 以上版本密碼字段為 authentication_string。
4.還原登錄權限跳過檢查配置
將 /etc/my.cnf 中 [mysqld] 節(jié)點的 skip-grant-tables 配置刪除,然后重新啟動服務即可。
特別注意:MySQL的配置文件/etc/my.cnf中配置skip-grant-tables,會導致無法遠程登錄數(shù)據(jù)庫,所以修改好密碼之后,必須將skip-grant-tables注釋掉。
方法二
停止數(shù)據(jù)庫服務:
[root@htlwk0001host ~]# systemctl stop mysqld.service進入到 MySQL 的 bin 目錄下:
cd /usr/local/mysql/bin/切換成 root 用戶身份:
sudo su切換成功后輸入以下命令來禁止 MySQL 驗證功能:
./mysqld_safe --skip-grant-tables &回車后 MySQL 會自動重啟,那么在當前會話中可以無需密碼登錄 MySQL。
然后選擇三種修改密碼的方式中的任意一種修改密碼即可。
我的操作系統(tǒng)是:CentOS Linux release 8.2.2004 (Core) ,MySQL版本是:mysql Ver 8.0.26 for Linux on x86_64 (Source distribution),MySQL命令目錄是:/usr/bin/,在該目錄下沒有指令mysqld_safe。
方法三
先停止數(shù)據(jù)庫服務:
[root@htlwk0001host ~]# systemctl stop mysqld.service接著以“無需驗證”方式啟動數(shù)據(jù)庫服務:
[root@htlwk0001host ~]# mysqld --skip-grant-tables然后再打開另一個會話窗口,直接輸入 mysql 就可以登錄了:
[root@htlwk0001host ~]# mysql然后選擇三種修改密碼的方式中的任意一種修改密碼即可。
修改完密碼之后,要關閉 mysqld 進程,macOS 就打開活動監(jiān)視器,Windows 就打開任務管理器,將 mysqld 進程關閉,再重新以正常方式啟動數(shù)據(jù)庫服務,輸入賬號和密碼登錄數(shù)據(jù)庫。
總結
以上是生活随笔為你收集整理的Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果11pro max怎么关机
- 下一篇: MySQL数据库修改用户登录密码的三种方