Perl Advent Calendar 2010-12-05

mytop 和 MySQL::Sandbox

by Fayland Lam

我想大部分用 MySQL 的人都使用过 mytop, mytop 类似 top, 可以显示 mysql 正在运行的 sql。

如果你想监视某个 mysql host 的运行情况,或者你想 kill 掉某个运行太长时间的 SQL,mytop 都是一个很不错的 tool。

mytop 的原理比较简单。通过 SHOW PROCESSLISTSHOW STATUS 来显示所需的信息。用法也超级简单。将 mysql 替换成 mytop 就可以了。

$ mysql -hlocalhost -uroot -pmy_pwd

进入后一些有用的输入可能是:

* h 显示帮助 * f 显示完整的 sql * k 杀死一个 sql * p 暂停刷新 * q 退出

更多的请参阅 http://jeremy.zawodny.com/mysql/mytop/mytop.html (CPAN 上有点 outdated)

同时,另一个比较有用的 MySQL 工具就是 MySQL::Sandbox

前几天我们介绍了随心所欲安装不同的 perl 版本,这次我们可以随心所欲地在一台服务器上安装不同的 mysql 版本。

Sandbox 意味着这仅仅是个沙盒,它很安全,它不会对系统的 mysql 造成任何影响。使用该 tool,我们不仅仅可以创建单点 mysql,还可以创建 replication,circular replication 甚至多个 sandbox

下面只是简单的介绍,无论任何时候,想摸透一个东西,您都需要自己动手尝试。

$ cpanm MySQL::Sandbox
$ # 从 MySQL 网站下载编译好的文件或者源码文件 A
$ # 编译好的文件我们可以简单的用
$ make_sandbox /path/to/mysql-X.X.XX-osinfo.tar.gz
$ # 从源码开始,注意别 make install 了
$ cd mysql-5.1.53
$ ./configure && make
$ make_sandbox_from_source /path/to/mysql-5.1.53 single

这样我们就有了一个简单的单点 mysql,可以随时开始我们的测试。

安装完毕后,进去安装完成的目录。里面有一个 my.sandbox.cnf 是配置文件,包含 username/password/port 等。其它的都是 sh 文件,使用特定的运行文件,配置文件和目录。

使用它们,你就会对 MySQL 有更多的了解。谢谢。

View Source (POD)