2月阅读周·MySQL数据库入门:用户管理之user表篇
引言
《MySQL数据库入门》作为一种技术的入门教程,最重要也最难的一件事情就是要将一些非常复杂、难以理解的思想和问题简单化,让初学者能够轻松理解并快速掌握。本教材对每个知识点都进行了深入的分析,并针对每个知识点精心设计了相关案例,然后模拟这些知识点在实际工作中的运用,真正做到了知识的由浅入深、由易到难。
全书可以大致分成三个部分的内容:
第1章主要介绍了数据库的相关知识,包括创建的数据库产品、数据库存储结构、MySQL的安装配置与使用等。通过本章的学习,要求初学者对数据库有一个大致的认识,并且可以独立完成MySQL数据库的安装和配置。
第6~7章讲解了数据库中的事务、存储过程以及视图,这些内容可以对MySQL数据库进行性能优化,希望初学者可以循序渐进掌握MySQL中的各项技术。
第8章讲解了MySQL数据库的高级操作,包括数据的备份还原、用户管理和权限管理,要求初学者会对数据进行备份还原,并且可以通过权限控制管理不同的用户。
user表
在安装MySQL时,会自动安装一个名为mysql的数据库,该数据库中的表都是权限表,如user、db、host、tables_priv、column_priv和procs_priv,其中user表是最重要的一个权限表,它记录了允许连接到服务器的账号信息以及一些全局级的权限信息,通过操作该表就可以对这些信息进行修改。下面我列举了user表中的一些常用字段,如表1-1所示。
表1-1 user表
表1-1中只列举了user表的一部分字段,实际上MySQL 5.5的user表中有42个字段,这些字段大致可分为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:允许单个用户同时建立连接的次数。
总结
每个软件都会对用户信息进行管理,MySQL也不例外,MySQL中的用户分为root用户和普通用户,root用户为超级管理员,具有所有权限,如创建用户、删除用户、管理用户等,而普通用户只拥有被赋予的某些权限。
user表是最重要的一个权限表,它记录了允许连接到服务器的账号信息以及一些全局级的权限信息,通过操作该表就可以对这些信息进行修改。
作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。
- 点赞
- 收藏
- 关注作者
评论(0)