mysql的权限管理
mysql的权限管理(grant的使用)
话不多说上代码
grant all privileges on *.* to 'test'@'192.168.150.150' identified by 'password' with grant option;
SQL描述
这里来解释一下这个语句到底是什么意思
给test用户赋予所有权限 可以操作所有库和表 用户名是test可以链接的主机IP是192.168.150.150密码是password权限也可以赋予给其他用户
分解解释
以上sql代表:grant 权限 on 库名.表名 to 用户名@主机名identified by 密码 with grant option;
权限
权限表示的是你要给当前用户赋予什么权限 如 select,insert,all privileges等
权限可以赋一个也可以赋多个 可以通过,分割来赋予多个权限,也可用通过all privileges来表示赋予所有权限,可以通过权限列表来查看可以赋予那些权限
库名
表示当前用户可以操作的数据库名称,也可以通过*表示所有数据库
表名
表示当前用户可以操作的表的名称,也可以通过*表示所有表
用户名
被赋予权限的用户名
主机名
表示可以链接数据库的IP地址如 192.168.150.150也可以用localhost,127.0.0.1,这两个来表示本机,还可以用%表示所有IP都可以访问(正式环境不推荐使用%)
密码
如标题所示就是生成用来登录数据库的密码 前面的 identified by和密码是一起的
with grant option
这个语句表示当前用户可以将自身拥有的权限赋予其他用户
链接符
on是用来链接 授权和授权的数据库表的,如:(all privileges on database.table).是用来链接库和表的,如(database.table)to是用来链接库.表和用户@主机的,如(database.table to user@host)@是用来链接用户名和主机的,如(user@host)
去除权限
REVOKE INSERT ON *.* FROM 'test'@'192.168.150.150';
这个去除权限语句表示的意识是【去除 所有库.所有表*.*的插入数据权限INSERT在test用户@192.168.150.150的主机中'test'@'192.168.150.150'】
刷新权限
添加完权限后通过执行一下SQL来刷新权限!
FLUSH PRIVILEGES;
其他
本文章参考地址如下
dev.mysql.com/doc/refman/5.7/en/gr...
dev.mysql.com/doc/refman/5.7/en/pr...
dev.mysql.com/doc/refman/5.7/en/fl...
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: