Mysql003:用户管理

前言:本章节讲解的是mysql中的用户管理,包括(管理数据用户)、(控制数据库的访问权限)。

目录

1. 查询用户

2. 创建用户

3. 修改用户密码

4. 删除用户

5. 权限控制

1. 查询用户

在mysql数据库中, 用户信息都是存储在一个名为“mysql”数据库中的“user”表中的。我们通过切换数据库, 查询user表来查询用户,如下:

user mysql;

select * from user;

Host:主机(决定了用户可以在哪台电脑连接数据库,localhost代表本机)

User:用户名(登录数据库时用到的用户名)

Mysql003:用户管理_第1张图片

2. 创建用户

create user '用户名'@'主机IP' identified by '密码';

-- 创建一个只能在本机上访问数据库的用户

create user 'user_name'@'localhost' identified by '123456';

-- 创建一个可以在任意电脑上访问数据库的用户(将主机IP该为%即可)

create user 'user_name'@'%' identified by '123456';

创建用户时, 默认是没有权限的,需要赋予权限,后面会讲解。创建的用户登录时可能会提示:Public Key Retrieval is not allowed, 解决办法请看该文章:https://mp.csdn.net/mp_blog/creation/editor/133103310

3. 修改用户密码

alter user '用户名'@'主机IP' identified with mysql_native_password by '新密码';

-- MySQL 8.0 版本及以上

SET PASSWORD FOR '用户名'@'主机IP' = '新密码';

4. 删除用户

drop user '用户名'@'主机IP';

5. 权限控制

mysql中定义很多种权限,但是常用只有以下几种

权限关键字 权限说明
ALL,ALL PRIVILEGES 赋予用户所有权限,包括数据库和表级别的权限
SELECT 查询表数据权限
INSERT 插入表数据权限
UPDATE 修改表数据权限
DELETE 删除表数据权限
CREATE 创建数据库、表权限
DROP 删除数据库、表、视图权限
GRANT OPTION 允许用户将自己拥有的权限授予其他用户
ALTER 允许用户修改已有的数据库或表结构
SHOW DATABASES 允许用户查看所有数据库的列表
SHOW VIEW 允许用户查看视图的定义

5.1 查询权限

SHOW GRANTS FOR '用户名'@'主机名';

示例:

show grants for 'user_name'@'localhost';

5.2 授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

示例:给user_name用户,赋予test数据库下的students表所有权限

GRANT ALL ON test.students TO 'user_name'@'%';

示例:给user_name用户,赋予(所有数据库)(所有表)的(查询权限),所有用*代替

GRANT ALL ON *.* TO 'user_name'@'%';

5.3 撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

举例:这个依葫芦画瓢,很简单的啦,去除user_name用户的test库students表的所有权限。

REVOKE ALL ON test.students FROM 'user_name'@'%';

你可能感兴趣的:(oracle,数据库)