【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 分钟前
深入理解Rust的模式匹配
开发语言·后端·rust·模式匹配·解构·结构体和枚举
一个小坑货2 分钟前
Rust 的简介
开发语言·后端·rust
难以触及的高度13 分钟前
mysql中between and怎么用
数据库·mysql
monkey_meng33 分钟前
【遵守孤儿规则的External trait pattern】
开发语言·后端·rust
Estar.Lee1 小时前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
新知图书2 小时前
Rust编程与项目实战-模块std::thread(之一)
开发语言·后端·rust
盛夏绽放2 小时前
Node.js 和 Socket.IO 实现实时通信
前端·后端·websocket·node.js
Ares-Wang2 小时前
Asp.net Core Hosted Service(托管服务) Timer (定时任务)
后端·asp.net
小技与小术2 小时前
数据库表设计范式
数据库·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql