mysql修改密码的四种方式

发布时间 2023-10-31 09:39:29作者: squaref
mysql修改密码的四种方式

1、set password命令 (需登录)

set password for root@localhost = password('123456');

2、mysqladmin (无需登录,但需要知道原密码)

mysqladmin -uroot -p12345678 password 123456 

3、用update修改user表 (需登录)

#使用数据库
use mysql;
update user set password=password('123456') where user='root' and host='localhost'; 

# 刷新权限
flush privileges; 

4、忘记密码处理方式(windows、linux都适用,这里说linux7)

# 关闭数据库服务
systemctl stop mysqld

#编辑配置文件my.cnf,mysqld 下增加一行
skip-grant-tables

#重启
systemctl start mysqld 

#免密登录
mysql -uroot -p
use mysql;
#注意数据库8.0不允许跳过策略进行修改密码 ,所以再开一个窗口,注销掉mysql配置文件中的skip-grant-tables
#5.7/5.5 版本在此时就可以直接改一个新密码了。
#ALTER USER 'root'@'%'IDENTIFIED BY '123456';

#清除密码为空
update user set authentication_string = '' where user = 'root'; 

#查询用户
select user,host from user;

#查看密码策略
SHOW VARIABLES LIKE 'validate_password%';

#根据结果在修改
ALTER USER 'root'@'%' IDENTIFIED BY '123456' ;
#'%',表示可以远程登录,并且是除服务器外的其他任何终端,%表示任意IP都可登录。
#'localhost',表示可以本地登录,即可以在服务器上登陆,localhost则只允许本地登录。