mysql5.7密码策略及修改技巧

MySQL5.7为root用户随机生成了一个密码,打印在error_log中,关于error_log的位置,如果安装的是RPM包,则默认是 /var/log/mysqld.log 。
于是我们可以在mysqld.log中找到初始密码串:

.#cat /var/log/mysqld.log | grep password

用初始密码串登陆即可
.#mysql -u root -p”password”

根据官方文档可以发现策略
必须满足:数字、小写字母、大写字母 、特殊字符、长度至少8位

修改密码复杂度:

法一:
在/etc/my.cnf配置文件中增加
[mysqld]
validate_password=off #关闭密码复杂度验证
default_password_lifetime=0 #设置密码不会过期

然后#service mysqld restart或者#systemctl restart mysqld.service重启mysqld

法二:
更改密码策略为LOW

set global validate_password_policy=0;

更改密码长度

set global validate_password_length=0;

如此即可随意设置密码:

update mysql.user set authentic
ation_string=password(‘123456’) where user=’root’ and Host = ‘localhost’;
或者
set password for ‘root’@’localhost’=password(‘123456’);

当然,我们还有一种办法,就是在最最开始的时候,不设置初始密码:
只需要在初始化时指定–initialize-insecure即可,比如:
mysqld –initialize-insecure –datadir=/var/lib/mysql –basedir=/usr –user=mysql

数据用户操作

select Host,User,Password from mysql.user; #查询所有用户
create user test identified by ‘123456’; #创建用户及密码
grant all privileges on . to ‘test’@’%’identified by ‘123456’ with grant option;
.#授权所有地址都可以访问

all代表接受所有操作,比如 select,insert,delete….; . 代表所有库下面的所有表;% 代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址;

然后刷新mysql用户权限相关表;

flush privileges ;

参考:https://www.jianshu.com/p/5779aa264840

你可能感兴趣的:(数据库)