MySQL 用户规划及权限设置
1.MySQL用户规划原则
数据库一般划分为生产库,准生产库,测试库,开发库。
#生产库用户划分原则
##DBA:有所有权限,超级管理员权限
用户名:dbadmin_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
普通DBA管理某库:
GRANT ALL PRIVILEGES ON 库名 TO 'dbadmin_标识'@'IP' identified by '密码';
高级DBA管理所有库:
GRANT ALL ON *.* TO 'dbadmin_标识'@'IP' identified by '密码';
##应用程序:分配SELECT, INSERT, UPDATE, DELETE, EXECUTE, EVENT,TRIGGER FILE权限。
用户名:appadmin_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT INSERT,UPDATE,SELECT,DELETE,EXECUTE ON DBHWY.* TO 'appadmin_标识'@'IP';
GRANT FILE ON *.* TO 'appadmin'@'172.16.115.%';
##测试人员:select某些业务表权限,或某库。
用户名:dbread_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT SELECT ON 库名 TO 'dbread_标识'@'IP段' identified by '密码';
##开发人员:与测试人员权限一样,可为同个用户。
原则:对操纵所有的数据库对象,包括表、索引、视图、存储过程等,都必须经由DBA来
审核,决定是否执行,以及执行的详细步骤。
#准生产库用户划分原则
为保持数据库稳定性,准生产数据库要求与生产数据库一致。
#测试库库用户划分原则
##DBA:所有权限。
用户名:dbadmin_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
普通DBA管理某库:
GRANT ALL PRIVILEGES ON 库名 TO 'dbadmin_标识'@'IP' identified by '密码';
##应用程序:分配SELECT, INSERT, UPDATE, DELETE, EXECUTE, EVENT,TRIGGER FILE权限。
用户名:appadmin_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT INSERT,UPDATE,SELECT,DELETE,EXECUTE ON DBHWY.* TO 'appadmin_标识'@'IP';
GRANT FILE ON *.* TO 'appadmin'@'172.16.115.%';
##测试人员:有 SELECT 权限。
用户名:dbread_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT SELECT ON 库名 TO 'dbread_标识'@'IP' identified by '密码';
##开发人员:有 INSERT,UPDATE,SELECT,DELETE 权限。
用户名:dbwrite_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT INSERT,UPDATE,SELECT,DELETE ON 库名.* TO 'dbwrite_标识'@'IP' identified by '密码';
原则:DBA有所有权限,而且严格控制表结构的变更,不允许除了dba之外的人对测试环境数据库表结构
修改,以免影响测试人员测试。所有对测试库的表结构进行的修改必须由测试人员和DBA一起审核过后才能操作。
#开发库用户划分原则
##DBA:所有权限
##应用程序:分配SELECT, INSERT, UPDATE, DELETE, EXECUTE, EVENT,TRIGGER FILE权限。
用户名:appadmin_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT INSERT,UPDATE,SELECT,DELETE,EXECUTE ON DBHWY.* TO 'appadmin_标识'@'IP';
GRANT FILE ON *.* TO 'appadmin'@'172.16.115.%';
##测试人员:有库表结构以及数据的所有操作权限。(与开发人员一至)
##开发人员:有库表结构以及数据的所有操作权限。
用户名:dbwrite_标识
密码:英文字母大小写共5位以上+特殊字符1位以上+数字3位以上=9位以上
语句:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, REFERENCES, INDEX, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, EVENT, TRIGGER ON `HWYDB`.* TO 'dbwrite'@'172.16.115.%' identified by '密码';
原则:在开发数据库,测试人员、开发人员、数据分析人员对数据库中数据、表结构等
都有修改的权限,为不影响他人,在做操纵之前应以邮件方式通知大家。
权限 意义
ALL [PRIVILEGES] 设置除GRANT OPTION之外的所有简单权限
ALTER 允许使用ALTER TABLE
ALTER ROUTINE 更改或取消已存储的子程序
CREATE 允许使用CREATE TABLE
CREATE ROUTINE 创建已存储的子程序
CREATE TEMPORARY TABLES 允许使用CREATE TEMPORARY TABLE
CREATE USER 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
CREATE VIEW 允许使用CREATE VIEW
DELETE 允许使用DELETE
DROP 允许使用DROP TABLE
EXECUTE 允许用户运行已存储的子程序
FILE 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
INDEX 允许使用CREATE INDEX和DROP INDEX
INSERT 允许使用INSERT
LOCK TABLES 允许对您拥有SELECT权限的表使用LOCK TABLES
PROCESS 允许使用SHOW FULL PROCESSLIST
REFERENCES 未被实施
RELOAD 允许使用FLUSH
REPLICATION CLIENT 允许用户询问从属服务器或主服务器的地址
REPLICATION SLAVE 用于复制型从属服务器(从主服务器中读取二进制日志事件)
SELECT 允许使用SELECT
SHOW DATABASES SHOW DATABASES显示所有数据库
SHOW VIEW 允许使用SHOW CREATE VIEW
SHUTDOWN 允许使用mysqladmin shutdown
SUPER 允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。
UPDATE 允许使用UPDATE
USAGE “无权限”的同义词
GRANT OPTION 允许授予权限
--------------------------------------------------------------------------------------
ALL或ALL PRIVILEGES
代表指定权限等级的所有权限。
ALTER
允许使用ALTER TABLE来改变表的结构,ALTER TABLE同时也需要CREATE和INSERT权限。重命名一个表需要对旧表具有ALTER和DROP权限,对新版具有CREATE和INSERT权限。
ALTER ROUTINE
允许改变和删除存储过程和函数
CREATE
允许创建新的数据库和表
CREATE ROUTINE
允许创建创建存储过程和包
CREATE TABLESPACE
允许创建、更改和删除表空间和日志文件组
CREATE TEMPORARY TABLES
允许创建临时表
CREATE USER
允许更改、创建、删除、重命名用户和收回所有权限
CREATE VIEW
允许创建视图
DELETE
允许从数据库的表中删除行
DROP
允许删除数据库、表和视图
EVENT
允许在事件调度里面创建、更改、删除和查看事件
EXECUETE
允许执行存储过程和包
FILE
允许在服务器的主机上通过LOAD DATA INFILE、SELECT ... INTO OUTFILE和LOAD_FILE()函数读写文件
GRANT OPTION
允许向其他用户授予或移除权限
INDEX
允许创建和删除索引
INSERT
允许向数据库的表中插入行
LOCK TABLE
允许执行LOCK TABLES语句来锁定表
PROCESS
允许显示在服务器上执行的线程信息,即被会话所执行的语句信息。这个权限允许你执行SHOW PROCESSLIST和mysqladmin processlist命令来查看线程,同时这个权限也允许你执行SHOW ENGINE命令
PROXY
允许用户冒充成为另外一个用户
REFERENCES
允许创建外键
RELOAD
允许使用FLUSH语句
REPLICATION CLIENT
允许执行SHOW MASTER STATUS,SHOW SLAVE STATUS和SHOW BINARY LOGS命令
REPLICATION SLAVE
允许SLAVE服务器连接到当前服务器来作为他们的主服务器
SELECT
允许从数据库中查询表
SHOW DATABASES
允许账户执行SHOW DATABASE语句来查看数据库。没有这个权限的账户只能看到他们具有权限的数据库。
SHOW VIEW
允许执行SHOW CREATE VIEW语句
SHUTDOWN
允许执行SHUTDOWN语句和mysqladmin shutdown已经mysql_shutdown() C API函数
SUPER
允许用户执行CHANGE MASTER TO,KILL或mysqladmin kill命令来杀掉其他用户的线程,允许执行PURGE BINARY LOGS命令,通过SET GLOBAL来设置系统参数,执行mysqladmin debug命令,开启和关闭日志,即使read_only参数开启也可以执行update语句,打开和关闭从服务器上面的复制,允许在连接数达到max_connections的情况下连接到服务器。
TRIGGER
允许操作触发器
UPDATE
允许更新数据库中的表
USAGE
代表没有任何权限
mysql 指定了数据库权限 为什么还能看到 mysql sys mysql数据权限设计
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
mysql binlog查看指定数据库
mysql binlog查看指定数据库的方法。
mysql 二进制日志 MySQL -
如何用Prometheus监控hadoop集群监控
环境:主机名 IP 系统 说明 ubunt-1 192.168.1.144 ubuntu20.0.4 docker安装的Prometheus docker 192.168.
prometheus consul 服务发现 docker 服务器 -
rescourse在idea中如何加入
1.配置JVM的运行参数:help--edit VMoption--create(产生配置文件)大家可以根据自己电脑的配置更改里面的参数:我的64位系统,4G内存,原来的配置就可以了。2.debug代码方式:F7,如果有嵌套函数,就进入嵌套函数里。F8:即使有嵌套函数也不进入函数里,就在当前函数函数内运行,或者跳出当前函数,不会进入到另一个里面的函数中,而是直接运行完这个函数。F9:直接运行到下一
rescourse在idea中如何加入 idea 添加servlet依赖 tomcat maven java