啟動參數 --skip-grant-tables 讓 mysqld 不載入權限表,任何用戶無密碼即可登入並擁有所有權限,從而修改 root 密碼。
mysqld.exe / net stop mysqlsystemctl stop mysqld 或 service mysql stopmysqld --skip-grant-tables --consolemysqld_safe --skip-grant-tables &mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD('NewStrongPass!') WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
MySQL 5.7+ 字段為 authentication_string,5.6 為 password
mysql -u root -p 輸入新密碼登入成功--skip-grant-tables 進程mysql.user 表中 root 只允許 localhost/127.0.0.1 登入
