今天在创建数据库时,出现错误。
![](https://img.haomeiwen.com/i14961947/fe490e882d5ee2a8.png)
推测一:
- 用户没有修改数据库权限
查看用户
select user,host from mysql.user;
查看用户权限,发现果然只有登录权限
show grants for 'lcf'@'%';
![](https://img.haomeiwen.com/i14961947/a663974800af7f9e.png)
说明:show grants for “lcf”@“localhost”; localhost代表lcf用户的本地权限
show grants for “lcf”@“%”; localhost代表lcf用户的外部连接权限
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。
赋予用户权限
grant all privileges on *.* to 'lcf'@'127.0.0.1' identified by '1234';
# 赋予新用户,从本地操作所有数据库.所有数据表的所有权限
grant all privileges on *.* to 'lcf'@'%' identified by '1234';
# 赋予新用户,从外部操作所有数据库.所有数据表的所有权限(没有外部客户端的IP限制,但本地有限制)
- 赋予用户对某个数据库的所有权限
grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
use mysql;
//授权jeecn用户拥有jeecn数据库的所有权限
grant all privileges on mysql.* to lcf@"%" identified by "1234";
flush privileges;
- 注释:遇到问题
Your password does not satisfy the current policy requirements
- 查看mysql密码策略
SHOW VARIABLES LIKE 'validate_password%';
- 修改mysql密码策略
设置密码的验证强度等级为LOW,修改密码长度为4
set global validate_password_policy=LOW;
set global validate_password_length=4;
- 关于 mysql 密码策略相关参数;
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;
6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
- 关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
网友评论