mysql中的权限管理之用户管理

今天在学习mysql的用户管理时,发现的小问题,特记录。
1.创建用户主要的方式有两种
 1) grant all privileges on db_name.* to user_name@'ip_address' identified by 'password';
2)直接操作用户表
2.用户的删除有以下三种方式
 1)直接操作用户user表,删除相应的记录,但是此处要注意,如果之前该用户不是通过上面的第二种直接 操作用户表添加,则在db表中,该用户的相关权限信息 并没有删除,在以后再创建与该用户相同名称的用户时,会发现新创建的用户比船舰时设置的权限要大(可能除了指定的数据库权限信息外还有其他数据库的相关权限)
2)drop user user_name@‘ip_address’;
  注意用drop user删除用户时,如果不指定后面的@‘ip_address‘,则默认删除的是'@'%''的用户,如果没有会给出错误提示。
  用drop user删除用户会避免第一种方法中不删除db表中权限信息的缺陷。
3)revoke和delete配合使用
  先用revoke回收待删除用户的所有权限信息:
   revoke all privileges on *.* from 'user_name'@'ip_address';
  然后删除user表中的该用户记录:
  delete from user where user = 'user_name' and host 'ip_address';