一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

SQL数据库:用户管理权限与用户操作详解

时间:2026-05-24 12:00:01 编辑:袖梨 来源:一聚教程网

MySQL数据库操作中,root账户虽方便却存在安全隐患,掌握普通用户管理技能是运维必备能力。下面详细介绍用户权限管理的关键操作。

1. 用户相关

掌握用户管理首先要了解用户信息查询方法,其次学习创建和删除用户等基础操作。

1.1 查看已存在用户的信息

use mysql;
select host,user,authentication_string from user;

执行上述两条指令即可查看用户信息。需要注意用户数据实际存储在mysql数据库的表中,因此需先切换到mysql数据库。

系统默认包含三个内置用户:

  1. root@localhost:拥有最高权限的超级管理员账号
  2. mysql.session@localhost:用于系统进程通信的内部服务账号
  3. mysql.sys@localhost:管理系统视图的专用账号

SQL中的用户管理权限与用户详解

字段说明:

host:允许登录的主机地址

user:用户名

authentication_string:加密后的密码

*_priv:用户权限标识

1.2 创建新用户

create user '用户名'@'登陆主机/ip' identified by '密码';

该命令可创建新用户,需注意:

  1. root账号创建的用户默认无任何权限
  2. 具有create user权限的普通用户也可创建新用户
  3. localhost限制为本地登录,%表示允许任意主机登录

SQL中的用户管理权限与用户详解

1.3 删除用户

drop user '用户名'@'主机名'

删除用户操作无需验证密码,执行命令即可完成。

SQL中的用户管理权限与用户详解

1.4 修改用户登入密码

密码修改分为两种情况:

用户自助修改:

set password=password('新的密码');

root修改其他用户密码:

set password for '用户名'@'主机名'=password('新的密码');

2. 权限相关

MySQL所有操作都需要相应权限,权限体系分为五个层级:

全局权限(作用于所有数据库)

  1. ALL PRIVILEGES:除GRANT OPTION外的全部权限
  2. CREATE USER:用户管理权限
  3. DROP USER:删除用户权限
  4. SUPER:超级管理权限
  5. SHOW DATABASES:查看所有数据库
  6. RELOAD:刷新权限表

数据库权限(作用于指定数据库)

  1. CREATE:创建数据库/表
  2. DROP:删除数据库/表
  3. ALTER:修改表结构
  4. INDEX:索引操作
  5. INSERT:数据插入

表权限(作用于指定表)

  1. SELECT/INSERT/UPDATE/DELETE:单表操作
  2. ALTER:修改表结构
  3. INDEX:索引操作
  4. CREATE VIEW:创建视图

列权限(作用于指定列)

  1. SELECT/INSERT/UPDATE:列级操作

存储对象权限

  1. EXECUTE:执行存储过程
  2. ALTER ROUTINE:修改存储过程

2.1给用户权限

GRANT ALTER ON *.* TO '用户名'@'登录位置';
grant all [privileges] on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']

identified by为可选参数,可同时修改密码或创建新用户。

2.2回收权限

revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';

通过上述内容系统讲解了MySQL用户权限管理的核心知识,包括用户创建、权限分配等关键操作,为数据库安全管理奠定基础。

热门栏目