DCL-MySQL数据库管理相关
用户管理
相关库: mysql
相关表:user
-
添加用户
#通过MySQL自带的DCL语句创建用户 CREATE USER '用户名'@'主机名' IDENTIFIED BY '用户密码'; #例: CREATE USER 'admin'@'%' IDENTIFIED BY 'admin'; #创建一个账户为admin,密码为admin,可远程或者本地登录的账户
-
查询用户
#切换至mysql库 use mysql; #用户查询 SELECT * FROM user;
字段解析:
Host
指该用户能在哪些主机中登录(比如: 是否可以远程或者只能本地登录等)。 常用有以下几种值:-
localhost
只能本地登录到数据库 -
%
可在任意(本地或远程)主机上登录数据库
-
-
删除用户
# 删除用户 DROP USER '用户名'@'主机名'; #例: DROP USER 'admin'@'%' #删除一个可在任何位置登录数据的admin账户
-
修改用户密码
#修改密码: MySQL5.7之前的版本 UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER='用户名' #修改密码: MySQL5.7之后版本: 经测试,貌似没效果 UPDATE USER SET authentication_string=PASSWORD('新密码') WHERE USER='用户名' # 使用DCL语法 SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
-
密码忘记情况下,修改密码操作如下
windows下: 1. 第一步,停止MySQL服务(需要管理员运行终端) net stop [mysql服务名] 2. 第二步,使用无验证方式启动MySQL服务: mysqld --skip-grant-tables 3. 第三步,打开新终端窗口,直接输入mysql命令后回车(不需要登录验证的相关参数),便可直接进入至MySQL客户端中。 4. 第四步,直接使用修改用户密码的语句修改用户密码。 5. 关闭窗口,手动结束mysqld.exe进程 6. 重启mysql服务器
授权管理
-
查询权限
#查询权限 SHOW GRANTS FOR '用户名'@'主机名';
-
授予权限
#授予权限 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名'; #例如: 给已存在的admin用户(任何主机下)添加可查询全部数据库、可操作的全部权限 GRANT ALL ON *.* TO 'admin'@'%';
-
撤销权限
#撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名'; #注: 之前授权的数据库名.表名需要一致(目前测试是这样)
网友评论