前言:在 MySQL 数据库管理中,用户管理是确保数据安全和系统稳定的关键环节,通过合理的用户权限控制,管理员可以有效限制用户访问,防止非法操作和数据泄露,本文将介绍 MySQL 中常见的用户管理操作,包括用户创建、密码修改、删除用户和权限管理等。* *>> >这里是的BLOG> >想要了解更多内容可以访问我的主页-CSDN博客在正式开始讲解之前,先让我们看一下本文大致的讲解内容:
目录1.查看用户2.创建用户3.修改密码? ? ? ? (1)使用 ALTER USER 修改密码:? ? ? ? (2)使用 SET PASSWORD 修改当前用户密码:? ? ? ? (3)使用 SET PASSWORD FOR 修改指定用户密码:4.删除用户5.权限管理*1.查看用户------首先先让我们学习用户方面的知识,说到用户,我们就需要学会如何去查看用户,在 MySQL 中,所有的用户信息存储在 mysql 系统数据库中的 user 表中,我们想要查看当前数据库的所有用户,可以通过 SELECT 语句从该表中查询相关数据。例子:SELECT user, host FROM mysql.user;代码解释:> 这条查询语句将返回当前 MySQL 系统中所有用户的名称和主机信息,字段
user表示用户名,而字段host表示该用户允许从哪些主机进行连接。以上就是在MySQL中查看用户的操作了!!!2.创建用户------学完了MySQL中查看用户的操作之后,接下来让我们学习一下如何在MySQL中创建用户,在 MySQL 中创建新用户时,通常使用CREATE USER语句,通过该语句,我们可以为新用户分配名称、设置密码并指定哪些主机能够连接。创建用户语法:CREATE USER [IF NOT EXISTS] ‘user_name’@‘host_name’ IDENTIFIED BY ‘auth_string’;代码解释:> * user_name:指定新用户的用户名。> * host_name:指定该用户的连接主机范围,可以是具体的 IP 地址,也可以是通配符%,表示允许从任何主机连接。> * auth_string:为用户设置的密码。> * IF NOT EXISTS:为可选,用于避免在创建用户时出现重复错误,如果指定的用户已经存在,系统将不会抛出错误。——了解完了创建用户的语法之后,现在让我们使用两个案例来进一步加深理解:例子1:创建一个允许从任何主机连接的用户CREATE USER ‘new_user’@‘%’ IDENTIFIED BY ‘password123’;代码解释:> 这条语句创建了一个名为new_user的用户,密码是password123,并允许该用户从任何主机连接到 MySQL 服务器,%表示通配符,允许从任何 IP 地址进行连接。例子2:创建一个仅允许从本地主机连接的用户CREATE USER ‘local_user’@‘localhost’ IDENTIFIED BY ‘local_password’;代码解释:> 这条语句创建了一个名为local_user的用户,密码为local_password,并且该用户仅能从本地主机(即数据库服务器所在的机器)进行连接,localhost表示只有来自同一机器的连接才会被允许。——通过上述的两个案例我们对MySQL中的创建用户有了更进一步的理解,那么我们在创建完成之后,如何去检查用户创建情况呢?在创建完用户后,我们可以通过以下查询语句检查新用户是否已经成功添加: SELECT user, host FROM mysql.user;代码解释:> 这个查询将列出所有用户及其对应的主机信息,帮助我们确认new_user和local_user是否已正确创建。以上就是创建用户的全部内容了!!!3.修改密码------我们知道,一个用户不可能让任何人都可以使用其身份进行操作,这时我们就要使用到密码,那么如何去修改密码呢?以下为修改密码的三种方式。### (1)使用ALTER USER修改密码: ALTER USER ‘user_name’@‘host_name’ IDENTIFIED BY ‘new_password’;代码解释:> 这是推荐的方式,其能够确保密码更新后即刻生效,ALTER USER是 MySQL 5.7 及更高版本支持的命令,适用于修改用户的认证方式和密码。### (2)使用SET PASSWORD修改当前用户密码: SET PASSWORD = PASSWORD(‘new_password’);代码解释:> 这条语句用于修改当前登录用户的密码,如果管理员当前是登录的root用户,那么该命令会修改root用户的密码。### (3)使用SET PASSWORD FOR修改指定用户密码: SET PASSWORD FOR ‘user_name’@‘host_name’ = PASSWORD(‘new_password’);代码解释:> 这种方式与ALTER USER类似,用于修改指定用户的密码,但是需要注意的是,SET PASSWORD FOR语句与ALTER USER在效果上是一样的,但它们的语法和实现有所不同。——至此,我们就了解了修改密码的三种方式了,那么现在让我们使用两个案例来加深一下理解:例子1:修改new_user用户的密码ALTER USER ‘new_user’@‘%’ IDENTIFIED BY ‘new_password123’;代码解释:> 这条命令将new_user用户的密码修改为new_password123,并且立即生效,并且该用户依然可以从任何主机进行连接。例子2:修改root用户的密码ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_root_password’;代码解释:> 此语句将root用户的密码修改为new_root_password。这样我们就大致的了解了在MySQL中如何去修改密码了!!!4.删除用户------随着数据库的使用,就可能会出现一些不再需要的用户,在这种情况下,我们就可以通过DROP USER语句来删除不再需要的用户及其相关权限。删除用户语法:DROP USER [IF EXISTS] ‘user_name’@‘host_name’; 其中IF EXISTS是一个可选项,表示如果该用户不存在,系统将不会抛出错误。——同理我们也使用两个案例来进一步加深你对删除用户的理解:例子1:删除new_user用户DROP USER ‘new_user’@‘%’;代码解释:> 这条语句将会删除new_user用户,并且不再允许该用户从任何主机连接到 MySQL 服务器。例子2:删除local_user用户DROP USER ‘local_user’@‘localhost’;代码解释:> 此语句将删除local_user用户,并且该用户不再能够从本地主机连接到 MySQL 服务器。——通过上述的两个案例,我相信读者对删除用户操作有了自己的理解了,那么删除完了用户信息之后,我们如何去查看删除用户情况呢?删除用户后,我们可以通过查询mysql.user表来验证用户是否已被删除(如下): SELECT user, host FROM mysql.user; 至此,我们就学完了MySQL中的删除用户操作了!!!5.权限管理------最后,让我们学习一下权限管理,在MySQL中,权限系统非常强大,能够精确控制每个用户能够执行哪些操作,并限制用户的访问范围,首先先让我们了解一下MySQL中内置的权限列表:> *SELECT:读取数据。> *INSERT:插入数据。> *UPDATE:更新数据。> *DELETE:删除数据。> *ALL PRIVILEGES:所有权限。权限不仅可以针对数据库级别进行设置,也可以针对特定的表、列甚至是某些存储过程进行授权。在了解完了在MySQL中有哪些内置的权限列表之后,接下来让我们学习一下如何去授予权限,在MySQL中,我们可以通过GRANT语句,使管理员为用户授予特定权限,其基本语法如下: GRANT priv_type ON priv_level TO ‘user_name’@‘host_name’ [WITH GRANT OPTION];代码解释:> *priv_type:指定权限类型,如SELECT、INSERT等。> *priv_level:权限的作用范围,通常为数据库、表或列。> *WITH GRANT OPTION:如果包含此选项,表示该用户可以将获得的权限再授予其他用户。当然这里我们给出两个案例来帮助读者进行理解。例子1:授予new_user用户对test_db数据库的SELECT权限:GRANT SELECT ON test_db.TO ‘new_user’@‘%’;代码解释:> 这条语句将授予new_user用户对test_db数据库中所有表的SELECT权限,此用户将能够查询该数据库的所有表,但不能进行修改或删除操作。例子2:授予new_user用户对test_db数据库的所有权限:GRANT ALL PRIVILEGES ON test_db.* TO ‘new_user’@‘%’;代码解释:> 此语句授予new_user用户对test_db数据库中所有表的所有权限,包括SELECT、INSERT、UPDATE等,甚至包括修改表结构和删除数据库。通过上述的两个案例的讲解之后,读者应该就对授予权限操作有了自己的理解了!,那么既然有授予权限,就会有回收权限的操作,那么我们如何去回收权限呢?当用户的权限不再需要时,可以使用REVOKE语句撤销其权限: REVOKE priv_type ON priv_level FROM ‘user_name’@‘host_name’; 当然,我们也是使用两个案例来帮助读者进一步理解:例子1:撤销new_user用户对test_db数据库的SELECT权限REVOKE SELECT ON test_db.* FROM ‘new_user’@‘%’;代码解释:> 此语句撤销了new_user用户在test_db数据库中的SELECT权限,用户将不再能够执行查询操作。例子2:撤销new_user用户对test_db数据库的所有权限REVOKE ALL PRIVILEGES ON test_db.* FROM ‘new_user’@‘%’;代码解释:> 通过此命令,new_user用户将失去test_db的所有权限。至此我们就学完了权限管理的所有操作了!!!* * *以上就是本篇文章全部内容~~
MySQL中的用户和权限管理(如果想知道MYSQL中有关用户和权限管理的知识,那么只看这一篇就足够了!)
张小明
前端开发工程师
AI智能商城APP定制开发全流程实战指南
AI智能商城APP定制开发全流程实战指南 随着电商行业竞争加剧,传统商城APP已经很难满足用户对个性化、智能化体验的需求。所谓 AI智能商城APP定制开发,指的是在商城基础交易链路之上,引入人工智能技术(如推荐算法、自然语言处理、计…
滑块验证码AI识别全解析:从ddddocr到拟人轨迹模拟
简介:图像识别和目标检测技术是计算机视觉领域的基石,常被用于解决各类自动化场景中的视觉定位问题。以滑块验证码识别为例,其核心挑战在于对复杂背景下的缺口目标进行精准检测,并生成符合人类操作习惯的拖动轨迹。在工程实践中&a…
Data Pyramid:机器人学习数据的分层体系与实践指南
机器人学习的数据困境,已经不再是“数据不够多”,而是“数据不够对”。过去几年,我们从机械臂示教、遥操作采集、仿真环境生成、互联网视频中拿到了海量数据,但把这些数据丢进模型之后,效果往往并不理想:有…
2026年专科生课堂汇报论文降重工具,实际用下来这几款靠谱
课堂汇报和论文写作,专科生绕不开的两道坎。查重报告一出来,满屏标红,逐句改到凌晨是常态。AIBiye、AICheck、Passbug这几款工具在专科生圈子里讨论度不低,加上其他几款常见选择,这篇按实际使用体验做个盘点࿰…
iPhone照片打不开或无法上传?手把手教你heic格式转化png的完整流程
技术背景与需求分析 HEIC是苹果在iOS 11之后主推的照片编码格式,底层采用HEVC(H.265)标准,相比同画质的JPEG文件体积可缩减约50%。但HEIC的生态兼容性一直是个问题:Windows自带照片查看器默认打不开、部分OA系统不识别…
ADC模数转换器原理与工程实践全解析
1. 什么是ADC数模转化器:从“听见声音”到“读懂电压”的底层逻辑你手边的智能手表能实时显示心率,工厂里的PLC控制器能精准调节电机转速,车载雷达能识别前方障碍物距离——这些看似平常的功能背后,都藏着一个不起眼却至关重要的角…