【mysql】—— 用户管理

目录

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

(二)用户

2.1 查看用户信息

 2.2 创建用户

2.3 删除用户

 2.4 修改用户密码

(三)数据库的权限

3.1 给用户授权 

3.2 回收权限


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

如果我们只能使用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用户管理的全部内容了!!感谢大家的观看和支持!!!

  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Java-MySQL城市管理软件是一款基于Java语言和MySQL数据库的应用程序,旨在提供城市管理机构高效管理城市资源的解决方案。该软件集成了多种功能模块,包括人口管理、行政区划管理、公共设施管理等,帮助城市管理机构更好地规划、运营和管理城市。 首先,人口管理模块。该模块通过与MySQL数据库建立连接,实现对人口数据的录入、查询、统计等功能。可以方便地管理居民的基本信息,包括身份证号、姓名、性别、年龄等,并能够根据需求进行数据分析和统计,如按年龄段统计人口数量。 其次,行政区划管理模块。该模块利用MySQL数据库存储城市的行政区划数据,包括省、市、区县等信息。用户可以通过该模块快速获取特定区域的行政信息,并能够进行行政区划的查询、增加、修改等操作,使城市管理机构能够高效管理城市的行政区划变更。 再次,公共设施管理模块。该模块通过与MySQL数据库的交互,实现对公共设施的管理,如道路、桥梁、公园、医院等。用户可以通过该模块对公共设施进行添加、删除、修改等操作,以便更好地维护和管理城市的公共设施。 此外,该软件还具备用户管理、报表生成、数据备份等功能。用户管理模块允许城市管理机构管理员添加、删除和修改用户权限,确保数据的安全性。报表生成功能能够根据用户需求生成各类统计报表,如人口分布图、公共设施使用情况等。数据备份功能则利用MySQL的高可靠性和稳定性,定期对数据进行备份,以确保数据的可靠性和安全性。 总之,Java-MySQL城市管理软件通过利用Java编程语言和MySQL数据库的优势,提供了一种高效、可靠的城市管理解决方案。它可以帮助城市管理机构实现对人口、行政区划和公共设施等数据的管理和统计分析,为城市规划和运营提供有力支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起飞的风筝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值