mysql 5.7怎么创建数据库和用户,并且授权该新建用户在新建数据库上的权限?

在 MySQL 5.7 中,可以使用以下步骤创建数据库和用户,并授权该用户在新建数据库上的权限:

创建数据库

使用 MySQL 的命令行客户端或者图形化管理工具,如 phpMyAdmin 等,连接到 MySQL 服务器,登录具有足够权限的用户账号,如 root 用户,然后执行以下 SQL 语句创建数据库:

CREATE DATABASE IF NOT EXISTS user;

上述语句中的 user 是要创建的数据库名称,IF NOT EXISTS 关键字可以确保如果数据库已经存在,则不会重复创建,避免出现错误。

创建用户

执行以下 SQL 语句创建用户:

CREATE USER 'user'@'%' IDENTIFIED BY 'userpassword';

上述语句创建了一个名为 user的用户,% 表示该用户可以从任何主机连接到 MySQL 服务器,如果只想限制在特定的主机上访问,可以将 % 替换为具体的主机 IP 地址或主机名,userpassword是用户的密码。

授权用户在新建数据库上的权限

执行以下 SQL 语句为用户 user 授权在数据库 user 上的权限:

GRANT ALL PRIVILEGES ON user.* TO 'user'@'%';
FLUSH PRIVILEGES;

第一条语句将数据库 user的所有权限授予用户 user,user.* 表示数据库 user中的所有表和对象,ALL PRIVILEGES 表示所有权限,包括查询、插入、更新、删除等。第二条语句用于刷新 MySQL 的权限缓存,使授权立即生效。

执行完上述步骤后,用户 user就可以使用密码 userpassword从任何主机连接到 MySQL 服务器,并对数据库 user 拥有所有权限。

如果发生错误,

mysql> CREATE USER 'user'@'%' IDENTIFIED BY 'userpassword';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

查看当前密码策略

可以先通过以下命令查看 MySQL 5.7 当前设置的密码策略相关变量及其取值:

SHOW VARIABLES LIKE 'validate_password%';

执行该命令后,会展示出如 validate_password_length(密码长度要求)、validate_password_policy(密码策略等级,如 LOW、MEDIUM、STRONG)等相关变量的值,这样就能清楚知晓当前密码需要满足哪些具体要求了。

调整密码策略(可选)

如果只是在测试环境或者想要临时降低密码策略要求以便创建用户,可以通过以下方式修改密码策略变量:

SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password_length=4;

上述命令中,第一条语句将密码策略等级设置为 LOW(最低要求等级),第二条语句把密码长度要求降低到了 4 个字符。不过需要注意,在生产环境中不建议随意这样调整密码策略,因为这会降低数据库的安全性,正常做法还是设置符合要求的强密码。

设置符合要求的密码

MySQL 5.7 默认的密码策略要求密码有一定长度(通常不少于 8 个字符),且要有一定的复杂度(包含大小写字母、数字、特殊字符等),还可能限制不能使用常见简单密码等。

你可以重新设置一个满足当前密码策略要求的密码,例如将密码设置为 Ksf@1234,然后再执行创建用户的语句:

CREATE USER 'user'@'%' IDENTIFIED BY 'Kfs@1234';

按照上述步骤操作,一般就能顺利创建用户了。创建好用户后,若之前临时调整了密码策略,可根据实际安全需求将密码策略相关变量再恢复到合适的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值