之前我们有讲过mysql的基本使用,创建用户,删除用户,创建数据库,删除数据库,显示数据库等。今天来讲讲给某个用户特定权限。
之前讲过的我就不再重复说明了。现在讲讲今天要讲的几个命令。
一、显示当前用户的所有权限
show grants for [用户名]
二、赋予某个用户对某个表特定的权限
grant create on [数据库名].* to [用户名]@'%';//赋予创建数据表的权限
grant alter on [数据库名].* to [用户名]@'%';//赋予修改数据表的权限
grant drop on [数据库名].* to [用户名]@'%';//赋予删除数据表的权限
说明:*代表这个数据库下的任意表,如果要限制某张表,请将*改为特定表的名字。
三、删除某个用户对某个表的特定权限
revoke create on [数据库名].* from [用户名]@'%';//删除创建数据表的权限
revoke alter on [数据库名].* from [用户名]@'%';//删除修改数据表的权限
revoke drop on [数据库名].* from [用户名]@'%';//删除删除数据表的权限
四、给某个用户赋予与删除某个数据库的完全权限
grant all privileges on [数据库名].* to [用户名]@’%’
revoke all privileges on [数据库名].* from [用户名]@’%’
注:其中,"privileges" 可以省略。
五、给用户接近root用户的超级权限与删除相关权限
grant all privileges on *.* to [用户名]@’%’
revoke all privileges on *.* from [用户名]@’%’
常用的应该也就这些了,下面讲一下user的host位填写的%代表什么,请大家看下面那张表。
% | 匹配所有主机 |
localhost | 不会被解析成IP地址,直接通过UNIXsocket连接 |
127.0.0.1或其他ip | 会通过TCP/IP协议连接,并且只能在本机访问 |
剩下的如果还有什么不懂的,可以到百度,沃航吧留言。