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

2024年 3月 5日 152.2k 0

前言

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

背景

花了较长时间看完了《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):

image.png

步骤二:Ruby的安装

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

image.png

image.png

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

C:ProgramDataMySQLMySQL Server 5.7Data>ruby -v
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x64-mingw-ucrt]

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

步骤三:innodb_ruby的安装

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

image.png

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

安装完毕可以查看帮助:

C:ProgramDataMySQLMySQL Server 5.7Data>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:ProgramDataMySQLMySQL Server 5.7Data

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

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

C:ProgramDataMySQLMySQL Server 5.7Data>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、名称以及占用的空间大小等元数据。

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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论