MySQL 8.0 (用户、权限、角色)

MySQL 8.0 中创建用户并授予特定数据库权限
在这里插入图片描述

一、使用管理员账户登录 MySQL

mysql -u root -p

二、创建用户 ‘kan’ 并设置密码(MySQL 8.0 语法)

CREATE USER 'kan'@'%' IDENTIFIED WITH mysql_native_password BY 'your_strong_password_here';
'kan'@'%'表示用户可以从任何主机连接(如需限制可改为特定IP,如 'kan'@'192.168.1.%')
WITH mysql_native_password是 MySQL 8.0 的认证插件(兼容旧客户端)
请将 your_strong_password_here替换为强密码(建议包含大小写字母、数字和特殊字符)

三、授予 special 数据库的所有权限

GRANT ALL PRIVILEGES ON special.* TO 'kan'@'%';

四、刷新权限使更改生效

FLUSH PRIVILEGES;

五、验证权限设置

SHOW GRANTS FOR 'kan'@'%';

预期输出应类似:

+---------------------------------------------------+
| Grants for kan@%                                 |
+---------------------------------------------------+
| GRANT USAGE ON *.* TO `kan`@`%`                  |
| GRANT ALL PRIVILEGES ON `special`.* TO `kan`@`%` |
+---------------------------------------------------+

5.1 可选配置
– 仅授予部分权限(最小权限原则)

-- 只授予查询、插入、更新、删除权限
GRANT SELECT, INSERT, UPDATE, DELETE ON special.* TO 'kan'@'%';

– 或更细粒度控制

GRANT SELECT ON special.table1 TO 'kan'@'%';
GRANT SELECT, INSERT ON special.table2 TO 'kan'@'%';

5.2 使用更安全的认证插件(MySQL 8.0 默认)

CREATE USER 'kan'@'%' IDENTIFIED WITH caching_sha2_password BY 'your_strong_password_here';

注意:caching_sha2_password是 MySQL 8.0 默认插件,但某些旧客户端可能不支持。

5.3 设置密码策略
– 设置密码过期时间(90天)

ALTER USER 'kan'@'%' PASSWORD EXPIRE INTERVAL 90 DAY;

– 要求首次登录修改密码

ALTER USER 'kan'@'%' PASSWORD EXPIRE;

– 连接测试

mysql -u kan -p -D special

六、安全最佳实践
6.1 ​​限制访问来源​​(比 '%'更安全):

CREATE USER 'kan'@'192.168.1.%' IDENTIFIED BY 'password';

6.2 使用角色管理权限​​(MySQL 8.0+):

CREATE ROLE special_role;
GRANT SELECT, INSERT ON special.* TO special_role;
GRANT special_role TO 'kan'@'%';

6.3 定期审计权限​​:

SELECT * FROM mysql.db WHERE User='kan'\G

七、撤销权限或删除用户
– 撤销所有权限

REVOKE ALL PRIVILEGES ON special_check.* FROM 'kan'@'%';

– 删除用户

DROP USER IF EXISTS 'kan'@'%';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值