MYSQL 之DCL数据控制语言

这篇博客介绍了MYSQL中的DCL(数据控制语言),包括用户管理的基础操作,如创建、删除用户,修改密码,以及权限管理,如全局、数据库、表和列的权限赋予与撤销。此外,还讲解了如何禁止用户远程登录及解决忘记密码的方法。

新手小白最近学MYSQL,一直想做做记录,但是忙着忙着就没时间去记录,今天闲,简单记录一下所学基础知识,目前来到了DCL——数据控制语言

用户管理

DCL主要用于管理用户和权限,一般开发人员很少接触
主要功能有:
1.创建用户
2.删除用户
3.修改密码
4.给用户赋予权限(创建、添加等)
5.撤销用户权限

创建用户
使用create user来创建用户 ,用户创建后没有任何权限。

creat user '用户名'[@'主机名'][identified by '密码'];(无中括号)

删除用户

drop user '用户名'[@'主机名'];

修改密码

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

根据数据库的层级架构,权限体系也是于此基础上赋予权限:
全局权限(适用于一个给定服务器中的所有数据库):
语法: GRANT ALL ON . , REVOKE ALL ON .
数据库权限 (适用于一个给定数据库的目标):
语法:GRANT ALL ON 数据库名字 .* ,REVOKE ALL ON 数据库名字.*
表权限(适用于一个给定表中所有列):
语法:GRANT ALL ON 数据库名字.表名 , REVOKE ALL ON 数据库名字.表名
列权限…以此类推
子程序权限(存储操作权限)
各类权限的信息储存在表 user、db、table_priv、column_priv、proc_priv中

权限管理

grant授权,revoke撤销

#授权与撤销
grant all privileges on 数据库名字.表名 to '用户名'[@'主机名'];
revoke (同上)
#刷新权限
flush privileges;
#查看权限
show grant for '用户名'['主机名'];

使用权限时,可以指定是哪类权限。

使用权限时,可以指定是哪类权限

禁止用户远程登录

将主机名%(表示任意)改为localhost或其他指定IP
修改时可以使用

update user set host='localhost' where user='xx'
select user 可以查看用户信息

最后,忘记密码的解决方法
关闭服务器——关闭权限验证——修改root密码——重启/刷新

#关闭权限验证 在cmd使用语法
mysql --default-file="配置文件my.ini的路径" --console --skip-grant-tables --shared-memory 

然后直接连接mysql即可

#修改密码
alter user 'root'@'localhost' identified by '新密码';
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值