Mysql忘記密碼怎么重置密碼的幾種實現(xiàn)方法
每種方法都有其適用的情況,根據(jù)具體情況選擇合適的方法。無論選擇哪種方法,請務必在重置密碼后及時刪除臨時用戶并重新啟動 MySQL
服務。
一、使用 mysqladmin 重置密碼
停止服務
# systemctl 啟動的使用這個停止 $ sudo systemctl stop mysql # mac 本機,可以使用這個或可視化界面停止 $ sudo mysql.server stop
使用
mysqld_safe
命令啟動MySQL
服務,跳過權(quán)限檢查,執(zhí)行后可能需要回車下$ sudo mysqld_safe --skip-grant-tables &
登錄
MySQL
服務,并使用mysqladmin
命令重置密碼# 無需密碼,會直接登入 $ mysql -u root # 刷新權(quán)限 mysql> FLUSH PRIVILEGES; # 這里的 'new_password' 是要設置的新密碼,可以根據(jù)需要進行修改。此命令將修改 root 用戶在本地 MySQL 服務上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
停止
MySQL
服務,并重新啟動密碼登入即可# 1、停止 MySQL 服務上面有,第一條就是 # 2、重啟啟動 MySQL 服務,并使用密碼登入 # systemctl 啟動的使用這個重新啟動 $ sudo systemctl start mysql # mac 本機,可以使用這個或可視化界面啟動 $ sudo mysql.server start # 3、密碼登錄 $ mysql -u root -p # 附:如果再次使用 mysql -u root 這樣免密登錄是不成功的,停止重啟后會失效。
二、使用 mysqld 重置密碼
停止服務
# systemctl 啟動的使用這個停止 $ sudo systemctl stop mysql # mac 本機,可以使用這個或可視化界面停止 $ sudo mysql.server stop
使用
mysqld_safe
命令啟動MySQL
服務,跳過權(quán)限檢查,執(zhí)行后需要回車下$ sudo mysqld_safe --skip-grant-tables &
登錄
MySQL
服務,并創(chuàng)建新的臨時用戶,擁有root
權(quán)限# 無需密碼,會直接登入 $ mysql -u root # 刷新權(quán)限 mysql> FLUSH PRIVILEGES; # 創(chuàng)建一個臨時用戶 temp_root 及 temp_password mysql> CREATE USER 'temp_root'@'localhost' IDENTIFIED BY 'temp_password'; # 設置權(quán)限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'temp_root'@'localhost' WITH GRANT OPTION; # 修改好后退出 MySQL mysql> exit
停止
MySQL
服務,并重新啟動密碼登入,并使用ALTER
命令修改root
用戶密碼# 1、停止 MySQL 服務上面有,第一條就是 # 2、重啟啟動 MySQL 服務,并使用密碼登入 # systemctl 啟動的使用這個重新啟動 $ sudo systemctl start mysql # mac 本機,可以使用這個或可視化界面啟動 $ sudo mysql.server start # 3、臨時用戶密碼登錄 $ mysql -u temp_root -p # 4、這里的 'new_password' 是要設置的新密碼,可以根據(jù)需要進行修改。此命令將修改 root 用戶在本地 MySQL 服務上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 5、修改好后退出 MySQL mysql> exit # 6、停止 MySQL 服務上面有,第一條就是 # 附:如果再次使用 mysql -u root 這樣免密登錄是不成功的,停止重啟后會失效。
再次使用
mysqld_safe
命令啟動MySQL
服務,跳過權(quán)限檢查,刪除臨時用戶$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'temp_root'@'localhost'; mysql> DROP USER 'temp_root'@'localhost'; mysql> exit
再次重啟
MySQL
服務,并使用修改好的root
密碼登入# 1、停止 MySQL 服務上面有,第一條就是 # 2、重啟啟動 MySQL 服務,并使用密碼登入 # systemctl 啟動的使用這個重新啟動 $ sudo systemctl start mysql # mac 本機,可以使用這個或可視化界面啟動 $ sudo mysql.server start # 3、密碼登錄 $ mysql -u root -p
三、使用 MySQL 安全性模式重置密碼
停止服務
# systemctl 啟動的使用這個停止 $ sudo systemctl stop mysql # mac 本機,可以使用這個或可視化界面停止 $ sudo mysql.server stop
啟動
MySQL
安全性模式$ sudo mysqld_safe --skip-grant-tables --skip-networking &
登錄
MySQL
服務,并使用mysqladmin
命令重置密碼# 無需密碼,會直接登入 $ mysql -u root mysql> FLUSH PRIVILEGES; # 這里的 'new_password' 是要設置的新密碼,可以根據(jù)需要進行修改。此命令將修改 root 用戶在本地 MySQL 服務上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
停止
MySQL
安全性模式$ sudo killall mysqld_safe # 如果在本地機器上執(zhí)行上面命令無法停止安全模式,可以通過殺死進程方式解決 # 1、列出 mysqld_safe 的進程 $ ps aux | grep mysqld_safe # 2、拿到 PID 全部殺死,應該是第二列,就幾位純數(shù)字的,如果不知道可以單獨輸出 $ ps aux 看一下。 $ sudo kill -9 xxx xxx ...
停止
MySQL
服務,并重新啟動密碼登入即可# 1、停止 MySQL 服務上面有,第一條就是,如果通過 $ sudo kill 可以一起就殺死了。 # 2、重啟啟動 MySQL 服務,并使用密碼登入 # systemctl 啟動的使用這個重新啟動 $ sudo systemctl start mysql # mac 本機,可以使用這個或可視化界面啟動 $ sudo mysql.server start # 3、密碼登錄 $ mysql -u root -p # 附:如果再次使用 mysql -u root 這樣免密登錄是不成功的,停止重啟后會失效。
四、使用 my.cnf 重置密碼
該方式跟上面
方式一
基本一致,只是將命令中的跳過權(quán)限指令寫到my.cnf
中,修改好后再移除。在修改
my.cnf
之前一定要關閉mysql
進程,關閉mysql
,不然可能會遇到mysql
的sock
不能連接的問題!停止服務
# systemctl 啟動的使用這個停止 $ sudo systemctl stop mysql # mac 本機,可以使用這個或可視化界面停止 $ sudo mysql.server stop
打開
my.cnf
,沒有則創(chuàng)建一個$ sudo vim /etc/my.cnf
進入
vim
編輯器編輯之后,找到[mysqld]
,按鍵盤的i
鍵進入編輯模式,在[mysqld]
后面任意一行添加skip-grant-tables
用來跳過密碼驗證的過程。按ESC
退出編輯,鍵入:wq
,回車即保存并退出。[mysqld] skip-grant-tables
啟動
mysqld
服務# systemctl 啟動的使用這個重新啟動 $ sudo systemctl start mysql # mac 本機,可以使用這個或可視化界面啟動 $ sudo mysql.server start
登錄
MySQL
服務,并使用mysqladmin
命令重置密碼# 無需密碼,會直接登入 $ mysql -u root # 這里的 'new_password' 是要設置的新密碼,可以根據(jù)需要進行修改。此命令將修改 root 用戶在本地 MySQL 服務上的密碼。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 刷新權(quán)限 mysql> FLUSH PRIVILEGES; # 修改好后退出 MySQL mysql> exit
再次打開
my.cnf
,移除剛才添加的skip-grant-tables
,保存重啟MySQL
服務,并使用新的密碼登入。
到此這篇關于Mysql忘記密碼怎么重置密碼的實現(xiàn)步驟的文章就介紹到這了,更多相關Mysql忘記密碼重置密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql安裝報錯unknown?variable?‘mysqlx_port=0.0‘簡單解決過程
這篇文章主要給大家介紹了關于mysql安裝報錯unknown?variable?‘mysqlx_port=0.0‘的解決過程,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-08-08