1.Linux 中 MySQL 資料庫重置密碼
停止服務:systemctl stop mysql
開啟 my.cnf(沒有則建立一個):vim /etc/my.cnf
在 [mysqld] 下新增:skip-grant-tables;
[mysqld] skip-grant-tables
啟動資料庫:systemctl start mysqld
重置密碼:
#無需密碼,直接登入 mysql -uroot -p #設定密碼 mysql>alter user 'root'@'localhost' identified by 'new_password'; #重新整理許可權 mysql>flush privileges; #修改後,退出 mysql>exit
再次開啟 my.cnf,移除剛新增的 skip-grant-tables,儲存重啟 mysql 服務,使用新密碼登入
如果設定密碼時遇見報錯:ERROR 1290 (HY000): The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement
執行:mysql>flush privileges;
2.Windows 中 MySQL 資料庫重置密碼
管理員執行cmd,進入mysql安裝目錄下的bin目錄
net stop mysql
mysqld --skip-grant-tables
開啟第二個cmd視窗
空密碼登入
將密碼置為空(操作和Linux一致)