一、在Windows下
1. 打开命令行窗口,停止mysql服务:
C:\> net stop mysql
2. 在mysql的安装目录下找到 mysqld-nt.exe,执行下面的命令启动mysql:
C:\> mysqld-nt --skip-grant-tables
3. 新开一个命令行窗口,执行如下命令:
a) C:\> mysql
b) mysql> use mysql
c) mysql> update user setpassword=password("new_password")where user="root";
d) mysql> flush privileges;(可选)
e) mysql> exit
4. 重新启动mysql-nt服务
5. 使用新密码登录
注意:
² update语句的第一个User是表名,第二个User是表中的字段。第一个Password是表中的字段,第二个Password()是加密函数。new_password是新的密码。
² flush privileges可以不用添加。但是如果添加了,一定要注意Host字段不能是Localhost。因为用了这个之后就不能用Localhost连接了。可以把这个字段改成IP,或者通配符。
update user sethost="192.168.0.1" where user="root";
二、在linux下
1. 如果 MySQL 正在运行,首先杀之:
killall -TERM mysqld
2. 启动 MySQL :
bin/safe_mysqld --skip-grant-tables &
3. 就可以不需要密码就进入 MySQL了。
a) mysql -uroot –p
b) mysql> use mysql
c) mysql> update user setpassword=password("new_pass") where user="root";
d) mysql> flush privileges;(可选)
4. 重新启动MySQL