【mysql】—— 用户管理

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【mysql】—— 用户管理



(一)为什么要有用户管理?

如果我们只能使用root用户,这样存在安全隐患:

  1. 配置不当或者使用默认设置的MySQL服务器可能会受到各种攻击,包括SQL注入和拒绝服务攻击等;
  2. 如果攻击者成功地访问了root账户,他们就能够完全控制数据库,并且可以对数据进行修改、删除或窃取等操作;
  3. 此外,将root账户用于所有操作也可能导致权限混乱和错误。

因此,这时,就需要使用MySQL的用户管理。建议创建一个专门的用户账户来管理MySQL数据库,该账户仅具有必要的最低权限来执行所需的任务,并且需要在必要时使用密码和SSL等安全措施来保护数据库。使用这种方法可以最大程度地减小安全风险,并且能够更好地管理数据库。

 


(二)用户

MySQL提供了一套全面的用户管理系统,允许您创建、修改和删除用户账户,并分配权限以控制对数据库和表的访问。

2.1 查看用户信息

  • MySQL中的用户,都存储在系统数据库mysqluser表中(即我们最初进入时可以发现数据库中有张mysql):

  • 此时我们再去对user表进行简单查看(还可以通过desc user初步查看一下表结构):

  • 紧接着就去查看当前表中的用户信息:

字段解释:

  • host表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
  • user用户名
  • authentication_string用户密码通过password函数加密后的
  • *_priv用户拥有的权限

2.2 创建用户

当需要创建新用户时,可以使用 create user 语句

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

  • 此时,我们就可以用用户名 “zp” 登录MySQL了。具体如下:

  • 再去验证是否可以在远端登录,此时我在windows下进行登录操作:

 


2.3 删除用户

要删除用户,可以使用drop user 语句:

  • 语法:
drop user '用户名'@'主机名'
  • 此时删除上述创建的账户:

[注意]:直接给个用户名,不能删除,它默认是%,表示所有地方可以登陆的用户

 

  • 紧接着此时当我们想远程登录有没有办法呢?当然是有的,接下来便创建一个可以远程登录的用户:


2.4 修改用户密码

自己改自己密码

  • 语法:
set password=password('新的密码');

root用户修改指定用户的密码

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


除了上诉两种方法之外,大家还可以通过 update指令来进行修改密码操作

 


(三)数据库的权限

MySQL数据库提供的权限列表:

3.1 给用户授权

数据库权限是指给予用户在数据库中执行特定操作的权限。在MySQL中,可以通过grant revoke语句来控制用户访问和管理数据库的权限。

  • 语法:
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']

说明:

权限列表,多个权限用逗号分开

  • grant select on ...
  • grant select, delete, create on ....
  • grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
  1. *.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
  2. 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
  3. identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户

  • 此时我们想要做的就是给 “lisi” 用户提权,使其可以看到我们创建的数据库:

  • 接下来,我们还可以查看给用户赋予的权限有哪些:

 


3.2 回收权限

在MySQL中,可以通过REVOKE语句收回用户已经被授权的权限.

  • 语法:
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
  • 回收 lisi 用户rootDB数据库的插入权限:

  • 回收 lisi 用户rootDB数据库的删除权限:  

  • 回收lisi 用户rootDB数据库的所有权限


以上便是本文关于MySQL用户管理的全部内容了!!感谢大家的观看和支持!!!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
71 0
|
SQL 关系型数据库 MySQL
【MYSQL基础】MYSQL用户管理
【MYSQL基础】MYSQL用户管理
88 1
|
6月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理 -- 详解
【MySQL】用户管理 -- 详解
|
5月前
|
安全 关系型数据库 MySQL
深入解析MySQL 8中的角色与用户管理
深入解析MySQL 8中的角色与用户管理
214 3
|
6月前
|
关系型数据库 MySQL Linux
MySQL免编译安装和用户管理(转)
MySQL免编译安装和用户管理(转)
31 1
|
5月前
|
存储 关系型数据库 MySQL
【MySQL】用户管理
【MySQL】用户管理
|
存储 关系型数据库 MySQL
Mysql 用户管理
Mysql 用户管理
63 0
|
存储 关系型数据库 MySQL
Mysql 用户管理(创建、删除、改密、授予权限、取消权限)
Mysql 用户管理(创建、删除、改密、授予权限、取消权限)
534 0
|
存储 关系型数据库 MySQL
MySQL_11 用户管理和权限管理
MySQL 第十一节 用户管理和权限管理 内容分享。
91 0
|
6月前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
84 0