新手小白最近学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 '新密码';
这篇博客介绍了MYSQL中的DCL(数据控制语言),包括用户管理的基础操作,如创建、删除用户,修改密码,以及权限管理,如全局、数据库、表和列的权限赋予与撤销。此外,还讲解了如何禁止用户远程登录及解决忘记密码的方法。
1万+

被折叠的 条评论
为什么被折叠?



