Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL用户管理:添加用户、授权、删除用户

MySQL用户管理:添加用户、授权、删除用户

作者头像
陈树义
发布于 2018-04-13 09:40:59
发布于 2018-04-13 09:40:59
5.6K00
代码可运行
举报
文章被收录于专栏:陈树义陈树义
运行总次数:0
代码可运行

添加用户

以root用户登录数据库,运行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create user zhangsan identified by 'zhangsan';

上面的命令创建了用户zhangsan,密码是zhangsan。在mysql.user表里可以查看到新增用户的信息:

授权

命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

上面的语句将zhangsanDb数据库的所有操作权限都授权给了用户zhangsan。

在mysql.db表里可以查看到新增数据库权限的信息:

也可以通过show grants命令查看权限授予执行的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show grants for 'zhangsan';

privilegesCode表示授予的权限类型,常用的有以下几种类型[1]:

  • all privileges:所有权限。
  • select:读取权限。
  • delete:删除权限。
  • update:更新权限。
  • create:创建权限。
  • drop:删除数据库、数据表权限。

dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:

  • .:授予该数据库服务器所有数据库的权限。
  • dbName.*:授予dbName数据库所有表的权限。
  • dbName.dbTable:授予数据库dbName中dbTable表的权限。

username@host表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

  • localhost:只允许该用户在本地登录,不能远程登录。
  • %:允许在除本机之外的任何一台机器远程登录。
  • 192.168.52.32:具体的IP表示只允许该用户从特定IP登录。

password指定该用户登录时的面。

flush privileges表示刷新权限变更。

修改密码

运行以下命令可以修改用户密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
update mysql.user set password = password('zhangsannew') where user = 'zhangsan' and host = '%';
flush privileges;

删除用户

运行以下命令可以删除用户:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
drop user zhangsan@'%';

drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。

常用命令组

创建用户并授予指定数据库全部权限:适用于Web应用创建MySQL用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create user zhangsan identified by 'zhangsan';
grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush  privileges;

创建了用户zhangsan,并将数据库zhangsanDB的所有权限授予zhangsan。如果要使zhangsan可以从本机登录,那么可以多赋予localhost权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grant all privileges on zhangsanDb.* to zhangsan@'localhost' identified by 'zhangsan';

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-05-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL 权限操作
  MySQL 权限系统保证所有的用户只执行允许做的事情。当连接 MySQL 服务器时,用户的身份由用户从那儿连接的主机和用户指定的用户名来决定。连接后发出请求后,系统根据用户的身份和用户想做什么来授予权限。MySQL 中采用用户名 + 主机名来识别用户的身份。例如,从 abc.com 连接的用户 root 不一定和从 bcd.com 连接的 root 是同一个人。MySQL 通过允许你区分在不同的主机上碰巧有同样名字的用户来处理它,可以对 root 从 abc.com 进行的连接授与一个权限集,而为 root 从 bcd.com 的连接授予一个不同的权限集。MySQL存取控制包含2个阶段:  ♞ 阶段1:服务器检查是否允许你连接。  ♞ 阶段2:假定能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。
