美文网首页
MySQL 权限控制

MySQL 权限控制

作者: AD刘涛 | 来源:发表于2021-05-08 17:12 被阅读0次

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

    考虑以下内容:

    • 多数用户只需要对表进行读和写,但少数用户甚至需要能创建和删除表;
    • 某些用户需要读表,但可能不需要更新表;
    • 你可能想允许用户添加数据,但不允许他们删除数据;
    • 某些用户(管理员)可能需要处理用户账号的权限,但多数用户不需要;
    • 你可能想让用户通过存储过程访问数据,但不允许他们直接访问数据;
    • 你可能想根据用户登录的地点限制对某些功能的访问。
    获得所有用户账号列表

    MySQL用户账号和信息存储在名为mysql的MySQL数据库中。

    USE mysql;

    SELECT user FROM user;

    创建用户账号

    CREATE USER ben IDENTIFIED BY '123456'

    为重新命名一个用户账号,使用RENAME USER语句,如下所示:

    RENAME USER ben TO bforta;

    删除用户账号

    DROP USER bforta

    设置访问权限

    在创建用户账号后,必须接着分配访问权限。

    为看到赋予用户账号的权限,使用SHOW GRANTS FOR,如下所示:

    SHOW GRANTS FOR bforta;

    设置权限

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

    • 要授予的权限;
    • 被授予访问权限的数据库或表;
    • 用户名。

    用法:
    GRANT SELECT ON database.* TO bforta;

    授予只读权限,用户bforta 对database数据库中的所有数据具有只读访问权限。

    GRANT INSERT ON database.* TO bforta;

    授予插入权限,用户bforta对database数据库中的所有数据具有插入权限。

    SHOW GRANTS FOR bforta;

    SHOW GRANTS查看当前用户bforta所具备的权限:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    以上命令授予root用户对当前数据库所有权限

    取消权限

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

    REVOKE SELECT ON database.* FROM beforta;

    这条REVOKE语句取消刚赋予用户bforta的SELECT访问权限。被 撤销的访问权限必须存在,否则会出错。

    GRANT和REVOKE可在几个层次上控制访问权限:

    • 整个服务器,使用GRANT ALL和REVOKE ALL;
    • 整个数据库,使用ON database.*
    • 特定的表,使用ON database.table;
    • 特定的列;
    • 特定的存储过程。
    更改口令

    为了更改用户口令,可使用SET PASSWORD语句:

    SET PASSWORD FOR bforta = Password('123456');

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    以上操作环境为 mysql 5.7

    设置访问权限

    设置root用户,可以访问mysql下的所有数据库
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

    设置user用户,可以访问duodianyun数据库下的所有表
    GRANT ALL PRIVILEGES ON duodianyun.* TO 'user'@'%';

    以上操作环境为 mysql 8.0

    参考链接 Authentication plugin 'caching_sha2_password' cannot be loaded

    相关文章

      网友评论

          本文标题:MySQL 权限控制

          本文链接:https://www.haomeiwen.com/subject/zhjulltx.html