MySQL权限配置:创建可新建数据库且排除test01查询权限的用户
解决MySQL用户权限配置问题
要实现你需要的权限组合,可通过权限授予+针对性撤销的方式配置,具体步骤如下:
1. 创建目标用户
先创建用户bduser000并设置密码(替换your_secure_password为实际密码):
CREATE USER 'bduser000'@'%' IDENTIFIED BY 'your_secure_password';
2. 授予全局CREATE权限(允许新建数据库)
授予用户全局CREATE权限,确保其能创建新数据库:
GRANT CREATE ON *.* TO 'bduser000'@'%';
3. 配置SELECT权限(排除test01库)
先给用户所有数据库的查询权限,再单独撤销test01库的查询权限,实现"排除指定库"的需求:
-- 授予所有数据库的SELECT权限 GRANT SELECT ON *.* TO 'bduser000'@'%'; -- 撤销test01库的SELECT权限 REVOKE SELECT ON test01.* FROM 'bduser000'@'%';
4. 刷新权限使配置生效
执行权限刷新命令,确保所有配置立即生效:
FLUSH PRIVILEGES;
权限验证
- 新建数据库:用户执行
CREATE DATABASE new_db;会成功,且自动拥有新建数据库的全部权限 - 查询权限:用户可正常访问除
test01外的所有数据库表,访问test01时会提示权限不足
内容的提问来源于stack exchange,提问作者Lev
相关产品推荐
相关产品推荐

