【MySQL是怎样运行的】之Windows环境安装innodb_ruby工具并使用

前言

这个教程基于我的个人理解和实践,所以请大家多多指教。错误之处,欢迎评论指出,方便大家也能参考.有时间的话我也很乐意及时的进行改正。如果教程中有表述不清楚的地方,也请指出,或提供建议。

背景

花了较长时间看完了《MySQL必知必会》,然后开始看《MySQL 是怎样运行的:从根儿上理解 MySQL》,看到大概第四章的时候,感觉不太容易读下去,前面读后面忘,所以在想,是不是自己的方式不太对,所以就重新读了下第0章(这个0很舒服,到底是程序员作者写的书)!然后看到作者有推荐一个工具,之前阅读时也看到了这个工具,但是因为只是唰唰往下读,所以懒得操作,但是我这一次我决定还是拿起来尝试下,作者推荐的,应该还是不错的,毕竟这本小册的风评很好!

安装时也搜索了一些教程,因为大多数是linux环境的,我不是mac电脑,也懒得在虚拟机上搞,所以直接照猫画虎使用windows试了一下,还是比较容易的,花了会儿时间安装成功了,所以分享给大家!

本机环境

win10 x64

MySQL 5.7

navicat

开始安装

步骤一:Ruby安装包的下载

首先参考www.runoob.com/ruby/ruby-i...

然后跳转rubyinstaller.org/downloads/ 如下所示:

关于图中WITH DEVKIT的THOUT DEVKIT的区别就是是否安装构建编译等工具包,我是单纯为了使用工具,所以选择Ryby 3.2.3.1(x64):

步骤二:Ruby的安装

双击下载好的rubyinstaller-3.2.3-1-x64.exe进行安装(可能需要等待一些时间),我选择默认路径进行安装,免去了配置环境变量等操作:

等待安装完成后,在cmd窗口执行ruby -v来验证是否安装成功:

bash 复制代码
C:\ProgramData\MySQL\MySQL Server 5.7\Data>ruby -v
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x64-mingw-ucrt]

安装成功后,接下来准备安装工具:innodb_ruby了!

步骤三:innodb_ruby的安装

继续在窗口中执行命令gem install innodb_ruby:

步骤四:验证是否安装成功

安装完毕可以查看帮助:

ruby 复制代码
C:\ProgramData\MySQL\MySQL Server 5.7\Data>innodb_space --help
Usage: innodb_space <options> <mode>
...
...
...
出现以上就表示工具安装成功了!

使用

关于此部分我参考了一下zhuanlan.zhihu.com/p/367708354 的2.2部分,因为这个是Linux环境,所以我问了下AI:linux中mysql的/usr/local/mysql/data/路径对应到windows是在哪里?

根据回答找到我本地的路径(大家自己的请参考自己的路径即可):

C:\ProgramData\MySQL\MySQL Server 5.7\Data

然后在此目录执行CMD,输入命令innodb_space -s ibdata1 system-spaces

分析MySQL InnoDB存储引擎中名为 ibdata1 的表空间文件的系统表空间信息

ruby 复制代码
C:\ProgramData\MySQL\MySQL Server 5.7\Data>innodb_space  -s ibdata1  system-spaces
name                            pages       indexes
(system)                        25344       7
test34@dev/dev_testa7           2
test34@dev/dev_testb6           1
test34@dev/dev_testc6           1
test34@dev/dev_testd7           2
test34@dev/dev_teste7           2
test34@dev/dev_testf19          2
test34@dev/dev_testg7           2
test34@dev/dev_testh7           2
test34@dev/dev_testi9           2
test34@dev/dev_testj7           2
test34@dev/dev_testk0        	2

具体说明如下:

  • innodb_space 是基于Ruby的innodb_ruby工具的一个功能模块,用于解析和展示InnoDB表空间的详细内容。
  • -s ibdata1 参数指定了要分析的InnoDB表空间文件,ibdata1 是MySQL默认的共享表空间文件,存储了系统表、用户数据、索引等信息。
  • system-spaces 是该工具的一个子命令选项,执行后会展示 ibdata1 文件中所有系统表空间的详细信息,包括但不限于表空间ID、名称以及占用的空间大小等元数据。

感谢您耐心阅读至此,如果本文对您有所启发或帮助,欢迎点赞支持,这将是我持续分享的动力。

相关推荐
2402_857589364 分钟前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
一只爱打拳的程序猿22 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
假装我不帅2 小时前
asp.net framework从webform开始创建mvc项目
后端·asp.net·mvc
秋意钟2 小时前
MySQL日期类型选择建议
数据库·mysql
神仙别闹2 小时前
基于ASP.NET+SQL Server实现简单小说网站(包括PC版本和移动版本)
后端·asp.net
计算机-秋大田3 小时前
基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
java·论文阅读·spring boot·后端·vue
货拉拉技术3 小时前
货拉拉-实时对账系统(算盘平台)
后端
ac-er88883 小时前
MySQL如何实现PHP输入安全
mysql·安全·php
桀桀桀桀桀桀3 小时前
数据库中的用户管理和权限管理
数据库·mysql