1. 用户管理
1.1 登录MySQL服务器
1.2 创建用户
1.3 修改用户
1.4 删除用户
1.5 设置当前用户密码
1.6 修改其它用户密码
1.7 MySQL8密码管理(了解)
2. 权限管理
2.1 权限列表
MySQL到底都有哪些权限呢?
mysql> show privileges;
(1) CREATE和DROP权限
,可以创建新的数据库和表,或删除(移掉)已有的数据库和表。如果将MySQL数据库中的DROP权限授予某用户,用户就可以删除MySQL访问权限保存的数据库。
(2) SELECT、INSERT、UPDATE和DELETE权限
允许在一个数据库现有的表上实施操作。
(3) SELECT权限
只有在它们真正从一个表中检索行时才被用到。
(4) INDEX权限
允许创建或删除索引,INDEX适用于已有的表。如果具有某个表的CREATE权限,就可以在CREATE TABLE语句中包括索引定义。
(5) ALTER权限
可以使用ALTER TABLE来更改表的结构和重新命名表。
(6) CREATE ROUTINE权限
用来创建保存的程序(函数和程序),ALTER ROUTINE权限用来更改和删除保存的程序, EXECUTE权限 用来执行保存的程序。
(7) GRANT权限
允许授权给其他用户,可用于数据库、表和保存的程序。
(8) FILE权限
使用户可以使用LOAD DATA INFILE和SELECT … INTO OUTFILE语句读或写服务器上的文件,任何被授予FILE权限的用户都能读或写MySQL服务器上的任何文件(说明用户可以读任何数据库目录下的文件,因为服务器可以访问这些文件)。
2.2 授予权限的原则
2.3 授予权限
给用户授权的方式有 2 种,分别是通过把 角色赋予用户给用户授权 和 直接给用户授权 。用户是数据库的使用者,我们可以通过给用户授予访问数据库中资源的权限,来控制使用者对数据库的访问,消除安全隐患。
3. 权限表
3.1 user表
user表是MySQL中最重要的一个权限表, 记录用户账号和权限信息
,有49个字段。如下图:
3.2 db表
3.3 tables_priv表和columns_priv表
3.4 procs_priv表
procs_priv表可以对 存储过程和存储函数设置操作权限
,表结构如图:
desc mysql.procs_priv;
4. 访问控制(了解)
4.1 连接核实阶段
4.2 请求核实阶段
5. 角色管理
- 角色是在 MYSQL 8.0 中引入的新功能。在MYSQL中,
角色是权限的集合
,可以为角色添加或移除权限。用户可以被赋予角色,同时也被授予角色包含的权限。对角色进行操作需要较高的权限。并且向用户账户一样,角色可以拥有授予和撤销的权限。 - 引入角色的目的是
方便管理拥有相同权限的用户
。恰当的权限设定,可以确保数据的安全性,这是至关重要的
。