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

  • 相关阅读:
    LeetCode——二叉树中的最大路径和
    LeetCode——验证回文串
    LeetCode——word-ladder*
    LeetCode——最长连续序列
    3G? 2G? 2.5G? 4G? 与 WIFI, GPRS,CDMA 3G无线上网
    GSM、GPRS、EDGE、2G、3G与WAP的关系
    3G 2G GPRS 1G的概念
    那些精华博客
    单片机系统与标准PC键盘的接口模块设计
    以多个实例方式打开Notepad++
  • 原文地址:https://www.cnblogs.com/riter-xu/p/12235932.html
Copyright © 2020-2023  润新知