【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、名称以及占用的空间大小等元数据。

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

相关推荐
陈随易1 天前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
misL NITL1 天前
mysql之如何获知版本
数据库·mysql
陈随易1 天前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
大鱼七成饱1 天前
VMware NAT模式下固定内网IP(附详细图文)
后端
北极的冰箱1 天前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
XDH_CS1 天前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql
秋91 天前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
IT_陈寒1 天前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
兔子零10241 天前
手把手教你在 Claude Code 中接入 DeepSeek-V4
后端
AtOR CUES1 天前
MySQL——表操作及查询
android·mysql·adb