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则只允许本地登录。