zoukankan      html  css  js  c++  java
  • MySQL安全管理

    数据库服务器通常包含关键的数据,确保这些数据的安全和完整需要利用访问控制。

    一、访问控制

    MySQL服务器的安全基础:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。

    访问控制:你需要给用户提供他们所需的访问权,且仅提供他们所需的访问权。

    在日常工作中,绝不能使用root,应该创建一系列的账号,有的用于管理,有的供用户使用,有的供开发人员使用等等。

    防止无意的错误:访问控制的目的不仅仅是防止用户的恶意企图。数据梦魇更为常见的事无意识错误的结果,如错打MySQL语句,在不适合的数据库中操作或其他一些用户错误。通过保证用户不能执行他们不应该执行的语句,访问控制有助于避免这些情况的发生。

    二、管理用户

    MySQL用户账号和信息存储在名为mysql的MySQL数据库中。一般不需要直接访问mysql数据库和表,但有时需要直接访问。需要直接访问他的时机之一是在需要获得所有用户账号列表时。

     USE mysql;
    SELECT user,host FROM user;

    1.创建用户账号

    CREATE USER username IDENTIFIED BY 'password';

    为用户账号重命名:RENAME USER username TO otherusername;

    2.删除用户账号

    DROP USER username;

    3.设置访问权限

    在创建用户账号后,必须接着分配访问权限。新创建的用户账号没有访问权限。它们能登录MySQL,但不能看到数据,不能执行任何数据库操作。

    查看赋予用户账号的权限:

    SHOW GRANTS FOR username;

    +————————————————————-+

    | Grants for username@% |

    +——————————————————— —+

    | GRANT USAGE ON *.* TO 'username'@'%' |

    +————————————————————-+

    为设置权限,使用GRANT语句。GRANT要求你至少给出以下信息:

    • 要授予的权限;

    • 被授予访问权限的数据库或表;

    • 用户名。

    Example:

    GRANT SELECT ON database.* TO username;

    分析:此GRANT允许用户在database数据库的所有表(databasename.*)上使用SELECT。用户username对database数据库中的所有数据具有只读访问权限。

    GRANT的反操作为REVOKE,用它来撤销特定的权限。

    REVOKE SELECT ON database.* FROM username;

    撤销用户username的SELECT访问权限。被撤销的访问权限必须存在,否则会出错。

    Mysql User表权限字段说明全介绍

    4.更改口令

    SET PASSWORD FOR user = Password('passworded');

    Password()函数进行加密。

    在不指定用户名时,SET PASSWORD更新当前登录用户的口令。

    可以借鉴那啥快看MySql(五):MySQL数据库安全管理

  • 相关阅读:
    公司的CMS参数
    Kafka 如何保证消息可靠性
    我来了
    spring解决乱码
    mybatis反向工程
    Unicode控制字符
    功能跟进记录
    创建IDataProvider实例
    腾讯2016研发工程师笔试题36车 6跑道 没有计时器 最少要几次取前三
    .net mvc下拉列表DropDownList控件绑定数据
  • 原文地址:https://www.cnblogs.com/riter-xu/p/12235932.html
Copyright © 2011-2022 走看看