zoukankan      html  css  js  c++  java
  • mysql的权限管理

    一:MySQL权限经验原则:

        权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:

        1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。

        2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。

        3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。

        4、为每个用户设置满足密码复杂度的密码。

        5、定期清理不需要的用户。回收权限或者删除用户。

    权限分布

    可能的设置的权限

    表权限

    'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'

    列权限

    'Select', 'Insert', 'Update', 'References'

    过程权限

    'Execute', 'Alter Routine', 'Grant'

    grant命令:
    mysql> grant all privileges on *.* to def@'localhost' identified by "123456" with grant option;
    Query OK, 0 rows affected (0.09 sec)
    

    grant:赋予

    privileges:特权

    *.*:前面的*号用来指定数据库名,后面的*号用来指定表名

    identified by:指定密码

    def@localhost:前面的def表示用户名,后面的localhost是主机,也可以填写IP类。

    with grant option:这个选项表示该用户可以将自己拥有的权限授权给别人

    =>总之那句sql语句就是创建一个只允许从本地登录的超级用户def,并允许将权限赋予别的用户,密码为:123456

    查看当前权限:

    mysql> show grants;
    +---------------------------------------------------------------------+
    | Grants for root@localhost                                           |
    +---------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
    | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
    +---------------------------------------------------------------------+
    2 rows in set (0.01 sec)
    

    查看某一个用户的权限:

    mysql> show grants for 'jack'@'%';
    +-----------------------------------------------------------------------------------------------------+
    | Grants for def@%                                                                                   |
    +-----------------------------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'def'@'%' IDENTIFIED BY PASSWORD '*9BCDC990E611B8D852EFAF1E3919AB6AC8C8A9F0' |
    +-----------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    删除用户:

    mysql> drop user ’def'@'localhost';
    Query OK, 0 rows affected (0.01 sec)
    

      

  • 相关阅读:
    上传本地项目到git服务器
    linux服务器部署web环境(一)
    nginx+tomcat负载集群部署
    selenium学习历程(二)
    selenium学习历程(一)
    在 Acer p236 上装 win7 和 ubuntu 双系统
    Ubuntu (14.04) 如何安装和配置Qt
    Android 蓝牙的常用操作
    OpenCL: Shared memory between CPU and GPU in Android development of Qaulcomm plateform
    Android 系统支持的编解码器
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6553782.html
Copyright © 2011-2022 走看看