MySQL修改密码及忘记密码三种最佳解决办法

可以通过三种方式修改密码

 

方式1:使用mysqladmin

1、打开cmd执行mysqladmin -uroot -p password

【注】

如果在linux下提示 -bash: mysqladmin: command not found

可以执行 ln -s /usr/local/mysql/bin/mysqladmin /usr/bin

2、提示输入原密码

3、提示输入新密码

4、重复输入新密码

方式2:使用update命令修改user表

1、进入数据库

2、use mysql

3、update user set authentication_string=password('新密码') whereuser='root' and host = 'localhost';

【注】

1、新版数据库下的user表中已经没有password字段了,而是将加密后的用户密码存储于 authentication_string字段中

2、原版命令是update user set password=password('新密码') where user='root' and host = 'localhost';

4、flush privileges;

5、退出重新使用新密码进入

方式3:忘记密码解决办法

windows下

1、将mysql服务关掉

2、打开cmd执行 mysqld -nt --skip-grant-tables

【注】

--skip-grant-tables的意思是启动mysql服务时跳过权限表认证

3、新打开一个cmd窗口执行执行mysql 或者 mysql -uroot

4、如果出现mysql命令符 > 则可以执行 use mysql

5、执行 update user set authentication_string=password('新密码') where user='root' and host = 'localhost';

6、flush privileges;

7、重新打开mysql服务进入

linux下

1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf

2、在[mysqld]下添加skip-grant-tables,然后保存并退出

3、重启mysql服务:service mysqld restart

4、重启以后,执行mysql命令进入mysql命令行

5、use mysql

6、update user set authentication_string=password('新密码') where user='root' and host = 'localhost';

【注】

1、新版数据库下的user表中已经没有password字段了,而是将加密后的用户密码存储于 authentication_string字段中

2、原版命令是update user set password=password('新密码') where user='root' and host = 'localhost';

7、把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart

8、用新密码登录

你可能感兴趣的:(MySQL修改密码及忘记密码三种最佳解决办法)