Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用

首先准备好了以下这些包:Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第1张图片

 然后直接通过rpm -ivh来安装

rpm -ivh mysql-com*

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第2张图片

 启动mysql服务

systemctl start mysqld

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第3张图片

 查看初始随机密码

cat /var/log/mysqld.log  | grep 'temporary password'

 使用初始密码登录mysql

mysql -uroot -p'7jX3k4ocza<2'

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第4张图片

 这个时候,你会发现无法show databases;会出现报错提醒: You must reset your password using ALTER USER statement before executing this statement

 告诉你需要修改密码,但是无论是查看密码策略还是use database都无法使用,

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第5张图片

默认初始的策略是最少8个字节,所以设置8个字符以上就好了

set password for root@'localhost' ='trtest12';

mysql -uroot -p'trtest12'

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第6张图片

 查看密码策略:  

 SHOW VARIABLES LIKE 'validate_password%'

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第7张图片

可以修改下长度: 

set global validate_password_length=6;

也可以使用其他命令来修改,比如在忘记密码的情况下,可以去编辑/etc/my.cnf  加一句 skip-grant-tables

skip-grant-tables

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第8张图片

 重启下服务 systemctl restart mysqld,就可以直接无需密码进入;

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第9张图片

 这个时候,通过set修改就不行了,会出现提醒:

可以使用 

update user set authentication_string=password("tanrao") where user='root';

然后再去 /etc/my.cnf  注释下刚才的跳过密码检测,重启下服务,就可以用新密码登录了,

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第10张图片

 Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第11张图片

这里需要注意, 如果直接使用

 update user set authentication_string="tanrao" where user='root';

查询的时候authentication_string是显示明密,这个是有问题,无法登录mysql;Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第12张图片

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第13张图片

 

select user,authentication_string  from user where user='root';

Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第14张图片

显示加密的情况下,变更的密码才能使用。

还有可以使用alter user user() identified by '123456' 里修改当前用户的密码,也是需要符合密码的安全策略哈Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第15张图片

 关于 mysql 密码策略相关参数;命令 SHOW VARIABLES LIKE 'validate_password%'
1)validate_password_length  固定密码的总长度;
2)validate_password_dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)validate_password_special_char_count 整个密码中至少要包含特殊Linux下通过包安装 mysql 5.7(非mariadb)并改密码使用_第16张图片字符的个数;

你可能感兴趣的:(数据库,linux,mysql,ssh)