千家信息网

mysql学习笔记(7-DCL命令用户账号及权限管理)

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,用户账号及权限管理:用户账号:'username'@'host'host:此用户访问当前mysql服务器时,允许其通过哪些主机远程创建连接;表示方式:IP,网络地址、主机名、通配符(%和_);禁止检查
千家信息网最后更新 2024年11月23日mysql学习笔记(7-DCL命令用户账号及权限管理)

用户账号及权限管理:


用户账号:'username'@'host'

host:此用户访问当前mysql服务器时,允许其通过哪些主机远程创建连接;

表示方式:IP,网络地址、主机名、通配符(%和_);


禁止检查主机名:my.cnf

[mysqld]

skip_name_resolve = ON


创建用户账号:

CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];


删除用户账号:

DROP USER 'user'@'host' [, user@host] ...


授权:

权限级别:管理权限、数据库、表、字段、存储例程;

GRANT priv_type,... ON [object_type] db_name.tbl_name TO 'user'@'host' [IDENTIFIED BY 'password'];

priv_type: ALL [PRIVILEGES]

db_name.tbl_name:

*.*:所有库的所有表;

db_name.*:指定库的所有表;

db_name.tbl_name:指定库的特定表;

db_name.routine_name:指定库上的存储过程或存储函数;

[object_type]

TABLE

FUNCTION

PROCEDURE

查看指定用户所获得的授权:

SHOW GRANTS FOR 'user'@'host'

SHOW GRANTS FOR CURRENT_USER;


回收权限:

REVOKE priv_type, ... ON db_name.tbl_name FROM 'user'@'host';


注意:MariaDB服务进程启动时,会读取mysql库的所有授权表至内存中;

(1) GRANT或REVOKE命令等执行的权限操作会保存于表中,MariaDB此时一般会自动重读授权表,权限修改会立即生效;

(2) 其它方式实现的权限修改,要想生效,必须手动运行FLUSH PRIVILEGES命令方可;


加固mysql服务器,在安装完成后,运行mysql_secure_installation命令;


0