0


第13讲:DCL类型的SQL语句之用户管理

文章目录

1.DCL类型的SQL语句基本概述

DCL类型的SQL语言全称为Data Control Language,中文名称为数据控制语言,主要是用来创建数据库的用户和管理用户对数据库的访问权限的。

例如在数据库中有itjiang和ithong两个用户,itjiang用户拥有对数据库A以及数据库C的操作权限,ithong用户拥有对数据库B的操作权限,这种数据库用户管理的SQL语句就是DCL类型。

2.DCL语句之用户管理

2.1.查询数据库中存在哪些用户

select*from mysql.user;

在mysql库的user表中,记录了数据库系统中全部的用户信息,第一个字段Host表示该用户能够从哪里可以对数据库进行访问和连接,如果对应的值为localhost,那么就表示只能在数据库的服务器上访问数据库系统,不能够进行远程访问。

User一列是用户的名称,在MySQL的系统中,都是通过Host和User来标识一个用户的组成,后面的其他字段都是该用户能够拥有的权限,在MySQL系统中用户的权限有很多种。

image-20220510221844447

2.2.创建仅用于本地登陆的数据库用户

创建用户的命令格式:

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'

1)创建用户

创建一个用户名为jiangxl的用户,并设置密码为123456,只允许本地服务器访问。

createuser'jiangxl'@'localhost' identified by'123456';

jiangxl用户已经创建完成,jiangxl用户的Host字段为localhost,仅允许本机登陆。

image-20220510222530529

2)验证是否只有本机可以正常登陆

在数据库服务器中使用mysql命令用jiangxl用户登录到系统,可以正常登陆,并且只显示了一个information_schema的数据库,那是因为还没有进行授权操作,在Windows系统中使用navi就会发现没有权限登陆,因此也验证了localhost只能由本机登陆。

image-20220510223038710

2.3.创建一个可以在任何地方登陆的数据库用户

将localhost换成%即可,%号表示通配符,在用户名后面填写%号后就可以在任何的地方去登陆数据库。

createuser'jxl'@'%' identified by'123456';

验证结果,既可以在MySQL服务器登陆jxl用户,又可以在Windows的Navicat中以jxl用户登录MySQL数据库。

image-20220510224603307

2.4.修改用户的密码

修改用户密码的命令格式:

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;
alteruser'jxl'@'%' identified with mysql_native_password BY'123.com';

image-20220510223858525

2.5.修改用户的Host属性

修改用户的属性,将jiangxl用户仅能在本地连接数据库的属性修改为可以在任意地方连接数据。

MySQL数据库的用户都保存在mysql.user这张表中,我们可以在这张表中修改jiangxl用户的Host字段的值,即可完成属性的修改。

update mysql.userset Host ='%'whereUser='jiangxl';
flush privileges;

表中记录已修改,目前jiangxl用户已经可以从远程访问MySQL数据库了。

image-20220510224344673

验证无误。

image-20220510225123238

2.6.删除用户

删除用户的命令格式:

DROP USER '用户名'@'主机名'
dropuser'jxl'@'%';
标签: sql mysql 数据库

本文转载自: https://blog.csdn.net/weixin_44953658/article/details/126723012
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。

“第13讲:DCL类型的SQL语句之用户管理”的评论:

还没有评论