«

Mysql新建用户、授权权限、访问控制等命令实战

时间:2025-3-24 10:36     作者:Anglei     分类: 数据库


-- 修改用户认证方式及密码(MySQL 8.0+默认使用caching_sha2_password插件)

ALTER USER '用户名'@'172.17.0.%' IDENTIFIED WITH caching_sha2_password BY '新密码';

-- ^ 主机名使用CIDR格式,172.17.0.% 表示允许172.17.0.0/24网段的所有主机连接
-- ^ caching_sha2_password是更安全的认证插件,比旧版mysql_native_password更安全

-- 授予特定权限(SELECT查询 + INSERT插入)

GRANT SELECT, INSERT ON 数据库.* TO '用户'@'主机';

-- ^ 数据库.* 表示授予该数据库下所有表的权限
-- ^ 最小权限原则:仅授予必要权限,避免使用ALL PRIVILEGES

-- 撤销所有权限及授权能力

REVOKE ALL PRIVILEGES, GRANT OPTION FROM '用户'@'主机';

-- ^ GRANT OPTION允许用户将自己的权限授予他人,撤销时需同时移除
-- ^ 执行后该用户将失去所有数据库操作权限,但账户仍保留

-- 创建新用户并设置密码(兼容旧版认证方式)

CREATE USER '用户名'@'172.17.0.%' IDENTIFIED BY '用户密码';

-- ^ 默认使用caching_sha2_password,若需兼容旧客户端可指定WITH mysql_native_password
-- ^ 密码复杂度建议:包含大小写字母、数字、特殊字符且长度≥12

-- 授予完全控制权限(慎用!)

GRANT ALL PRIVILEGES ON 数据库.* TO '用户名'@'172.17.0.%';

-- ^ 等效于赋予该用户对该数据库的超级用户权限
-- ^ 生产环境建议遵循最小权限原则,仅授予必要权限

-- 刷新权限使更改立即生效

FLUSH PRIVILEGES;

-- ^ 通常GRANT/REVOKE会自动刷新,但直接修改mysql系统表后需要手动执行
-- ^ 多用户环境执行后可使所有客户端立即获得最新权限配置

本文完结,相关标签: mysql

 版权所有:Anglei
 文章标题:Mysql新建用户、授权权限、访问控制等命令实战
 除非注明,本站文章如未特殊说明均为 MAXADA社区知识库 原创,且版权所有,请勿用于任何商业用途。

推荐阅读:

看完后感想如何?

路过(0)

雷人(0)

握手(0)

鲜花(0)

鸡蛋(0)
分享到: