扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1) 权限的授予与回收
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的牧野网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!方法一:MySQL 的权限系统相关权限信息主要存储在几个被称为grant tables 的系统表中,即: mysql.User,mysql.db,mysql.Host,mysql.table_priv 和mysql.column_priv。手工修改了权限相关的表之后,都需要执行“FLUSH PRIVILEGES”命令重新加载MySQL的权限信息;
方法二:通过GRANT,REVOKE 或者DROP USER 命令来修改相关权限,则不需要手工执行FLUSH PRIVILEGES 命令;因为通过GRANT,REVOKE 或者DROP USER 命令所做的权限修改在修改系统表的同时也会更新内存结构中的权限信息。在MySQL5.0.2 或更高版本的时候,MySQL 还增加了CREATE USER 命令,以此创建无任何特别权限(仅拥有初始USAGE权限)的用户,通过CREATE USER 命令创建新了新用户之后,新用户的信息也会自动更新到内存结构中。所以,建议读者一般情况下尽量使用GRANT,REVOKE,CREATE USER 以及DROP USER 命令来进行用户和权限的变更操作,尽量减少直接修改grant tables 来实现用户和权限变更的操作。
2) 查看授予的权限
查看某个用户目前拥有的权限,这可以通过两个方式实现:
首先是通过执行“SHOW GRANTS FOR 'username'@'hostname'” 命令来获取之前该用户身上的所有授权。
另一种方法是查询grant tables 里面的权限信息。
3) 权限级别
MySQL 中的权限分为五个级别,分别如下:
权限 | Global | Database | Table | Column | Routine |
INSERT | Y | Y | Y | Y | |
SELECT | Y | Y | Y | Y | |
UPDATE | Y | Y | Y | Y | |
ALTER | Y | Y | Y | ||
CREATE | Y | Y | Y | ||
DELETE | Y | Y | Y | ||
DROP | Y | Y | Y | ||
INDEX | Y | Y | Y | ||
ALTER ROUTINE | Y | Y | Y | ||
EXECUTE | Y | Y | Y | ||
ALL [PRIVILEGES] | Y | Y | |||
CREATE ROUTINE | Y | Y | |||
CREATE TABLESPACE | Y | Y | |||
CREATE TEMPORARY TABLES | Y | Y | |||
CREATE VIEW | Y | Y | |||
EVENT | Y | Y | |||
GRANT OPTION | Y | Y | |||
LOCK TABLES | Y | Y | |||
PROXY | Y | Y | |||
REFERENCES | Y | Y | |||
SHOW DATABASES | Y | Y | |||
SHOW VIEW | Y | Y | |||
TRIGGER | Y | Y | |||
CREATE USER | Y | ||||
FILE | Y | ||||
PROCESS | Y | ||||
RELOAD | Y | ||||
REPLICATION CLIENT | Y | ||||
REPLICATION SLAVE | Y | ||||
SHUTDOWN | Y | ||||
SUPER | Y | ||||
USAGE | Y |
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流