MySQL管理与phpMyAdmin的发展历程
1. MySQL用户管理与权限设置
在MySQL数据库管理中,用户管理和权限设置是至关重要的部分,它关乎数据库的安全性和数据的合理使用。
1.1 全局权限
全局权限决定了用户对所有数据库的访问权限,因此有时也被称为“超级用户权限”。通常情况下,普通用户不应拥有这些权限,除非有合理的理由。如果要创建超级用户,则需为其选择所需的所有全局权限。这些权限进一步分为数据、结构和管理组。例如,名为bill的用户将不被赋予任何全局权限。
1.2 资源限制
可以对用户在服务器上使用的资源进行限制,如每小时的最大查询次数。设置为零表示不进行限制。对于bill用户,不施加任何资源限制。
1.3 用户编辑
用户创建后,或者在用户概览页面点击编辑按钮时,会出现编辑用户的页面。该页面分为四个部分,每个部分都有自己的“执行”按钮,可独立操作,各有不同的用途。
-
编辑权限
:此部分界面与添加新用户对话框相似,用于查看和更改全局权限。
-
特定数据库权限
:定义用户可访问的数据库及其具体权限。有两种定义数据库权限的方法:
- 从下拉菜单中选择现有的数据库,这样仅为所选数据库分配权限。
- 选择使用文本字段并输入数据库名称。可以输入不存在的数据库名称,前提是在下一面板中给予用户创建权限,用户后续便可创建该数据库。还可使用特殊字符(如下划线和百分号)作为通配符。例如,输入bill,用户可创建bill数据库;输入bill%,用户可创建以bill开头的任意名称的数据库。在此示例中,输入bill,并为bill用户在bill数据库上赋予SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、INDEX和DROP权限,然后点击“执行”。权限分配后,界面保持不变,可进一步细化权限。由于数据库尚未创建,暂时无法分配特定表的权限。点击’bill’@’localhost’标题可返回bill的一般权限页面,此时可看到bill在bill数据库上的现有权限(可编辑或撤销),还能为bill添加在其他数据库上的权限,同时可知bill在bill数据库上没有特定表的权限。
-
更改密码
:此对话框是编辑用户页面的一部分,可用于更改或移除bill的密码。移除密码后,bill无需密码即可登录。
-
更改登录信息或复制用户
:可用于更改用户的登录信息,或将其登录信息复制到新用户。例如,若Bill希望将登录名改为billy,只需在用户名后添加y,选择本地主机,然后选择从用户表中删除旧用户。操作完成后,bill在mysql数据库中不再存在,其所有权限(包括在bill数据库上的权限)将转移到新用户billy,但bill的用户定义仍存在于内存中,仍然有效。若选择从用户表中删除旧用户并重新加载权限选项,bill的用户定义将立即失效。也可选择保留旧用户来创建新用户,可选择不更改密码将其转移到新用户,或两次输入新密码进行更改。若用户已登录,选择撤销所有活动权限选项将立即终止其当前有效的权限。
-
移除用户
:在权限页面的用户概览部分进行操作。选择要移除的用户,在“移除所选用户”中可选择“删除”以移除与要删除用户同名的数据库,点击“执行”即可有效移除所选用户。
2. 数据库信息管理
数据库信息管理有助于管理员快速了解数据库的权限和统计信息。
2.1 数据库子页面
数据库子页面旨在快速获取每个数据库的权限信息,还可用于获取这些数据库的全局统计信息,而无需在导航面板中逐个点击数据库。进入该子页面时,会看到现有数据库的列表,同时还有一个“启用统计信息”链接。默认情况下,统计信息未启用,因为计算所有数据库中所有表的数据和索引大小可能会消耗宝贵的MySQL服务器资源。
2.2 启用统计信息
点击“启用统计信息”链接后,页面会发生变化。对于每个数据库,会显示该数据库中表的默认排序规则、表的数量以及所有表的总行数。接着会给出表的数据部分使用的空间信息,随后是所有索引占用的空间和所有表的总空间。最后,会在“开销”项下列出通过优化某些表可回收的空间。
2.3 统计信息排序
默认情况下,列表按数据库名称升序排序。若要查找表最多或占用空间最大的数据库,只需点击“表”或“总计”列标题即可相应排序,再次点击则反转排序顺序。
2.4 检查数据库权限
点击“检查权限”图标可显示特定数据库的所有权限,可能会显示用户的全局权限,因为全局权限也赋予了用户对该数据库的访问权,同时还能看到该数据库的特定权限。点击“编辑”链接可进入另一个页面编辑用户的权限。
2.5 删除所选数据库
这是一项需谨慎操作的任务。要删除一个或多个数据库,需在要删除的数据库名称旁打勾,然后点击“所选项目”旁边的红色X,会出现确认屏幕。
以下是用户管理和权限设置的流程图:
graph LR
A[用户管理] --> B[全局权限设置]
A --> C[资源限制设置]
A --> D[用户编辑]
D --> D1[编辑权限]
D --> D2[特定数据库权限]
D --> D3[更改密码]
D --> D4[更改登录信息或复制用户]
D --> D5[移除用户]
B --> E{是否超级用户}
E -- 是 --> F[选择所有所需全局权限]
E -- 否 --> G[不赋予全局权限]
D2 --> H{定义权限方式}
H -- 选择现有数据库 --> I[分配所选数据库权限]
H -- 输入数据库名 --> J[可创建新数据库并分配权限]
3. 服务器信息查看
通过服务器的不同菜单选项,可获取MySQL服务器的相关信息或对特定进程进行操作。
3.1 服务器状态验证
这些统计信息反映了MySQL服务器的总体活动,包括但不限于从phpMyAdmin发送的查询所产生的活动。
-
一般状态页面
:点击“状态”链接可获取服务器的运行时信息。页面分为几个部分,首先是服务器的运行时间和启动时间信息,接着是流量和连接的总量和平均值(其中ø表示平均值),然后显示查询的统计信息(部分展示),每小时、每分钟和每秒的平均查询次数能很好地反映服务器负载,随后是每个MySQL命令的统计信息,包括绝对执行次数、每小时平均值以及占总次数的百分比。根据MySQL版本的不同,还会显示许多其他包含服务器信息的部分。
-
InnoDB状态
:在支持InnoDB的服务器上,InnoDB部分末尾会出现一个链接,点击该链接可显示InnoDB子系统的信息,包括最后一次发生的InnoDB错误信息。
3.2 服务器变量
“变量”子页面显示MySQL服务器的各种设置,这些设置可在my.cnf MySQL配置文件中定义,但无法在phpMyAdmin中更改。
3.3 服务器进程
“进程”子页面可供超级用户和普通用户使用。普通用户只能看到属于自己的进程,而超级用户能看到所有进程。该页面列出服务器上的所有活动进程,有“终止”链接可终止特定进程。例如,示例中只有一个正在运行的进程,即SHOW PROCESSLIST命令本身创建的进程,该进程无法终止,因为在看到页面时它已停止运行,实际服务器上通常会有更多进程运行。
4. 其他信息查看
除上述内容外,还有一些其他方面的信息查看功能。
4.1 存储引擎
存储引擎信息以两级格式提供。首先,“引擎”选项卡显示当前MySQL版本可能的引擎概述,服务器上启用的引擎名称可点击。点击某个引擎名称会显示其详细设置面板,将鼠标悬停在右上角的数字上可显示有关特定设置的更多信息。
4.2 可用字符集和排序规则
主页上的“字符集”菜单选项卡打开“字符集”子页面的服务器视图,列出MySQL服务器支持的字符集和排序规则。每个字符集的默认排序规则以不同背景颜色显示(使用$cfg[‘BrowseMarkerColor’]定义的行标记颜色)。
4.3 二进制日志
若服务器上MySQL的二进制日志处于活动状态,服务器视图中的菜单会发生变化,出现“二进制日志”选项卡。通过该选项卡可通过SHOW BINLOG EVENTS命令访问一个界面,该命令会生成更新服务器上数据的SQL语句列表。此列表可能非常庞大,目前phpMyAdmin未采用分页技术限制显示,可能会达到浏览器的内存限制,具体取决于所使用的浏览器。选择要检查的二进制日志(若服务器只有一个二进制日志则无需选择),即可显示相关语句。
5. phpMyAdmin的发展历程
phpMyAdmin从1998年的个人业余项目发展至今,在功能和参与人数方面都有了显著增长。
5.1 早期事件
1998年9月9日,来自瑞士的Tobias Ratschiller编写了第一个内部版本(0.9.0),并于10月26日发布了1.0.1版本。早期版本在Tobias的网站http://www.phpwizard.net上提供。该项目基于Peter Kuppelwieser的MySQL - Webadmin的创意,即使用PHP3创建基于Web的MySQL接口。与现在的版本相比,第一个版本功能有限,但可用于创建数据库和表、编辑其结构以及输入和检索数据。1998年11月29日发布的1.2.0版本吸引了众多用户,由于作者所在学校的学生说法语,作者联系Tobias并将所有消息外包到消息文件中,Tobias接受了该提议。1998年12月27日,Tobias发布了第一个多语言版本1.3.1,同时他自己也创建了德语消息文件。1999年至2000年上半年,Tobias改进了导航系统,添加了功能,并合并了更多语言文件。他的项目网站设有讨论论坛,用于交流新想法和讨论补丁。2000年8月6日发布的2.1.0版本是Tobias发布的最后一个版本,之后他因无暇继续投入该项目而停止更新。
5.2 项目重启
由于用户数量不断增加,对产品的需求也更多,但补丁缺乏协调,且第三方发布了安全警报和修复程序却无新版本发布。2001年3月31日,Olivier Müller在SourceForge.net上注册了phpMyAdmin项目,并发布了2.2.0预发布版本,当时被称为非官方版本。这一重启吸引了一些开发者,他们利用SourceForge的基础设施(CVS服务器、论坛、错误跟踪器和邮件列表)加速开发。作者于2001年5月重新加入项目,与其他开发者一起修复和改进代码。2001年5月28日,Tobias认可该版本为新的官方版本。经过五个月的开发,包括五个beta版本和四个候选发布版本,2001年8月31日发布了2.2.0版本。该版本修复了安全问题,添加了七种新语言(支持动态语言检测),代码重新编写以符合CSS2和XHTML 1.0标准,并遵循PEAR编码规范,还引入了书签功能,该功能源自一个名为“phpMyBookmark”的独立插件。
5.3 后续发展
在接下来的一年里,项目持续发展,发布了七个小版本。2.2.x系列的最后一个版本2.2.7 - pl1也是在PHP 3下完全测试的最后一个版本。2002年4月3日,注册了phpmyadmin.net作为项目的官方域名。phpMyAdmin有众多的分发渠道,MySQL网站的下载页面很早就提到了它,许多Linux发行版也将其包含在套件中,还有一些包构建者为各种平台准备了套件,如著名的Apache Friends的XAMPP套件。2002年8月11日发布的2.3.0版本被称为“大拆分版本”,它创建了子页面以分组相关功能,增强了数据库和表视图。团队开始每两个月发布一个小版本。2003年2月23日发布的2.4.0版本增加了新的服务器/用户管理功能,2003年5月11日发布的2.5.0版本引入了新的MIME类型单元格转换系统。2004年9月27日发布的2.6.0版本支持PHP 5中的新mysqli扩展,以提高性能和安全性,界面也进行了重新设计,包括新图标和主题管理器。2005年4月16日发布的2.6.2版本增加了对MySQL视图的基本支持。2005年6月,phpMyAdmin开发团队在德国卡尔斯鲁厄的LinuxTag 2005活动中举行了首次会议,来自瑞士、德国、捷克共和国和加拿大的六名团队成员展示了phpMyAdmin并与参会者讨论其功能,同时庆祝了PHP和MySQL的10周年纪念日。
以下是phpMyAdmin发展历程的时间线表格:
| 时间 | 版本 | 主要事件 |
| ---- | ---- | ---- |
| 1998年9月9日 | 0.9.0 | Tobias Ratschiller编写第一个内部版本 |
| 1998年10月26日 | 1.0.1 | 发布1.0.1版本 |
| 1998年11月29日 | 1.2.0 | 发布1.2.0版本 |
| 1998年12月27日 | 1.3.1 | 发布第一个多语言版本 |
| 2000年8月6日 | 2.1.0 | Tobias发布最后一个版本 |
| 2001年3月31日 | 2.2.0(预发布) | Olivier Müller重启项目并发布预发布版本 |
| 2001年5月28日 | - | 认可为新的官方版本 |
| 2001年8月31日 | 2.2.0 | 正式发布2.2.0版本 |
| 2002年4月3日 | - | 注册phpmyadmin.net作为官方域名 |
| 2002年8月11日 | 2.3.0 | “大拆分版本”发布 |
| 2003年2月23日 | 2.4.0 | 增加服务器/用户管理功能 |
| 2003年5月11日 | 2.5.0 | 引入MIME类型单元格转换系统 |
| 2004年9月27日 | 2.6.0 | 支持mysqli扩展,界面重新设计 |
| 2005年4月16日 | 2.6.2 | 增加对MySQL视图的基本支持 |
| 2005年6月 | - | 开发团队首次会议,庆祝PHP和MySQL 10周年 |
综上所述,MySQL的用户管理与权限设置以及服务器信息查看是数据库管理的重要方面,而phpMyAdmin作为一款优秀的MySQL管理工具,其发展历程见证了技术的不断进步和完善。
MySQL管理与phpMyAdmin的发展历程
6. MySQL用户管理操作总结
在MySQL管理中,用户管理是保障数据库安全和合理使用的关键环节。以下是对用户管理相关操作的总结:
6.1 用户创建与权限分配
- 全局权限 :普通用户通常不应拥有全局权限,超级用户则需选择所需的全部全局权限,这些权限分为数据、结构和管理组。
- 资源限制 :可对用户在服务器上的资源使用进行限制,如每小时最大查询次数,设置为零表示无限制。
- 特定数据库权限 :有两种方式定义数据库权限,一是从下拉菜单选择现有数据库,二是输入数据库名(可使用通配符)。赋予用户相应权限后,可进一步细化。
以下是用户创建与权限分配的操作步骤列表:
1. 进入用户管理界面。
2. 若创建超级用户,勾选所需的全局权限;普通用户可不赋予全局权限。
3. 设置资源限制(若需要)。
4. 选择定义数据库权限的方式,输入数据库名并赋予相应权限。
5. 点击“执行”完成操作。
6.2 用户信息修改
- 更改密码 :可在编辑用户页面更改或移除用户密码,移除后用户无需密码登录。
- 更改登录信息或复制用户 :可修改用户登录名,或复制用户信息到新用户,同时可选择是否删除旧用户及重新加载权限。
用户信息修改操作步骤如下:
1. 进入编辑用户页面。
2. 若更改密码,输入新密码或移除现有密码。
3. 若更改登录信息,修改用户名等信息,选择是否删除旧用户。
4. 点击“执行”保存更改。
6.3 用户移除
在权限页面的用户概览部分选择要移除的用户,可选择是否删除同名数据库,点击“执行”完成移除。
用户移除操作步骤:
1. 进入用户概览页面。
2. 勾选要移除的用户。
3. 选择是否删除同名数据库。
4. 点击“执行”。
7. 数据库信息管理要点
数据库信息管理能帮助管理员快速了解数据库状况,以下是相关要点总结:
7.1 统计信息启用与查看
默认统计信息未启用,点击“启用统计信息”链接后,可查看数据库的默认排序规则、表数量、总行数、数据和索引空间使用情况以及可回收空间等。
启用与查看统计信息操作步骤:
1. 进入数据库子页面。
2. 点击“启用统计信息”链接。
3. 查看各数据库的相关统计信息。
7.2 权限检查与数据库删除
点击“检查权限”图标可查看特定数据库的权限,点击“编辑”可修改权限。删除数据库需在数据库名旁打勾,点击红色X并确认。
权限检查与数据库删除操作步骤:
1. 进入数据库子页面。
2. 点击“检查权限”图标查看权限,若需修改,点击“编辑”进入修改页面。
3. 若要删除数据库,勾选数据库名,点击红色X,确认删除。
8. 服务器信息查看关键
服务器信息查看能让管理员掌握服务器运行状态,以下是关键内容:
8.1 服务器状态验证
- 一般状态页面 :点击“状态”链接,可获取服务器运行时间、流量和连接统计、查询统计以及MySQL命令统计等信息。
- InnoDB状态 :支持InnoDB的服务器,点击InnoDB部分末尾链接,可查看InnoDB子系统信息及错误信息。
查看服务器状态操作步骤:
1. 点击“状态”链接查看一般状态信息。
2. 若服务器支持InnoDB,点击InnoDB部分末尾链接查看InnoDB状态。
8.2 服务器变量与进程
“变量”子页面显示MySQL服务器的设置,无法在phpMyAdmin中更改。“进程”子页面,普通用户只能看到自己的进程,超级用户可查看所有进程,可点击“终止”链接终止特定进程。
查看服务器变量与进程操作步骤:
1. 点击“变量”子页面查看服务器设置。
2. 点击“进程”子页面查看进程信息,若需终止进程,点击“终止”链接。
9. phpMyAdmin发展对MySQL管理的影响
phpMyAdmin从一个人的业余项目发展成为功能强大的MySQL管理工具,对MySQL管理产生了深远影响。
9.1 功能增强
随着版本的不断更新,phpMyAdmin添加了众多功能,如服务器/用户管理、MIME类型单元格转换系统、对mysqli扩展的支持等,大大提高了MySQL管理的效率和便捷性。
以下是phpMyAdmin功能增强的时间线梳理表格:
| 时间 | 版本 | 功能增强内容 |
| ---- | ---- | ---- |
| 2003年2月23日 | 2.4.0 | 增加服务器/用户管理功能 |
| 2003年5月11日 | 2.5.0 | 引入MIME类型单元格转换系统 |
| 2004年9月27日 | 2.6.0 | 支持mysqli扩展,界面重新设计 |
| 2005年4月16日 | 2.6.2 | 增加对MySQL视图的基本支持 |
9.2 多语言支持
早期版本就实现了多语言支持,方便了不同语言背景的用户使用,扩大了用户群体。
9.3 社区发展
项目重启后,借助SourceForge的基础设施,吸引了众多开发者参与,形成了活跃的社区,不断推动phpMyAdmin的发展和完善。
以下是phpMyAdmin发展对MySQL管理影响的mermaid流程图:
graph LR
A[phpMyAdmin发展] --> B[功能增强]
A --> C[多语言支持]
A --> D[社区发展]
B --> E[提高管理效率]
C --> F[扩大用户群体]
D --> G[持续完善工具]
E --> H[更好的MySQL管理]
F --> H
G --> H
10. 总结与展望
MySQL的用户管理、数据库信息管理和服务器信息查看是数据库管理的核心内容,而phpMyAdmin作为优秀的管理工具,其发展历程反映了技术的进步和用户需求的变化。
在未来,随着MySQL技术的不断发展,phpMyAdmin有望进一步增强功能,如优化性能、增加更多的管理选项、提升安全性等。同时,社区的持续发展也将为工具的完善提供强大的动力,为MySQL管理员带来更好的管理体验。
通过深入了解MySQL管理和phpMyAdmin的发展,管理员能够更好地利用这些工具和技术,保障数据库的安全、稳定运行,提高数据管理的效率和质量。
超级会员免费看
1万+

被折叠的 条评论
为什么被折叠?



