MySQL Sandbox是一个非常简单快捷部署隔离的MySQL服务的一个工具。程序是用perl语言写的,有兴趣可以去读读。
可以在同一台服务器上,快速的部署一个到多个相互隔离互不影响的mysqld服务。比如,开发人员要测试程序系统的不需要在mysql的安装上纠缠过多。对新版本的一些特性感兴趣,尽可能快速结束安装部署。最短时间部署数据库应用架构如Replication Cluster进行性能测试。
当你还在纠结安装出错启动失败时,当你还在一步一步架设replication时,当你还在一步一步架设cluster架构时,当你还在搭建测试环境时,当你。。。。。。使用sandbox吧,一切变成浮云。everything is simple!!!!!!
make_sandbox : 最简单创建sandbox
low_level_make_sandbox : 创建单个sandbox,微调选项但不直接使用
make_replication_sandbox :创建master-slave架构
make_multiple_sandbox : 创建相同版本的sandbox
make_multiple_custom_sandbox :创建不同版本的sandbox
make_sandbox_from_source : 从build目录创建一个sandbox
make_sandbox_from_installed : 从已安装的二进制文件创建一个sandbox
sbtool : sandbox管理工具
具体用法参考源码目录下的README文档,非常详细。
# wget https://launchpad.net/mysql-sandbox/mysql-sandbox-3/mysql-sandbox-3/+download/MySQL-Sandbox-3.0.25.tar.gz
# tar zxvf MySQL-Sandbox-3.0.25.tar.gz -C ../software/
# perl Makefile.PL
# make
# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_modules.t ...................... ok
t/02_test_binaries.t ................ ok
t/03_test_sandbox.t ................. ok
t/04_test_sbtool.t .................. ok
t/05_test_smoke.t ................... ok
t/06_test_user_defined.t ............ ok
t/07_test_user_defined.t ............ ok
t/08_test_single_port_checking.t .... ok
t/09_test_multiple_port_checking.t .. ok
t/10_check_start_restart.t .......... ok
t/11_replication_parameters.t ....... ok
t/12_custom_user_pwd.t .............. ok
t/13_innodb_plugin_install.t ........ ok
t/14_semi_synch_plugin_install.t .... ok
t/15_user_privileges.t .............. ok
t/16_replication_options.t .......... ok
All tests successful.
Files=16, Tests=53, 2 wallclock secs ( 0.03 usr 0.20 sys + 1.26 cusr 0.68 csys = 2.17 CPU)
Result: PASS
# make install