当前位置: 首页 > news >正文

MySQL——数据库的高级操作(二)用户管理(1)uer表

        每个软件都会对用户信息进行管理,MySQL也不例外,MySQL中的用户分为root用户和普通用户,root 用户为超级管理员,具有所有权限,如创建用户、删除用户、管理用户等,而普通用户只拥有被赋予的某些权限。

        在安装 MySQL时,会自动安装一个名为 mysql的数据库,该数据库中的表都是权限
表,如 user、db、host,tables_priv、column_priv 和 procs_priv,其中 user 表是最重要的一个权限表,它记录了允许连接到服务器的账号信息以及一些全局级的权限信息,通过探作该表就可以对这些信息进行修改。为了让初学者更好地学习 user表,接下来列举 user表中的一些常用字段,如下表所示。

字段名数据类型默认值

Host

char(60)

N

User

char(16)

N

Password

char(41)

N

Select_priv

enum( 'N', 'Y')N

Insert_priv

enum( 'N', 'Y')N

Update_priv

enum( 'N', 'Y')N

Delete_priv

enum( 'N', 'Y')N

Create _priv

enum( 'N', 'Y')N

Drop_priv

enum( 'N', 'Y')N

Reload_priv

enum( 'N', 'Y')N

Shutdown_priv

enum( 'N', 'Y')N

ssl_type

enum(",'ANY', X509','SPECIFIED)

ssl_cipher

blobNULL

x509_issuer

blob NULL

x509_subject

blob NULL

max_questions

int(11) unsigned0

max_updates

int(11) unsigned0

max_connections

int(11) unsigned0

max_user_connections

int(11) unsigned0

plugin

char(64)

authentication string

textNULL

        表中只列举了 user 表的一部分字段,这些字段大致可分为4类,具体如下。

1、用户列

        user 表的用户列包括 Host、User、Password,分别代表主机名、用户名和密码。其中Host 和 User 列为 user 表的联合主键,当用户与服务器建立连接时,输人的用户名、主机名和密码必须匹配 user 表中对应的字段,只有这三个值都匹配的时候,才允许建立连接。当修改密码时,只需要修改 user 表中 Password 字段的值即可。

2、权限列

        user 表的权限列包括 Select_priv、Insert_priv、Update_priv 等以 priv 结尾的字段,这些字段决定了用户的权限,其中包括查询权限、修改权限、关闭服务等权限。

        user 表对应的权限是针对所有数据库的,并且这些权限列的数据类型都是 ENUM,取值只有 N或 Y,其中 N 表示该用户没有对应权限,Y表示该用户有对应权限,为了安全起见,这些字段的默认值都为 N,如果需要可以对其进行修改。

3、安全列

        user 表的安全列用于管理用户的安全信息,其中包括6个字段,具体如下。
(1)ssl_type 和 ssl_cipher: 用于加密。

(2)x509_issuer 和 x509_subject 标准:可以用来标识用户。

(3)plugin 和 authentication_string:用于存储与授权相关的插件。

        通常标准的发行版不支持 ssl 加密,初学者可以使用 SHOW VARIABLES LIKE have_openssl'语句查看,如果 have_openssl 的取值为 DISABLED,则表示不支持加密。

4、资源控制列

        user 表的资源控制列是用于限制用户使用的资源,其中包括4个字段,具体如下

(1)max_questions:每小时允许用户执行查询操作的次数。

(2)max_updates:每小时允许用户执行更新操作的次数。

(3)max_connections:每小时允许用户建立连接的次数。

(4)max_user_connections:允许单个用户同时建立连接的次数。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++ | Leetcode C++题解之第405题数字转换为十六进制数
  • 搭建Eureka高可用集群 - day03
  • ollama语言大模型部署使用
  • 408(笔试)
  • AIGC图片相关知识和实战经验(Flux.1,ComfyUI等等)
  • 【深度智能】:迈向高级时代的人工智能全景指南
  • redis中的5中数据结构
  • 传神论文中心|第25期人工智能领域论文推荐
  • [数据集][目标检测]高铁受电弓检测数据集VOC+YOLO格式1245张2类别
  • 嵌入式硬件基础知识
  • 【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
  • 【笔记】自动驾驶预测与决策规划_Part1_自动驾驶决策规划简介
  • 【03】深度学习——神经网络原理 | 多层感知机 | 前向传播和反向传播 | 多层感知机代码实现 | 回归问题、分类问题 | 多分类问题代码实现
  • 配置网络yum源
  • BolckingQueue
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【剑指offer】让抽象问题具体化
  • docker容器内的网络抓包
  • fetch 从初识到应用
  • js递归,无限分级树形折叠菜单
  • mongo索引构建
  • php中curl和soap方式请求服务超时问题
  • React中的“虫洞”——Context
  • Redux 中间件分析
  • spring + angular 实现导出excel
  • windows下mongoDB的环境配置
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 关于 Cirru Editor 存储格式
  • 好的网址,关于.net 4.0 ,vs 2010
  • 蓝海存储开关机注意事项总结
  • 聊聊directory traversal attack
  • 如何编写一个可升级的智能合约
  • 入手阿里云新服务器的部署NODE
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 最近的计划
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​水经微图Web1.5.0版即将上线
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • #传输# #传输数据判断#
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (分类)KNN算法- 参数调优
  • (回溯) LeetCode 46. 全排列
  • (回溯) LeetCode 78. 子集
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (四)stm32之通信协议
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)