centos-mysql修改用户密码方式

 

方法1: 用SET PASSWORD命令 
首先登录MySQL。 
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123'); 

方法2:用mysqladmin 
格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123 

方法3:用UPDATE直接编辑user表 
首先登录MySQL。 
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges; 

------------------------------------------------------------------------另一种

MySQL8修改密码步骤

1,先在配置文件里加上 skip-grant-tables 重启mysql后免密登陆进入mysql

2,查看当前认证方式以及用户,默认是 caching_sha2_password 认证,
select host, user, authentication_string, plugin from user;

3,如果2是默认认证方式,则修改为密码认证为 mysql_native_password先

在配置文件里加上 default_authentication_plugin=mysql_native_password 后再次重启mysqld,免密登陆

4,不能直接修改密码,会报错。要先清空root密码:
update user set authentication_string='' where user='root';
flush privileges;

5,退出mysql, 删除/etc/my.cnf文件里的 skip-grant-tables ,再一次重启 mysql 服务,再次登陆的时候是空密码登陆:

mysql -u root -p

登陆后即可修改密码了:
ALTER USER 'root'@'%' IDENTIFIED BY '123456';

flush privileges;

完成。

----------------------------------------------------------------------------

方法4:在忘记root密码的时候,可以这样 
以windows为例: 
1. 关闭正在运行的MySQL服务。 
2. 打开DOS窗口,转到mysql\bin目录。 
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。 
6. 连接权限数据库: use mysql; 。 
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。 
7. 刷新权限(必须步骤):flush privileges; 。 
8. 退出 quit。 
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

posted on 2022-03-03 20:28  大兄弟666  阅读(1444)  评论(0编辑  收藏  举报