MySQL使用GRANT和REVOKE命令授予或撤销针对一个用户的权限。
授予的权限可以分为多个层级:
- 全局层级 数据库层级 表层级 列层级 子程序层级
全局级授权
GRANT ALL PRIVILEGES ON *.* to ‘nash_su’@’%’ identified by ‘linuxcast’;
数据库级授权
GRANT ALL PRIVILEGES ON linuxcast.* to ‘nash_su’@’%’ identified by ‘linuxcast’;
访问控制,阶段1:连接验证
当你试图连接MySQL服务器时,服务器基于你的身份以及你是否能通过供应正确的密码验证身份来接受或拒绝连接。如果不是,服务器完全拒绝你的访问,否则,服务器接受连接,然后进入阶段2并且等待请求。
你的身份基于2个信息:
- 你从那个主机连接
- 你的MySQL用户名
在user表Host值的指定方法:
Host值可以是主机名或IP号,或'localhost'指出本地主机。
你可以在Host列值使用通配符字符“%”和“_”。
访问控制, 阶段2:请求核实
一旦你建立了连接,服务器进入访问控制的阶段2。对在此连接上进来的每个请求,服务器检查你想执行什么操作,并检查相应的权限是否具备。
撤销所有授权
REVOKE ALL PRIVILEGES , GRANT OPTION FROM nash_su;