美文网首页
MySQL 新增账号并授权

MySQL 新增账号并授权

作者: x0e | 来源:发表于2019-08-28 21:53 被阅读0次

    环境: MySQL 5.7.26


    1.添加账号.
    CREATE user '用户名'@'作用域'  IDENTIFIED BY '密码';     
    

    所述作用域localhost代表本地 ,%代表任意主机,若开启远程访问,示例如下

    CREATE user 'user'@'%'  IDENTIFIED BY 'password';       #新增用户user密码为password可以在任意主机登陆
    
    2.删除账号
    DROP user '用户名'@'作用域';
    
    3.用户授权
    GRANT ALL PRIVILEGES ON '数据库'.* TO '用户名'@'作用域';    #添加用户某个数据库所有权限
    #GRANT ALL PRIVILEGES ON *.* TO '用户名'@'作用域';         #添加用户所有权限
    FLUSH PRIVILEGES;                                         #刷新系统权限表,使权限生效
    
    4.取消授权

    同上,若指定某个数据库,则取消指定数据库的所有授权,若使用*通配,则取消所有授权

    REVOKE ALL PRIVILEGES ON '数据库'.* FROM '用户名'@'作用域';
    FLUSH PRIVILEGES; 
    
    5.查看权限
    SHOW GRANTS FOR '用户名'@'作用域';
    

    权限整理如下:

    ALL或ALL PRIVILEGES      代表指定权限等级的所有权限。
    ALTER                   允许使用ALTER TABLE来改变表的结构,ALTER TABLE同时也需要CREATE和INSERT权限。重命名一个表需要对旧表具有ALTER和DROP权限,对新表具有CREATE和INSERT权限。
    ALTER ROUTINE           允许改变和删除存储过程和函数
    CREATE                  允许创建新的数据库和表
    CREATE ROUTINE          允许创建存储过程和包
    CREATE TABLESPACE       允许创建、更改和删除表空间和日志文件组
    CREATE TEMPORARY TABLES 允许创建临时表
    CREATE USER             允许更改、创建、删除、重命名用户和收回所有权限
    CREATE VIEW             允许创建视图
    DELETE                  允许从数据库的表中删除行
    DROP                    允许删除数据库、表和视图
    EVENT                   允许在事件调度里面创建、更改、删除和查看事件
    EXECUETE                允许执行存储过程和包
    FILE                    允许在服务器的主机上通过LOAD DATA INFILE、SELECT ... INTO OUTFILE和LOAD_FILE()函数读写文件
    GRANT OPTION            允许向其他用户授予或移除权限
    INDEX                   允许创建和删除索引
    INSERT                  允许向数据库的表中插入行
    LOCK TABLE              允许执行LOCK TABLES语句来锁定表
    PROCESS                 允许显示在服务器上执行的线程信息,即被会话所执行的语句信息。这个权限允许你执行SHOW PROCESSLIST和mysqladmin processlist命令来查看线程,同时这个权限也允许你执行SHOW ENGINE命令
    PROXY                   允许用户冒充成为另外一个用户
    REFERENCES              允许创建外键
    RELOAD                  允许使用FLUSH语句
    REPLICATION CLIENT      允许执行SHOW MASTER STATUS,SHOW SLAVE STATUS和SHOW BINARY LOGS命令
    REPLICATION SLAVE       允许SLAVE服务器连接到当前服务器来作为他们的主服务器
    SELECT                  允许从数据库中查询表
    SHOW DATABASES          允许账户执行SHOW DATABASE语句来查看数据库。没有这个权限的账户只能看到他们具有权限的数据库。
    SHOW VIEW               允许执行SHOW CREATE VIEW语句
    SHUTDOWN                允许执行SHUTDOWN语句和mysqladmin shutdown已经mysql_shutdown() C API函数
    SUPER                   允许用户执行CHANGE MASTER TO,KILL或mysqladmin kill命令来杀掉其他用户的线程,允许执行PURGE BINARY LOGS命令,通过SET GLOBAL来设置系统参数,执行mysqladmin debug命令,开启和关闭日志,即使read_only参数开启也可以执行update语句,打开和关闭从服务器上面的复制,允许在连接数达到max_connections的情况下连接到服务器。
    TRIGGER                 允许操作触发器
    UPDATE                  允许更新数据库中的表
    USAGE                   代表没有任何权限,只能登陆
    

    参考自:MySQL官方权限说明文档

    相关文章

      网友评论

          本文标题:MySQL 新增账号并授权

          本文链接:https://www.haomeiwen.com/subject/lhdvectx.html