Mysql数据库基础之视图和用户管理(五)

在这里插入图片描述

视图

1. 什么是视图

视图(View)是一个虚拟表。同真实表类似,视图包含一系列行和列数据。行和列数据来源于自由定义视图查询所引用的表,并且在引用视图时动态生成。

使用视图的目的在于:

  • 隐藏原始表中的某些信息。
  • 方便关联表查询。

2. 创建视图

CREATE VIEW 视图名[(列列表)]
  AS 一条查询语句

3. 删除视图

DROP VIEW 视图名;

4. 查看视图信息

select * from information_schema.views;

5. 对视图的操作

对视图可以像对待表一样进行操作,但是由于视图只是虚拟表,所以你对视图的任何操作,最终都会反映到视图背后的表上。

MySQL 用户管理

MySQL 是一个多用户数据库管理系统,除了默认存在的 root 用户外可以额外地在创建用户,设置密码,并指定新用户对数据库的操作权限。

以上所说操作依赖于超级管理员账户 root ,即只有 root 账户才能执行上述所说操作。

1.创建新用户

使用 CREATE USER 语句可以创建新账户。

CREATE USER <用户名>@<主机名> IDENTIFIED WITH <认证插件> BY '<密码>';

例如:

CREATE USER tom@% IDENTIFIED WITH mysql_native_password BY '123456';

警告
不要使用其它的、间接的方式来创建型账户。

2.删除已有用户

如果需要删除已有用户账户,使用 DROP USER 语句:

DROP USER <用户名>@<主机名>;

3.修改密码

如果需要修改已有用户账户的密码,使用 SET PASSWORD 语句:

这里涉及到一个 [[202209031907|认证插件]] 的概念。

  • mysql 8.0.4 及以后
ALTER USER '<用户名>'@'<主机名>' IDENTIFIED WITH mysql_native_password BY '<新密码>';
FLUSH PRIVILEGES; 
  • mysql 8.0.4 之前
SET PASSWORD FOR <用户名>=PASSWORD('<新密码>');
FLUSH PRIVILEGES; 

MySQL 访问权限管理

在新建用户后必须分配访问权限,因为「用户账号」和「访问权限」是两个独立的概念:

  • 用户账号决定是否可以连接、登陆数据库;

  • 访问权限决定了能对数据库做哪些操作。

因此,纯粹的新用户逻辑上没有任何使用价值(他们可以登录、连接到 MySQL,但不能进行任何数据库操作)

在进行权限判断、控制时,MySQL 可以细化到设置用户从 A 电脑登陆的时候有某种权限,从 B 电脑登陆时又是其他的权限。因为,它使用「用户名」和「主机名」来认定用户身份。例如 tom@127.0.0.1

在设置用户的权限时,如果没有特别指定是他从「哪台」电脑上登录时的权限,那么就使用 % 表示其从任何电脑上登录时的权限,即 用户名 等同于 用户名@% ,这里的 % 表示所有电脑。

为设置权限,使用 GRANT 语句,GRANT 要求你至少给出以下信息:

  • 要授予的权限
  • 要被授予访问权限的数据库或表
  • 用户名
GRANT 权限1, 权限2, ... ON 数据库.TO 用户名;

例如:

GRANT ALL ON scott.department TO root;

数据库.表名 部分可以使用通配符 *A.* 表示 A 数据库下的所有表。*.* 表示所有数据库中的所有表。

常见权限说明
ALL所有权限
SHOW DATABASES允许使用 SHOW DATABASES 语句
CREATE允许使用 CREATE TABLE 语句
DROP允许使用 DROP TABLE 语句
INSERT允许使用 INSERT 语句
DELETE允许使用 DELETE 语句
UPDATE允许使用 UPDATE 语句
SELECT允许使用 SELECT 语句
USAGE无访问权限

GRANT 操作的反向操作是 REVOKE,用它来剥夺特定的权限:

REVOKE 权限1, 权限2, ... ON 数据库.表名 FROM 用户名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值