以下在centos測試通過。
1. 停止mysqld服務;
/etc/init.d/mysql stop
2. 用以下命令啟動MySQL,以不檢查權限的方式啟動;
cd /usr/local/mysql/bin
./mysqld_safe --skip-grant-tables &
或者
mysqld --skip-grant-tables &
3. 用空密碼方式使用root用戶登錄 MySQL;
./mysql -uroot -p
4. 修改root用戶的密碼;
update mysql.user set password=PASSWORD('newpass') where User='root';
flush privileges;
quit
重新啟動MySQL
/etc/init.d/mysql restart