MySQL-Databases Control Language

DCL(管理用户、授权)

1.SLQ分类

  1. DDL:操作数据库和表
  2. DML:增删改表中的数据
  3. DQL:查询表中数据
  4. DCL:管理用户、授权

2.DBA:数据库管理员

3.DCL:管理用户、授权

  1. 添加用户
# 语法
USE mysql;

SELECT * FROM USER;


-- 添加用户语法
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

-- 添加本地用户

CREATE USER 'zzy'@'localhost' IDENTIFIED BY 'admin';

-- 添加任意客户端可以登录的用户
CREATE USER 'zzy'@'%' IDENTIFIED BY 'admin';

* 通配符: %表示可以在任意主机上使用用户登录数据库
  1. 删除用户
-- 删除用户语法
DROP USER '用户名'@'主机名';

-- 删除用户
DROP USER 'zzy'@'%';
  1. 修改用户密码:
-- 修改密码格式
UPDATE USER SET PASSWORD = PASSWORD('新密码')WHERE USER = '用户名';
-- 修改密码
UPDATE USER SET PASSWORD = PASSWORD('abcd') WHERE USER = 'remote_user';
 -- 刷新权限
FLUSH PRIVILEGES  -- 必须要刷新权限不然不生效

-- 第二种设置(修改)密码的方式
-- 修改密码的格式
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
-- 修改密码
SET PASSWORD FOR 'zzy'@'localhost' = PASSWORD('123');

  • mysql中忘记了root用户的密码?

    1. cmd -- > net stop mysql 停止mysql服务 --使用管理员运行cmd命令(步骤1的)

    2. 使用无验证方式启动mysql服务

      mysqld --skip-grant-tables
      
    3. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功

    4. update user set password = password('新密码') where user='root';
      
    5. 关闭两个窗口

    6. 打开任务管理器,手动结束mysqld.exe的进程

    7. 启动mysql服务

    8. 使用新密码登录。

  1. 权限管理

  2. 查询用户:

    1. 切换到mysql数据库

      USE mysql;
      
    2. 查询user表

      select * from user;
      
  3. 查询权限:

    -- 查询权限
    
    -- 查询权限语法
    SHOW GRANTS FOR '用户名'@'主机名';
    
    -- 查询权限
    SHOW GRANTS FOR 'remote_user';
    
    SHOW GRANTS FOR 'root';
    
    
  4. 授予权限

    -- 授予权限
    grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
    
    -- 授予权限 授予‘remote_user’ 对db3中emp表的选择权限
    GRANT SELECT ON db3.`emp` TO 'remote_user'@'%';
    
    -- 授予权限 增删改
    GRANT SELECT,DELETE,UPDATE ON db3.`emp` TO 'remote_user'@'%';
    
    -- 授予全部权限
    GRANT ALL ON *.* TO 'zzy'@'localhost';
    
    
  5. 撤销授权

    -- 撤销授权语法
    REVOKE  权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
    
    -- 撤销remote_user update 和 delete权限
    REVOKE UPDATE,DELETE ON db3.`emp` FROM 'remote_user'@'%';
    
    SHOW GRANTS FOR 'remote_user';
    
posted @ 2021-01-13 23:01  withLevi  阅读(75)  评论(0编辑  收藏  举报