MySQL 的 root 密碼忘了,要怎麼強制重新設定呢?
MySQL 強制重新設定 root 密碼
先記錄官方做法:MySQL 8.0 Reference Manual :: B.3.3.2 How to Reset the Root Password
- sudo su - mysql # 切換到 mysql user
- kill `cat /mysql-data-directory/host_name.pid` # 找到 MySQL pid,kill 掉
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; # 將此行存成檔案:/home/me/mysql-init
- mysqld --init-file=/home/me/mysql-init & # 啟動 MySQL 會執行將 'root'@'localhost' 的密碼換掉
- 重新啟動 mysqld 即可用修改後的密碼進入
以前的土炮做法:
- stop or kill mysqld
- mysqld_safe --skip-grant-tables &
- mysql -u root
- mysql> use mysql;
- mysql> UPDATE user SET Password=PASSWORD("password") WHERE User='root';
- mysql> flush privileges;
- mysql> quit