这个问题分为一般用户密码的重置以及特权用户root的密码设置两类,分述如下:
一般用户
如果一般用户(如michael)忘记了密码,可以请root通过以下命令修改:
# mysql -p
Enter password: -输入MySQL中的root密码
mysql>set password for net00@localhost = password('123456’);
mysql> FLUSH PRIVILEGES ;
这样就可以将michael的密码改为123456了。
这里的root指的是MySQL的管理用户,而非系统特权用户root。两者尽管名称相同,但权限与密码却是独立的。
root
root 密码忘了,可按照下列方式处理:
Step1 先停掉MySQL
/etc/rc.d/init.d/mysql stop
Step2 以--skip-grant-table 的参数启动MySQL
safe_mysql --skip-grant-table&
Step3 更改root 密码
将密码设置为newpassword,如下所示:
# mysql mysql
mysql> UPDATE user SET password=password('newpassword')
WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> exit
Step4 停掉MySQL再重新启动
# mysqladmin -uroot -p shutdown
Enter password: //输入新设置的密码
# /etc/rc.d/init.d/mysql start