MySQL更改用户密码的四种方法
1. 用 set password
命令
需要先登录MySql
set password for 用户名@localhost = password('新密码')
2. 用update
直接更新user表
需要先登录MySql
use mysql;
update user set password=password('新密码') where user='root' and host='localhost';
flush privileges;
3. 用 mysqladmin
命令
mysqladmin -u用户名 -p旧密码 password 新密码
4. 忘记root密码
windows:
- 停止MySQL服务
net stop mysql
- 管理员权限打开cmd窗口,到mysql\bin目录下(即mysqld.exe所在目录)
- 设置启动MySQL服务时跳过权限表认证
mysqld --skip-grant-tables
(MySQL8.0.x版本使用mysqld --console --skip-grant-tables --shared-memory
) - 再开一个新的cmd窗口,同样转到mysql\bin目录。
- 输入mysql回车。
- 连接权限数据库:
use mysql;
。 - 改密码:
update user set password=password("新密码") where user="root";
。 - 刷新权限:
flush privileges;
。 - 退出
quit;
- 此时如果无法登录就重启系统。
linux:
- 停止MySQL服务
service mysqld stop
- 修改mysql的配置文件my.conf(一般在/etc目录下)
vi /etc/my.cnf
- 在文件的[mysqld]标签下添加一句:
skip-grant-tables
- 然后wq保存退出
- 重启数据库
service mysqld start
- 直接连数据库
mysql -u root
- 连接权限数据库:
use mysql;
。 - 改密码:
update user set password=password("新密码") where user="root";
。 - 刷新权限:
flush privileges;
。 - 退出
quit;
- 把第3步加的那句话去掉,然后重启mysql,然后就可以使用新密码登录了。