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

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

相关推荐
骆晨学长4 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
AskHarries9 分钟前
利用反射实现动态代理
java·后端·reflect
楠枬20 分钟前
MySQL数据的增删改查(一)
数据库·mysql
Flying_Fish_roe33 分钟前
Spring Boot-Session管理问题
java·spring boot·后端
hai405871 小时前
Spring Boot中的响应与分层解耦架构
spring boot·后端·架构
阿华的代码王国2 小时前
MySQL ------- 索引(B树B+树)
数据库·mysql
liupenglove2 小时前
golang操作mysql利器-gorm
mysql·golang
Adolf_19933 小时前
Flask-JWT-Extended登录验证, 不用自定义
后端·python·flask
叫我:松哥3 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
海里真的有鱼3 小时前
Spring Boot 项目中整合 RabbitMQ,使用死信队列(Dead Letter Exchange, DLX)实现延迟队列功能
开发语言·后端·rabbitmq