mysql修改登录用户的密码

mysql5.7即mysql7.0 的修改方式

1.如果是使用docker里装的mysql
首先使用
[root@localhost /]# docker ps #查看当前正在运行的容器,也会展示容器的id
[root@localhost /]# docker exec -it 容器id /bin/bash
root@b46d2c5dcd13:/# mysql -u root -p密码
mysql>update user set authentication_string = ‘新密码’ where user = ‘‘root’’;
mysql>flush privileges;

#退出登录
mysql>exit
root@b46d2c5dcd13:/# mysql -u root -p新密码
mysql> #如果能进来说明已经修改成功了。

mysql5.8即mysql8.0的修改方式

1.如果是使用docker里装的mysql
首先使用
[root@localhost /]# docker ps #查看当前正在运行的容器,也会展示容器的id
[root@localhost /]# docker exec -it 容器id /bin/bash
root@b46d2c5dcd13:/# mysql -u root -p密码
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
或者
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

mysql>flush privileges;

#退出登录
mysql>exit
root@b46d2c5dcd13:/# mysql -u root -p新密码
mysql> #如果能进来说明已经修改成功了。

如果修改完密码,发现旧密码和新密码都登录不进来怎么办?

在my.cnf文件里的 [mysqld]下添加 skip-grant-tables ,重启mysql。然后再登录,提示输入密码的时候,直接Enter就跳过输入密码了。直接进入mysql >

发现设置密码老报错

可以先看一下当前密码是多少
select user,host,authentication_string from mysql.user;
将密码重置为空串
update mysql.user set authentication_string=‘’ where user=‘root或其他用户名’;
重新设置密码,按照mysql5.7或mysql5.8的方式。

猜你喜欢

转载自blog.csdn.net/adminstate/article/details/131174580