可以通过三种方式修改密码
方式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、用新密码登录
本文介绍通过mysqladmin命令、更新user表以及在忘记密码情况下的三种方法来修改MySQL密码。适用于Windows和Linux系统。
1479

被折叠的 条评论
为什么被折叠?



