目錄
背景
1.首先停止數據庫
2.使用免密模式啟動
3.修改密碼
3.1刷新權限配置
3.2修改密碼
4.殺掉mysql
5.重新正常啟動mysql
6.查看mysql狀態
7.驗證
7.1首先服務器本地驗證
7.2遠程驗證
背景
數據庫密碼忘記了,急的抓耳撓腮,怎么也想不起來,于是就開始重置吧
1.首先停止數據庫
sudo systemctl stop mysqld
2.使用免密模式啟動
sudo mysqld --skip-grant-tables --user=mysql &
3.修改密碼
3.1刷新權限配置
首先需要刷新權限,否則無法修改密碼
flush privileges;
3.2修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
flush privileges;
exit;
如果需要遠程登錄,執行下面的命令后再退出(完整版示例)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼' WITH GRANT OPTION;
flush privileges;
exit;
4.殺掉mysql
sudo pkill mysqld
5.重新正常啟動mysql
sudo systemctl start mysqld
6.查看mysql狀態
sudo systemctl status mysqld
如果返回狀態為?active (running) 則正常
正常狀態示例
[root@VM-0-4-tencentos opt]# sudo systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-09-10 10:17:40 CST; 13min agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 3836004 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, sta>Process: 3835887 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 3836007 (mysqld)Tasks: 38 (limit: 48996)Memory: 225.0MCGroup: /system.slice/mysqld.service└─3836007 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid9月 10 10:17:38 VM-0-4-tencentos systemd[1]: Starting MySQL Server...
9月 10 10:17:40 VM-0-4-tencentos systemd[1]: Started MySQL Server.
lines 1-15/15 (END)
7.驗證
7.1首先服務器本地驗證
mysql -uroot -p
輸入你的新密碼
正常登錄即表明修改成功
7.2遠程驗證
使用navicat或者DBeaver等工具驗證是否可以遠程連接