MYSQL学习笔记(二十四)安全管理
- 访问控制
给用户提供他们所需的访问权,且仅提供他们所需的访问权
在现实工作中,不能使用root,应创建一系列账号,有的用于管理,有的供用户使用,有的供开发人员使用 - 管理用户
MYSQL用户账号和信息存储在名为mysql的MYSQL数据库中。
直接访问时:
USE mysql;
SELECT user FROM user; - 创建用户账号
CREATE USER 本 INDETIFIED BY ‘[email protected]$$w0rd’
创建一个新账户账号,此例给出一个口令,可不给
重命名账号
RENAME USER ben TO bforta;
删除用户账号包括其账号相关权限
DROP USER bforta; - 设置访问权限
查看赋予用户账号的权限
SHOW GRANTS FOR bforta;
GRANT设置权限,要给出授予权限、授予访问权限的数据库或表、用户名,下为示例:
GRANT SELECT ON crashcourse.* TO bforta;
允许用户bforta在从燃烧crashcourse数据库所有表上使用SELECT
REVOKE SELECT ON crashcourse.* FROM bforta;
取消赋予用户bforta的SELECT访问权限 - GRANT和REVOKE可控制访问权限的层次
整个服务器,使用GRANT ALL和REVOKE ALL;
整个数据库,使用ON database.*;
特定的表,使用ON database.table;
特定的列;
特定的存储过程 具体权限表
简化多次授权
GRANT SELECT,INSERT ON crashcourse.* TO bforta;- 更改口令
更新用户口令:
SET PASSWORD FOR bforta=Password(‘n3w [email protected]w0rd’);w0rd′);设置当前登录用户口令:SETPASSWORD=Password(‘n3wp@