赞
踩
当成功创建用户后,几乎无法执行任何操作,需要为该用户分配适当的访问权限。在 mysql 中可以使用 grant
来添加或删除用户权限。当用户拥有grant
权限时就可以执行grant
语句。
查看 test 用户账号的权限
show grants for 'test'@'localhost';
运行结果:
+----------------------------------------------+
| Grants for test@localhost |
+----------------------------------------------+
| GRANT USAGE ON *.* TO `test`@`localhost` |
+----------------------------------------------+
USAGE ON *.*
表示没有该用户对任何数据库或表都没有权限。默认情况下,当新用户创建时,它没有权限。
添加权限语法:
grant priv_type
on privilege_level
to user
[with with_option [with_option]...]
*.*
),数据库(database.*
),表(database.table
)和列级别。权限名称 | 对应user表中的字段 | 说明 |
---|---|---|
select | Select_priv | 表示授予用户可以使用 select 语句访问特定数据库中所有表和视图的权限。 |
insert | Insert_priv | 表示授予用户可以使用 insert 语句向特定数据库中所有表添加数据行的权限。 |
delete | Delete_priv | 表示授予用户可以使用 delete 语句删除特定数据库中所有表的数据行的权限。 |
update | Update_priv | 表示授予用户可以使用 update 语句更新特定数据库中所有数据表的值的权限。 |
references | References_priv | 表示授予用户可以创建指向特定的数据库中的表外键的权限。 |
create | Create_priv | 表示授权用户可以使用 create table 语句在特定数据库中创建新表的权限。 |
alter | Alter_priv | 表示授予用户可以使用 alter table 语句修改特定数据库中所有数据表的权限。 |
show view | Show_view_priv | 表示授予用户可以查看特定数据库中已有视图的视图定义的权限。 |
create routine | Create_routine_priv | 表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。 |
alter routine | Alter_routine_priv | 表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。 |
index | Index_priv | 表示授予用户可以在特定数据库中的所有数据表上定义和删除索引的权限。 |
drop | Drop_priv | 表示授予用户可以删除特定数据库中所有表和视图的权限。 |
create temporary tables | Create_tmp_table_priv | 表示授予用户可以在特定数据库中创建临时表的权限。 |
create view | Create_view_priv | 表示授予用户可以在特定数据库中创建新的视图的权限。 |
excute routine | Execute_priv | 表示授予用户可以调用特定数据库的存储过程和存储函数的权限。 |
lock tables | Lock_tables_priv | 表示授予用户可以锁定特定数据库的已有数据表的权限。 |
all | Super_priv | 表示以上所有权限/超级权限 |
权限名称 | 对应user表中的字段 | 说明 |
---|---|---|
select | Select_priv | 授予用户可以使用 select 语句进行访问特定表的权限 |
insert | Insert_priv | 授予用户可以使用 insert 语句向一个特定表中添加数据行的权限 |
delete | Delete_priv | 授予用户可以使用 delete 语句从一个特定表中删除数据行的权限 |
drop | Drop_priv | 授予用户可以删除数据表的权限 |
update | Update_priv | 授予用户可以使用 update 语句更新特定数据表的权限 |
alter | Alter_priv | 授予用户可以使用 alter table 语句修改数据表的权限 |
references | References_priv | 授予用户可以创建一个外键来参照特定数据表的权限 |
create | Create_priv | 授予用户可以使用特定的名字创建一个数据表的权限 |
index | Index_priv | 授予用户可以在表上定义索引的权限 |
all | Super_priv | 所有的权限名 |
例:给 test 用户添加 people 数据库 student 表的所有权限:
grant all on person.student to 'test'@'localhost';
语法:
revoke priv_type
on privilege_level
from user
*.*
),数据库(database.*
),表(database.table
)和列级别。例:删除 test 用户向 “people 数据库 student” 表添加数据的权限
revoke insert on people.student from 'test'@'localhost';
该文章亦发表在个人网站,欢迎访问收藏:
网站链接:www.bitsof.cn
本文链接:MySQL使用grant管理用户权限 - BitsOf
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。