【数据库】DCL操作

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 '密码';

说明

  1. @ 后面可以是localhost 也可以是ip
    也可以给%
    %代表任意一台计算机都可以连接上来
  2. 分配多个权限,用逗号隔开

例如:

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';

那么,本篇博文的知识点在这里就讲解完毕了。
(请观看本人博文 —— 《数据库 —— 专栏总集篇》)

你可能感兴趣的:(【数据库】DCL操作)