DCL操作
mysql数据库权限问题:
- root:
即 超级管理员,拥有所有权限(可以干任何事情)- 权限账户:
只拥有部分权限(CURD)
例如:只能操作某个数据库的某张表
那么,在这里,本人来讲解下 权限的种类:
种类:
- select
- insert
- delete
- update
- drop
- create
- all
(表示以上权限都拥有)
那么,现在本人来讲解下有关DCL的相关语句和函数:
相关语句和函数:
1. 查询用户密码:
Select password('root');
2. 查询数据库用户:
SELECT * FROM USER;
3. 密码加密:
与Java中的hashcode()一样一样,属于单向加密
md5(要加密的字符串);
4. 修改密码:
UPDATE USER SET PASSWORD=PASSWORD('密码字符串') WHERE USER='管理员用户名';
5. 分配权限账户:
-
方式1:
语法:
GRANT 权限 ON 数据库名.表名 TO '用户名'@'localhost' IDENTIFIED BY '密码';
说明:
- @ 后面可以是localhost 也可以是ip
也可以给%
%代表任意一台计算机都可以连接上来- 分配多个权限,用逗号隔开
例如:
GRANT SELECT,DELETE ON mydb.employee TO 'eric'@'localhost' IDENTIFIED BY 'youzg666';
-
方式2:
语法:
INSERT INTO USER (HOST, USER, PASSWORD, select_priv, insert_priv, ...) VALUES ('localhost', '用户名', PASSWORD('密码'), '权限是否分配标记', '权限是否分配标记', ...);
在这里,本人对以上语法做一下说明:
说明:
上述语法中的 权限是否分配标记 取值:
Y:分配该权限
N:不分配该权限
例如:
INSERT INTO USER (HOST, USER, PASSWORD, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y');
6. 删除用户:
语法:
Delete FROM user Where User='用户名' and Host='localhost';
例如:
Delete FROM user Where User='eric' and Host='localhost';
那么,本篇博文的知识点在这里就讲解完毕了。
(请观看本人博文 —— 《数据库 —— 专栏总集篇》)