【MySQL必知必会(二十四)】【安全管理】

    科技2024-09-26  19

    上一篇:【MySQL必知必会(二十三)】【全球化和本地化】

    +++++++++++++开始线++++++++++++++++

    文章目录

    一、 访问控制二、 管理用户2.1 创建用户账号2.2 删除用户账号2.3 设置访问权限2.4 更改口令

    一、 访问控制

    MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权。

    使用MySQL Administrator 提供一个图形用户界面,可用来管理用户及账号权限。

    不要使用root

    严肃对待root登陆的使用,仅在绝对需要时使用,不应该在日常的MySQL操作中使用root

    二、 管理用户

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

    2.1 创建用户账号

    创建一个新用户

    CREATE USER ben IDENTIFIED BY 'p@$$w0rd';

    指定散列口令

    IDENTIFIED BY指定的口令为纯文本,MySQL将在保存到user表之前对其进行加密。为了作为散列值指定口令,使用IDENTIFIED BY PASSWORD。

    重命名一个用户账号

    RENAME USER ben TO bforta;

    2.2 删除用户账号

    DROP USER bforta;

    2.3 设置访问权限

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

    SHOW GRANTS FOR bforta;

    分析

    USAGE表示根本没有权限

    设置权限,使用GRANT语句,需要给出以下信息: 1.要授予的权限 2.被授予访问权限的数据库或表 3.用户名

    mysql> GRANT SELECT ON crashcourse.* TO bforta;

    分析

    允许用户在crashcourse.*(crashcourse数据库上所有的表)上使用SELECT,具有只读访问权限。

    分析

    每个GRANT添加用户的一个权限。MySQL读取所有授权,并根据他们确定权限。

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

    mysql> REVOKE SELECT ON crashcourse.* FROM bforta;

    分析

    撤消刚才赋予用户的访问权限,被撤销的访问权限必须存在,否则会出错。

    2.4 更改口令

    更改口令使用SET PASSWORD语句

    SET PASSWORD FOR bforta = Password('n3w p@$$w0rd');

    分析

    SET PASSWORD更新用户口令。新口令必须传递到Password()函数进行加密

    还可以设置你当前用户的口令

    SET PASSWORD = Password('n3w p@$$w0rd');

    +++++++++++++结束线++++++++++++++++

    下一篇:【MySQL必知必会(二十五)】【数据库维护】

    Processed: 0.008, SQL: 8