zoukankan      html  css  js  c++  java
  • Mysql5.7新增用户并授权,Mysql生产环境用户权限管理

    ================================

    ©Copyright 蕃薯耀 2021-12-31

    https://www.cnblogs.com/fanshuyao/

    一、root用户授权


    root用户授权,用于指定IP用户登录root用户,方便管理


    1、创建指定IP(如:192.168.1.100)远程登录的root用户,并设置密码

    CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY '密码';

    2、root用户指定IP授权,授予所有权限

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;

    WITH GRANT OPTION:表示该用户可以将自己拥有的权限授权给别人

    授权命令:

    GRANT privileges ON databasename.tablename TO 'username'@'host';
     
    GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

    3、刷新权限

    FLUSH PRIVILEGES;

    二、创建appUser应用程序用户,并授权


    1、创建appUser,并允许本地登录

    CREATE USER 'appUser'@'localhost' IDENTIFIED BY '密码';

    2、创建appUser,允许应用程序服务器登录

    CREATE USER 'appUser'@'192.168.2.200' IDENTIFIED BY '密码';

    3、创建appUser,允许指定IP用户(192.168.1.100)登录

    CREATE USER 'appUser'@'192.168.1.100' IDENTIFIED BY '密码';

    4、appUser授权

    (正式环境没有drop权限),报错时:记得先创建数据库和表

    GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE,
    CREATE ROUTINE,ALTER ROUTINE,EXECUTE,INDEX,CREATE VIEW,SHOW VIEW,REFERENCES
     ON 数据库名称.* TO 'appUser';

    5、刷新权限

    FLUSH PRIVILEGES;

    三、创建readUser只读用户,并授权


    1、创建readUser用户,并设置密码,允许所有地方登录

    CREATE USER 'readUser'@'%' IDENTIFIED BY '密码';

    2、授权,授予查询表、查询视图的权限

    GRANT SELECT,SHOW VIEW ON 数据库名称.* TO 'readUser';

    3、刷新权限

    FLUSH PRIVILEGES;

    四、Mysql查看用户的权限

    SHOW GRANTS FOR 'root'@'localhost';
    SHOW GRANTS FOR 'root'@'192.168.1.100';
    SHOW GRANTS FOR 'appUser';
    SHOW GRANTS FOR 'readUser'@'%';

    五、Mysql查看用户表

    use mysql;
     
    select * from user;

    六、Mysql数据库权限列表

     
    ALTER:    Allows use of ALTER TABLE.修改表
    CREATE:    Allows use of CREATE TABLE.创建表
    CREATE TEMPORARY TABLES:    Allows use of CREATE TEMPORARY TABLE.创建临时表
    DROP:        Allows use of DROP TABLE.删除表,删除数据表或数据库
    SELECT:    Allows use of SELECT. 查询
    INSERT:    Allows use of INSERT. 插入
    UPDATE:    Allows use of UPDATE. 更新
    DELETE:    Allows use of DELETE.删除表数据
    EXECUTE:    Allows the user to run stored routines. 执行存储过程
    INDEX:    Allows use of CREATE INDEX and DROP INDEX.创建和删除索引
    CREATE VIEW:    Allows use of CREATE VIEW.创建视图
    SHOW VIEW:    Allows use of SHOW CREATE VIEW.查看创建的视图
    REFERENCES:    授予用户可以创建一个外键来参照特定数据表的权限。
    CREATE ROUTINE:表示授予用户可以为特定的数据库创建存储过程和存储函数的权限。
    ALTER ROUTINE:表示授予用户可以更新和删除数据库中已有的存储过程和存储函数的权限。
    ALLALL PRIVILEGES:所有的权限名。(和root一样)
    usage: 只允许登录--其它什么也不允许做

    七、生产环境数据库授权建议

     

    八、Mysql回收权限,撤销用户权限

    回收权限使用:REVOKE

    REVOKE privilege ON databasename.tablename FROM 'username'@'host';

    示例:

    REVOKE SELECT ON *.* FROM 'appUser'@'localhosts';
     
     
    REVOKE ALTER,CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,
    CREATE ROUTINE,ALTER ROUTINE,EXECUTE,INDEX,CREATE VIEW,SHOW VIEW,
    REFERENCES,CREATE TEMPORARY TABLES 
    ON *.* FROM 'appUser';

    刷新权限

    FLUSH PRIVILEGES;

     

    九、Mysql删除用户

    DROP USER 'username';
     
    DROP USER 'username'@'host';

    十、Mysql设置密码,修改用户密码

    SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

    如果是当前登录用户修改密码可以用:

    SET PASSWORD = PASSWORD("newpassword");

    root用户给其他用户修改密码,示例:

    SET PASSWORD FOR 'appUser'@'localhost' = PASSWORD("123456");

    (时间宝贵,分享不易,捐赠回馈,^_^)

    ================================

    ©Copyright 蕃薯耀 2021-12-31

    https://www.cnblogs.com/fanshuyao/

    今天越懒,明天要做的事越多。
  • 相关阅读:
    前端工程化之动态数据代理
    webapp开发之需要知道的css细节
    html-webpack-plugin详解
    file-loader引起的html-webpack-plugin坑
    浅谈react受控组件与非受控组件
    React创建组件的三种方式及其区别
    react项目开发中遇到的问题
    css伪元素:before和:after用法详解
    python之文件操作
    python之range和xrange
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/15751824.html
Copyright © 2011-2022 走看看