数据库技术九(数据库权限控制)

SQL分类

        1. DDL:操作数据库和表

        2. DML:增删改表中数据

        3. DQL:查询表中数据

        4. DCL:管理用户,授权

DCL:管理用户,授权

        1. 管理用户

            1. 添加用户:

语法形式:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

            2. 删除用户:

DROP USER 'zhangsan'@'localhost'

            3. 修改用户密码:

方法一:
UPDATE USER SET PASSWORD=PASSWORD('456') WHERE USER='zhangsan'
方法二:
SET PASSWORD FOR 'zhangsan'@'localhost'=PASSWORD('456')

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

                    1. cmd -- > net stop mysql 停止mysql服务

                        * 需要管理员运行该cmd

                    2. 使用无验证方式启动mysql服务: mysqld --skip-grant-tables

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

                    4. use mysql;

                    5. update user set password = password('你的新密码') where user = 'root';

                    6. 关闭两个窗口

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

                    8. 启动mysql服务

                    9. 使用新密码登录。

    4. 查询用户:

                -- 1. 切换到mysql数据库

                USE myql;

                -- 2. 查询user表

                SELECT * FROM USER

                 通配符: % 表示可以在任意主机使用用户登录数据库

        2. 权限管理:

              1. 查询权限:

-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';
SHOW GRANTS FOR 'Simeon'@'%';

            2. 授予权限:

             授予权限

              grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

-- 给张三用户授予所有权限,在任意数据库任意表上
GRANT ALL ON *.* TO 'Simeon'@'localhost';

            3. 撤销权限:

                -- 撤销权限:

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';

 

你可能感兴趣的:(数据库技术)