mysql -u root -p
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('newpass') WHERE User='root';
mysql> FLUSH PRIVILEGES;
/etc/my.cnf,[mysqld] 下加入 skip-grant-tablesservice mysqld restartmysql -u rootUPDATE user SET Password=PASSWORD('newpass') WHERE User='root'; FLUSH PRIVILEGES;skip-grant-tables,重啟 MySQL 恢復正常mysqld_safe --skip-grant-tables 直接啟動 (無需改配置檔)
# 停止服務
service mysqld stop
# 或 killall mysqld
# 以跳過授權模式啟動 (背景執行)
mysqld_safe --skip-grant-tables &
# 另開終端無密碼登入修改密碼
mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
# 正常重啟
service mysqld restart
適用於無 safe_mysqld 的系統 (如 Ubuntu apt 安裝),改用 mysqld --skip-grant-tables &。
FLUSH PRIVILEGES 才生效mysql.user 表