前提:忘掉了ROOT密码,进不了数据库,当然谈不上下面的修改了,你需要这样做:
LINUX系统:
以安全模式启动MYSQL
mysql.server stop
safe_mysqld --skip-grant-tables --skip-networking
这样就可以跳过权限表的验证直接进入数据库了
至于WINDOWS下面如何进入,看mysqld里面有skip-grant-tables参数,应该是用它没错,但具体的操作没试过,哪位知道的告诉一下。
进入之后,接下来就是修改口令了:
1、重启mysql(4.1之前的版本)
use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
再重启mysql
2、重启mysql(4.1及其之后的版本)
use mysql
>update user set password=old_password("new_pass") where user="root";
>flush privileges;
再重启mysql
3、SET PASSWORD FOR root@localhost = PASSWORD('newpassword') #4.1及其之后版本
SET PASSWORD FOR root@localhost = OLD_PASSWORD('newpassword')#4.1之前版本
4、使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd