用户和权限管理:
语法
grant 权限 on 数据库.数据表 to '用户' @ '主机名';
例:给 xiaogang 分配所有的权限
grant all on *.* to 'xiaogang'@'%';
这个时候 xiaogang 就拥有了 所有权限了
权限列表
权限 |
说明 |
举例 |
usage |
连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。 |
mysql> grant usage on *.* to 'root′@'localhost' identified by '123'; |
该权限只能用于数据库登陆,不能执行任何操作;且usage权限不能被回收,也即REVOKE用户并不能删除用户。 |
||
file |
拥有file权限才可以执行 select ..into outfile和load data infile…操作,但是不要把file, process, super权限授予管理员以外的账号,这样存在严重的安全隐患。 |
mysql> grant file on *.* to root@localhost; |
mysql> load data infile '/home/mysql/pet.txt' into table pet; |
||
super |
这个权限允许用户终止任何查询;修改全局变量的SET语句;使用CHANGE MASTER,PURGE MASTER LOGS。 |
mysql> grant super on *.* to root@localhost; |
mysql> purge master logs before 'mysql-bin.000006′; |
||
select |
必须有select的权限,才可以使用select table |
mysql> grant select on pyt.* to 'root′@'localhost'; |
mysql> select * from shop; |
||
insert |
必须有insert的权限,才可以使用insert into ….. values…. |
mysql> grant insert on pyt.* to 'root′@'localhost'; |
mysql> insert into shop(name) values('aa'); |
||
update |
必须有update的权限,才可以使用update table |
mysql> update shop set price=3.5 where article=0001 and dealer='A'; |
delete |
必须有delete的权限,才可以使用delete from ….where….(删除表中的记录) |
mysql> grant delete on pyt.* to 'root′@'localhost'; |
mysql> delete from table where id=1; |
||
alter |
必须有alter的权限,才可以使用alter table |
mysql> alter table shop modify dealer char(15); |
alter routine |
必须具有alter routine的权限,才可以使用{alter |drop} {procedure|function} |
mysql>grant alter routine on pyt.* to 'root′@' localhost ‘; |
mysql> drop procedure pro_shop; |
||
Query OK, 0 rows affected (0.00 sec) |
||
create |
必须有create的权限,才可以使用create table |
mysql> grant create on pyt.* to 'root′@'localhost'; |
drop |
必须有drop的权限,才可以删除库、表、索引、视图等 |
mysql> drop database db_name; |
mysql> drop table tab_name; |
||