private-logs mysql创建用户及权限管理

2024年 7月 20日 73.6k 0

创建用户

private-logs mysql创建用户及权限管理-1

# 创建所有ip均可访问的用户,例如:
CREATE USER 'user_name'@'%' IDENTIFIED BY 'password';

# 创建指定ip可以访问的用户,例如:
CREATE USER 'user_name'@'202.109.200.36' IDENTIFIED BY 'password';

# 指定当前IP网段可访问,可以通过%指定,例如:
CREATE USER 'strong'@'202.109.%' IDENTIFIED BY 'Strong9889';

private-logs mysql创建用户及权限管理-2

授权

private-logs mysql创建用户及权限管理-3

# 给指定用户所有权限
GRANT all privileges on . TO 'user_name'@'%';

# 给指定用户所有权限并允许用户将自身权限授权给其他用户
GRANT all privileges on . TO 'user_name'@'%' with grant option;

# 仅允许当前用户拥有'istrong_ebi_xhntest' schema(库)的权限
GRANT all privileges ON istrong_ebi_xhntest.* TO 'user_name'@'%';

# 仅给用户授权指定schema下的指定表,例如只给用户istrong_ebi_xhntest下的pp_test_table与aaa表权限
GRANT SELECT, INSERT, UPDATE ON istrong_ebi_xhntest.pp_test_table TO 'user_name'@'%';
GRANT SELECT, INSERT, UPDATE ON istrong_ebi_xhntest.aaa TO 'user_name'@'%';

# 注意修改完权限后需要刷新权限表,否则无法生效
flush privileges;

private-logs mysql创建用户及权限管理-4

示例

需求:创建一个用户名 test 授权istrong下 ss_sys 开头的表 + test_back 开头的表,增改查的权限

private-logs mysql创建用户及权限管理-5

CREATE USER 'test '@'%' IDENTIFIED BY 'testpwd';

# 执行以下语句生成的脚本对用户进行授权
SELECT concat('GRANT SELECT, INSERT, UPDATE ON ',table_schema,'.',table_name,' TO \'test\'@\'%\';') gt
FROM information_schema.tables
WHERE table_schema = 'istrong' AND table_name LIKE 'ss_sys%' or table_name LIKE 'test_back%';

FLUSH PRIVILEGES;

private-logs mysql创建用户及权限管理-6

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论