zoukankan      html  css  js  c++  java
  • SQL-mysql用户权限管理

    一 前言

    本篇内容是关于MYSQL 数据库管理系统对数据库用户的权限相关的操作;学习本篇的基础是知识追寻者之前发布的MYSQL系列文章(公众号读者看专辑)

    《SQL-你真的了解什么SQL么?》

    《SQL-小白最佳入门sql查询一》

    《SQL-小白最佳入门sql查询二》

    《SQL- 多年开发人员都不懂的插入与更新删除操作注意点》

    《SQL-SQL事物操作》

    《SQL-Mysql数据类型》

    《SQL-mysql视图的前世今生》

    《SQL-mysql储存过程》

    《SQL-mysql游标与触发器》

    公众号:知识追寻者

    知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

    二 用户操作

    有关用户账号的信息储存mysql的MYSQL数据库,故如果需要查看用户信息,则需要进入MYSQL库;

    2.2查看用户信息

    user表储存了所有的登陆账号;使用mysql库查询user表中的user;

    use mysql;
    select `user` from user;
    

    打印

    user
    ----
    root
    mysql.session
    mysql.sys
    root
    

    2.3 创建用户

    CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码

    示例:创建用户 zszxz ,并指定密码为 zszxz;

    create user zszxz IDENTIFIED by 'zszxz';
    

    2.4 重名名用户

    rename user 旧的用户名 to 新的用户名;

    示例重命名 用户 zszxz 为 lsc

    rename user zszxz to lsc;
    

    2.5 删除用户

    drop user 用户名

    示例:删除用户lsc

    drop user lsc;
    

    2.6 更改密码

    SET PASSWORD FOR 用户名 = PASSWORD('密码')

    示例: 为用户 zszxz 更改密码为 lsc

    SET PASSWORD FOR zszxz = PASSWORD('lsc')
    

    三 权限操作

    3.1 查看用户权限

    SHOW GRANTS FOR 用户名

    示例: 查看用户zszxz 拥有的权限

    SHOW GRANTS FOR zszxz
    

    打印

    Grant for zszxz@%
    ----------------
    GRANT USAGE ON *.* TO 'zszxz'@'%'
    

    查询出一条权限,但 USAGE 表示 根本没有权限;

    3.2 授予权限

    GRANT 权限 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] 'password']

    常见的权限 all, create, drop, insert, update, delete,select;

    示例 给用户zszxz 分配 zszxz 库中的所有表的查询权限;

    grant select on zszxz.* to zszxz;
    

    再看下 zszxz变成 2 条

    Grant for zszxz@%
    ----------------
    GRANT USAGE ON *.* TO 'zszxz'@'%'
    GRANT SELECT ON `zszxz`.* TO 'zszxz'@'%'
    

    3.3 撤销权限

    REVOKE 权限列表 ON 表名 FROM 用户名

    示例:撤销 用户 zszxz 对 zszxz库里面所有表的查询操作;

    revoke select on  zszxz.* from zszxz
    

    3.4 权限列表

    使用授权,撤销权限时可以参考如下权限列表;

    ALL --- 除GRANT OPTION外的所有权限
    ALTER ---使用ALTER TABLE
    ALTER ROUTINE ---使用ALTER PROCEDURE和DROP PROCEDURE
    CREATE ---使用CREATE TABLE
    CREATE ROUTINE ---使用CREATE PROCEDURE
    CREATE TEMPORARY TABLES ---使用CREATE TEMPORARY TABLE
    CREATE USER ---使用CREATE USER、DROP USER、RENAME USER和REVOKE ALL PRIVILEGES
    CREATE VIEW ---使用CREATE VIEW
    DELETE ---使用DELETE
    DROP ---使用DROP TABLE
    EXECUTE ---使用CALL和存储过程
    FILE ---使用SELECT INTO OUTFILE和LOAD DATA INFILE
    GRANT OPTION ---使用GRANT和REVOKE
    INDEX ---使用CREATE INDEX和DROP INDEX
    INSERT ---使用INSERT
    LOCK TABLES ---使用LOCK TABLES
    PROCESS ---使用SHOW FULL PROCESSLIST
    RELOAD ---使用FLUSH
    REPLICATION CLIENT ---服务器位置的访问
    REPLICATION SLAVE ---由复制从属使用
    SELECT ---使用SELECT
    SHOW DATABASES ---使用SHOW DATABASES
    SHOW VIEW ---使用SHOW CREATE VIEW
    SHUTDOWN ---使用mysqladmin shutdown(用来关闭MySQL)
    SUPER ---使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER和SET GLOBAL。还允许mysqladmin调试登录
    UPDATE ---使用UPDATE
    USAGE ---无访问权限
    
  • 相关阅读:
    [代码]codeforces 150c Smart Cheater
    [存档]Young Tableau
    [转载][毁童年]种太阳
    [转载]教练,我也想再要一个同桌
    静夜
    CodeProject每日精选: Applications
    设计模式 装饰模式(Decorator) 精选经验合集
    槟榔味儿办公室
    盗不盗非常盗
    月末之周末
  • 原文地址:https://www.cnblogs.com/zszxz/p/13215844.html
Copyright © 2011-2022 走看看