MySQL数据库操作中,root账户虽方便却存在安全隐患,掌握普通用户管理技能是运维必备能力。下面详细介绍用户权限管理的关键操作。
掌握用户管理首先要了解用户信息查询方法,其次学习创建和删除用户等基础操作。
use mysql;
select host,user,authentication_string from user;
执行上述两条指令即可查看用户信息。需要注意用户数据实际存储在mysql数据库的表中,因此需先切换到mysql数据库。
系统默认包含三个内置用户:
root@localhost:拥有最高权限的超级管理员账号mysql.session@localhost:用于系统进程通信的内部服务账号mysql.sys@localhost:管理系统视图的专用账号
字段说明:
host:允许登录的主机地址
user:用户名
authentication_string:加密后的密码
*_priv:用户权限标识
create user '用户名'@'登陆主机/ip' identified by '密码';
该命令可创建新用户,需注意:

drop user '用户名'@'主机名'
删除用户操作无需验证密码,执行命令即可完成。

密码修改分为两种情况:
用户自助修改:
set password=password('新的密码');
root修改其他用户密码:
set password for '用户名'@'主机名'=password('新的密码');
MySQL所有操作都需要相应权限,权限体系分为五个层级:
全局权限(作用于所有数据库)
数据库权限(作用于指定数据库)
表权限(作用于指定表)
列权限(作用于指定列)
存储对象权限
GRANT ALTER ON *.* TO '用户名'@'登录位置';
grant all [privileges] on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
identified by为可选参数,可同时修改密码或创建新用户。
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
通过上述内容系统讲解了MySQL用户权限管理的核心知识,包括用户创建、权限分配等关键操作,为数据库安全管理奠定基础。