Demo_Null
2020/09/28
2.9K0
MySQL 权限操作
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
不建议通过 DELETE FROM USER u WHERE USER='li4' 进行删除,系统会有残留信息保
盛透侧视攻城狮
2024/10/22
1700
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
十七、用户管理
DCL 是数据控制语言,主要用于管理用户和权限。在企业中这部分工作通常是由 DBA 完成,一般开发人员很少接触。
喵叔
2021/06/25
6590
MySQL用户管理
说明:用户的信息保存在mysql数据库中的user表中,验证用户是否创建成功如下:
星哥玩云
2022/08/18
2K0
MySQL(十六)之MySQL用户管理
一、MySQL用户管理概述   MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类:     超级管理员用户(root),拥有全部权限     普通用户,由root创建,普通用户只拥有root所分配的权限 二、MySQL的权限数据库    权限数据库:在MySQL中的mysql数据库。   与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等。 2.1、user表   1)user表存储的信息   用户的信息:hots(用户所在的
用户1195962
2018/01/18
1.3K0
MySQL(十六)之MySQL用户管理
MySQL的用户管理
#前言:我们知道,无论是登陆MySQL数据库还是登陆Linux系统,都需要有用户来登陆。默认情况下,root用户是享有最高权限的超级用户,可以使用包括create,drop,insert等操作,但是我们也需要一些普通用户来进行管理,接下来就让我们对号入座,来进行如何创建用户,授权用户,和删除用户等操作
老油条IT记
2020/03/20
2.4K0
MySQL5.7 添加用户、删除用户与授权
MySQL5.7 mysql.user表没有password字段改 authentication_string;
小贝壳
2020/03/05
1.8K0
Linux中MySQL的用户管理模式和方法
在Linux环境下,MySQL数据库管理系统因其高效、稳定以及开源的特性,成为许多企业和个人开发者的首选。用户管理是MySQL数据库管理中极为重要的一环,涉及用户创建、权限授予、密码修改以及用户删除等操作。
炒香菇的书呆子
2024/09/29
1700
第十一章《mysql用户与权限》
mysql关于用户的信息保存在mysql.user表当中,关于用户的权限主要是存储在mysql库中(user、db、host、tables_priv、columns_priv)这5个表中。
Java架构师必看
2021/06/02
8110
第十一章《mysql用户与权限》
【MySQL】用户管理
其实 MySQL 中的用户,都存储在系统数据库 mysql 的 user 表中,我们通过 show databases; 查看 mysql 数据库:
YoungMLet
2024/03/01
2310
【MySQL】用户管理
MySQL DCL 数据控制
连接到 MySQL 服务器后,管理员或特权用户可以使用 CREATE USER 语句创建新用户。
恋喵大鲤鱼
2023/10/12
2520
MariaDB/MySQL用户和权限管理详解
MariaDB/MySQL中的user由用户名和主机名构成,如"root@localhost",同用户名但不同主机名对MySQL/MariaDB来讲是不同的,也就是说"root@localhost"和"root@127.0.0.1"是不同的用户,尽管它们都是本机的root。
星哥玩云
2022/08/16
1.7K0
MariaDB/MySQL用户和权限管理详解
一文看尽MySQL用户权限管理,真香!
mysql数据库(系统数据库)下的表:user、db、tables_priv、columns_priv、proce_priv、proxies_priv共同构成授权表;
陈哈哈
2020/07/06
11.8K1
一文看尽MySQL用户权限管理,真香!
MySQL 用户与权限管理
    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限。MySQL存取控制包含2个阶段,一是服务器检查是否允许你连接;二是假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。本文主要描述MySQL权限系统相关的用户创建、授权、撤销权限等等。
Leshami
2018/08/13
9K0
mysql体系结构(日常管理管理)
说明mysql8.0已经更换了加密插件为caching_sha2_password
萧晚歌
2021/11/18
7910
Mysql系列 - 第3天:管理员必备技能(必须掌握)
在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能登录?为什么没有权限?等等各种问题,本文看完之后,这些都不是问题了。
路人甲Java
2019/09/16
6520
MySQL添加用户、删除用户与授权
1.新建用户   1.1 登录MYSQL:   @>mysql -u root -p   @>密码   1.2 创建用户:   mysql> CREATE USER 'test'@'%' IDENTIFIED BY '1234';    这样就创建了一个名为:test 密码为:1234 的用户。   注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录
磊哥
2018/05/08
3.6K0
MySQL 设置远程访问
在 MySQL Server 端,执行 mysql 命令进入 mysql 命令模式。使用grant命令用来建立新用户,指定用户口令并增加用户权限。命令格式如下:
恋喵大鲤鱼
2022/11/29
5.4K0
MySQL 设置远程访问
MySQL安全----用户创建与权限控制
创建用户以及给用户合理的分配权限是提高安全的最有效措施之一。不仅仅是MySQL数据库、对于其他数据库、操作系统、应用系统等等,用户权限分配都是有效的安全措施之一。即使被黑客攻破,但是由于其拿到的用户权限较低,可以有效降低危害。所以对外开放的系统,应尽量使用较低权限的用户。
cultureSun
2023/05/18
1.4K0
MySQL8.0、创建新用户与角色授权
创建一个操作dbtest1库的角色,授予SELECT、UPDATE、INSERT权限。
猫老师的叶同学
2023/03/01
4.3K0
MySQL8.0、创建新用户与角色授权
相关推荐
MySQL 权限操作
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验