权限系统介绍

  • Mysql用户的身份认证不光包括用户名,还要包含连接主机(以下两个jom被认为i不是同一个用户)
show grants for 'jom'@'office.example.com'
show grants for 'jom'@'home.example.com'
  • 授权系统的作用是授予来自某个主机的某个用户可以查询,插入,修改,删除等数据库操作权限。
  • 不能明确的指定拒绝某个用户的连接
  • 权限控制(授权与回收)的执行语句包括create user,grant,revoke
  • 授权后的权限都会存放在Mysql的内部数据库中(数据库名叫:mysql)并在数据库启动之后把权限信息复制到内存中

 权限级别介绍

  • 全局性的管理权限,作用于整个Mysql实例级别
  • 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上
  • 数据库对象级别的权限,作用于指定的数据库对象上(表,视图等)或者所有的数据库对象上
  • 权限存储在Mysql库的user,db,table_priv,columns_priv,and procs_priv这几个系统表中,待MySQL实例启动后就加载到内存中

查看mysql.sys用户的对数据库表的权限

select * from mysql.tables_priv where user='mysql.sys' and host='localhost';

回收用户的所有权限

revoke all privileges on *.* from cdq@'localhost';