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数据库安全管理

  • 相关阅读:
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    冒泡排序和选择排序
  • 原文地址:https://www.cnblogs.com/childking/p/14033843.html
Copyright © 2011-2022 走看看