文章目录
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系统中用户的权限有很多种。
2.2.创建仅用于本地登陆的数据库用户
创建用户的命令格式:
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'
1)创建用户
创建一个用户名为jiangxl的用户,并设置密码为123456,只允许本地服务器访问。
createuser'jiangxl'@'localhost' identified by'123456';
jiangxl用户已经创建完成,jiangxl用户的Host字段为localhost,仅允许本机登陆。
2)验证是否只有本机可以正常登陆
在数据库服务器中使用mysql命令用jiangxl用户登录到系统,可以正常登陆,并且只显示了一个information_schema的数据库,那是因为还没有进行授权操作,在Windows系统中使用navi就会发现没有权限登陆,因此也验证了localhost只能由本机登陆。
2.3.创建一个可以在任何地方登陆的数据库用户
将localhost换成%即可,%号表示通配符,在用户名后面填写%号后就可以在任何的地方去登陆数据库。
createuser'jxl'@'%' identified by'123456';
验证结果,既可以在MySQL服务器登陆jxl用户,又可以在Windows的Navicat中以jxl用户登录MySQL数据库。
2.4.修改用户的密码
修改用户密码的命令格式:
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;
alteruser'jxl'@'%' identified with mysql_native_password BY'123.com';
2.5.修改用户的Host属性
修改用户的属性,将jiangxl用户仅能在本地连接数据库的属性修改为可以在任意地方连接数据。
MySQL数据库的用户都保存在mysql.user这张表中,我们可以在这张表中修改jiangxl用户的Host字段的值,即可完成属性的修改。
update mysql.userset Host ='%'whereUser='jiangxl';
flush privileges;
表中记录已修改,目前jiangxl用户已经可以从远程访问MySQL数据库了。
验证无误。
2.6.删除用户
删除用户的命令格式:
DROP USER '用户名'@'主机名'
dropuser'jxl'@'%';
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。