数据库的用户管理
MySQL的用户管理
- MySQL用户可以分为普通用户和root用户
- root用户是超级管理员,拥有所有权限
- 普通用户只拥有被授予的各种权限
MySQL用户管理的相关内容
权限表
- MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在MySQL数据库中
- 存储账户的权限信息表主要有:user、db、host、tables_priv、columns_priv和procs_priv
各个权限表的作用
- user表是MySQL中最重要的一个权限表,记录允许连接到服务器的账户信息,里面的权限是全局级的
- db表和host表是MySQL数据中非常重要的权限表,db表中存储了用户地某个数据库的操作权限
- host表中存储了某个主机对数据库的操作权限
- tables_priv表用来对表设置操作权限
- columns_priv表用来对表的某一列设置权限
- procs_priv表可以对存储过程和存储函数设置操作权限
账户管理
新建普通用户
- 创建新用户,必须有相应的权限来执行创建操作
- 在MySQL数据库中,可以使用CREATE USER或GRANT语句
使用CREATE USER语句创建新用户
- 语法格式:
CREATE USER “user”@“host” [IDENTIFIED BY “password”];
需求:使用CREATE USER创建一个用户,用户名是rose,密码是rosepwd,主机名是localhost
GRANT语句
- create user语句可以用来创建账户,通过该语句可以在user表中添加一条新的记录,但是create user语句创建的新用户没有任何权限,还需要使用grant语句赋值用户权限
- 而grant语句不仅可以创建新用户,还可以在创建的同时对用户授权
使用Grant语句创建新用户
- 语法格式:
GRANT privileges ON db.table TO “user”@“host” [IDENTIFIED BY “password”];
- db.table:db表示数据库,table表示数据表
需求:使用GRANT语句创建一个新的用户testuser,密码为testpwd,并授予用户对所有数据表的SELECT和UPDATE权限
。。。MySQL8.0不知道为嘛执行不成功
删除普通用户
- 在MySQL数据库中,可以使用DROP USER语句删除用户,也可以直