mysql的权限授予于回收html
人生最大的困难就是懒。mysql
开始躁动起来。有关mysql的权限授予于回收sql
用户权限管理主要有如下做用:
1. 能够限制用户访问哪些库、哪些表
2. 能够限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操做
3. 能够限制用户登陆的IP或域名
4. 能够限制用户本身的权限是否能够受权给别的用户数据库
1. 查看当前系统中的用户
bash
mysql> select host,user from mysql.user; +-----------+------------------+ | host | user | +-----------+------------------+ | % | root | | % | test | | localhost | debian-sys-maint | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+------------------+ 6 rows in set (0.00 sec)
2. 授予权限session
mysql> grant all on *.* to cmz@'%' identified by 'cmz'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> select host,user from mysql.user; +-----------+------------------+ | host | user | +-----------+------------------+ | % | cmz | | % | root | | % | test | | localhost | debian-sys-maint | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+------------------+ 7 rows in set (0.00 sec) mysql> flush privileges; # 刷新 Query OK, 0 rows affected (0.00 sec)
all privileges:表示将全部权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。ide
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示全部数据库,全部表。若是我要指定将权限应用到test库的user表中,能够这么写:test.userspa
to:将权限授予哪一个用户。格式:”用户名”@”登陆IP或域名”。%表示没有限制,在任何主机均可以登陆。好比:'leco'@'192.168.0.%',表示leco这个用户只能在192.168.0 IP段登陆htm
identified by:指定用户的登陆密码ci
with grant option:表示容许用户将本身的权限受权给其它用户
能够使用GRANT给用户添加权限,权限会自动叠加,不会覆盖以前授予的权限,好比你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。
用户详情的权限列表请参考MySQL官网说明:http://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html
3. 查看授予的权限
mysql> show grants for cmz; +------------------------------------------+ | Grants for cmz@% | +------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'cmz'@'%' | +------------------------------------------+ 1 row in set (0.00 sec)
4. 回收权限
mysql> revoke delete,create on *.* from cmz; Query OK, 0 rows affected (0.00 sec) mysql> show grants for cmz\G; *************************** 1. row *************************** Grants for cmz@%: GRANT SELECT, INSERT, UPDATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'cmz'@'%' 1 row in set (0.00 sec) ERROR: No query specified
能够见删除和建立的权限都没有啦。