忘记原来的myql的root的密码

# /etc/init.d/mysqld stop
# mysqld_safe --skip-grant-tables &
&,表示在后台运行,不再后台运行的话,就再打开一个终端。
mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';   
mysql> flush privileges;
mysql> exit; 

密码修改完毕,重启服务用新密码登陆即可。

# /etc/init.d/mysqld restart


注意:我修改完密码依然不能登陆,总是提示:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


安全模式登陆MySQL,select * from user;发现host的值为‘127.0.0.1’,只要将host的值改为‘%’即可。