MySQL环境搭建利器---Sandbox

 

 

 

https://metacpan.org/pod/MySQL::Sandbox

1.安装cpan

2.安装软件依赖的包
3.安装MySQL Sandbox
4.设置环境变量(否则会抛错)
5.下载mysql二进制软件包(我这里下载mysql5.6和mariadb-10,软件各位童鞋自己搜索,我这里已经下载,如下)
[root@localhost mysql]# pwd
/opt/mysql
[root@localhost mysql]# ll
total 588236
-rw-r--r--. 1 root root 295874759 Jun  4 04:56 mariadb-10.0.12-linux-x86_64.tar.gz
-rw-r--r--. 1 root root 306470256 Jun  4 04:56 mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
[root@localhost mysql]#

看见各种提示都给出了,相信童鞋们都看的懂,选择Y同意。

最后会有安装路径的提示,默认在家目录下的sandboxes下。我们可以看看
[root@localhost sandboxes]# pwd
/root/sandboxes
[root@localhost sandboxes]# ll
total 40
-rwxr-xr-x. 1 root root   54 Jun  4 05:25 clear_all
drwxr-xr-x. 4 root root 4096 Jun  4 05:25 msb_5_6_12
-rw-r--r--. 1 root root 3621 Jun  4 05:25 plugin.conf
-rwxr-xr-x. 1 root root   56 Jun  4 05:25 restart_all
-rwxr-xr-x. 1 root root 2139 Jun  4 05:25 sandbox_action
-rwxr-xr-x. 1 root root   58 Jun  4 05:25 send_kill_all
-rwxr-xr-x. 1 root root   54 Jun  4 05:25 start_all
-rwxr-xr-x. 1 root root   55 Jun  4 05:25 status_all
-rwxr-xr-x. 1 root root   53 Jun  4 05:25 stop_all
-rwxr-xr-x. 1 root root   52 Jun  4 05:25 use_all
[root@localhost sandboxes]#

[root@localhost ~]# pgrep -fl mysql2151 /bin/sh /opt/mysql/5.6.12/bin/mysqld_safe --defaults-file=/root/sandboxes/msb_5_6_12/my.sandbox.cnf2331 /opt/mysql/5.6.12/bin/mysqld --defaults-file=/root/sandboxes/msb_5_6_12/my.sandbox.cnf --basedir=/opt/mysql/5.6.12 --datadir=/root/sandboxes/msb_5_6_12/data --plugin-dir=/opt/mysql/5.6.12/lib/plugin --user=root --log-error=/root/sandboxes/msb_5_6_12/data/msandbox.err --pid-file=/root/sandboxes/msb_5_6_12/data/mysql_sandbox5612.pid --socket=/tmp/mysql_sandbox5612.sock --port=5612[root@localhost ~]#

[root@localhost msb_5_6_12]# pkill -9 mysqld [root@localhost msb_5_6_12]# ./start  sandbox server already started (found pid file /root/sandboxes/msb_5_6_12/data/mysql_sandbox5612.pid)  sandbox server started [root@localhost msb_5_6_12]# rm -f /root/sandboxes/msb_5_6_12/data/mysql_sandbox5612.pid [root@localhost msb_5_6_12]# ./start  . sandbox server started [root@localhost msb_5_6_12]#

对于部署多个实例,我们还可以添加一个环境变量,就是将实例安装在指定的位置,
下面默认部署3个实例(相同的版本)

[root@mysql-server-01 mysql]# make_multiple_sandbox mariadb-10.0.12-linux-x86_64.tar.gz 

installing node 1

installing node 2

installing node 3

group directory installed in $SANDBOX_HOME/multi_msb_mariadb-10_0_12

[root@mysql-server-01 mysql]# 

现在是不是开始爱上MySQL Sandbox了呢?那你还等什么?心动就上吧!哈哈,就写到这里了。

http://pan.baidu.com/s/1sjLMJCx

一 sandbox是什么?
二 如何安装和使用
获取Percona server 5.7.17 版本

  1. wget  "https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.17-11/binary/tarball/Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz"

要深入了解各个命令的具体用法,请参考源码目录下的README文档,然后再自己动手实践,能理解更深刻,毕竟纸上来得终觉浅,绝知此事要躬行。下面主要通过
安装单个实例

  1. root@rac4 :/data/mysql#  >make_sandbox /data/mysql/Percona -Server -5 .7 .17 -11 -Linux .x86_64 .ssl101 .tar .gz
  2. unpacking /data/mysql/Percona -Server -5 .7 .17 -11 -Linux .x86_64 .ssl101 .tar .gz
  3. Executing low_level_make_sandbox  - -basedir = /data/mysql/5 .7 .17 \
  4. --sandbox_directory =msb_5_7_17 \
  5. --install_version =5 .7 \
  6. --sandbox_port =5717 \
  7. --no_ver_after_name \
  8. --my_clause =log -error =msandbox .err
  9.     The MySQL Sandbox , version 3 .2 .05
  10.      (C ) 2006 -2016 Giuseppe Maxia
  11. Installing with the following parameters :
  12. upper_directory  = /root/sandboxes
  13. sandbox_directory  = msb_5_7_17
  14. sandbox_port  = 5717
  15. check_port  =
  16. no_check_port  =
  17. datadir_from  = script
  18. install_version  = 5 .7
  19. basedir  = /data/mysql/5 .7 .17
  20. tmpdir  =
  21. my_file  =
  22. operating_system_user  = root
  23. db_user  = msandbox
  24. remote_access  = 127 . %
  25. bind_address  = 127 .0 .0 .1
  26. ro_user  = msandbox_ro
  27. rw_user  = msandbox_rw
  28. repl_user  = rsandbox
  29. db_password  = msandbox
  30. repl_password  = rsandbox
  31. my_clause  = log -error =msandbox .err
  32. ...... 省略部分内容
  33. prompt_prefix  = mysql
  34. prompt_body  =  [ \h ] {\u}  ( \d )  >
  35. force  =
  36. no_ver_after_name  = 1
  37. verbose  =
  38. load_grants  = 1
  39. no_load_grants  =
  40. no_run  =
  41. no_show  =
  42. keep_uuid  =
  43. history_dir  =
  44. do you agree ?  ( [Y ] ,n ) Y

/root/sandboxes/msb_5_7_17搭建主从
,其他的可以从文件名知道具体用途。这里介绍两个命令 test_replication和 check_slaves 两个命令功能类似,都是检查slave 的状态信息。      按照之前要部署虚拟机安装MySQL的时间和精力来看,使用sandbox的感觉就是一个字- 官方文档