【工具】MySQL 安装利器---Sandbox

一 sandbox是什么?
MySQL Sandbox是一个非常简单快捷的安装搭建MySQL实例的工具,它可以非常快速地满足我们对MySQL环境各种需求:单机实例,主从,一主多从等等架构(区别于自己安装MySQL 软件)。比如 新的数据库版本发行之后,想要尽快尝鲜 ,又不想花太多资源去安装,就可以使用sandbox帮助我们完成创建单个或者主从结构的实例。对于那些不懂MySQL安装的开发,测试同学而言,可以使用sandbox的快速搭建一个符合要求的数据库。MySQL Sandbox 快速,是以秒来衡量的,谁用谁知道。
二 如何安装和使用
2.1 安装sandbox
本文的案例是基于Centos虚拟机测试。 

  1. yum install cpan -y
  2. yum install perl-Test-Simple -y
  3. cpan MySQL::Sandbox
  4. echo 'export SANDBOX_AS_ROOT=1' >> /root/.bash_profile && source /root/.bash_profile

获取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"

2.2 常用命令
安装完成之后默认会在 /usr/local/bin/ 目录下产生make_开头的文件。

  1. make_sandbox                 基于二进制压缩包创建MySQL实例
  2. make_sandbox_from_source     基于源码创建MySQL实例,参数是而执行 ./configure && make 成功的源码存放目录
  3. make_sandbox_from_installed  基于已经安装好的mysql可执行文件目录安装MySQL实例
  4. make_sandbox_from_url        从网上下载docker 镜像进行安装,具体参考 --help 命令
  5. make_multiple_sandbox        创建多个相同版本的MySQL实例
  6. make_multiple_custom_sandbox 创建不同版本的MySQL实例
  7. make_replication_sandbox     搭建主从复制结构,可以是一主一从,也可以是一主多从。
  8. sbtool :                     sandbox管理工具

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

  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

输入Y 然后sandbox就会启动一个实例,需要等待20s 左右。

  1. # Starting server
  2. . sandbox server started
  3. # Loading grants
  4. Your sandbox server was installed in $HOME/sandboxes/msb_5_7_17

因为本案例采用root用户安装测试,新生成的数据库目录在 /root/sandboxes/msb_5_7_17,其中的文件如下 

大家可以研究各个可执行文件的具体内容。常用的有use,stop,start,restart 等等,例如

  1. root@rac4:~/sandboxes/msb_5_7_17# >./use --登陆数据库
  2. Welcome to the MySQL monitor. Commands end with ; or \g.
  3. Your MySQL connection id is 9
  4. Server version: 5.7.17-11 Percona Server (GPL), Release 11, Revision f60191c
  5. Copyright (c) 2009-2016 Percona LLC and/or its affiliates
  6. mysql [localhost] {msandbox} ((none)) > show databases;
  7. +--------------------+
  8. | Database           |
  9. +--------------------+
  10. | information_schema |
  11. | mysql              |
  12. | performance_schema |
  13. | sys                |
  14. | test               |
  15. +--------------------+
  16. 5 rows in set (0.00 sec)

搭建主从,本例中启用gtid 并且设置创建1个slave. 因为上例已经创建了一个5.7.17 源程序目录,我们可以基于该目录创建主从,当然也可以基于源码的压缩包。

  1. root@rac4:/data/mysql# >make_replication_sandbox --gtid --how_many_slaves=1 5.7.17
  2. installing and starting master
  3. installing slave 1
  4. starting slave 1
  5. .. sandbox server started
  6. initializing slave 1
  7. replication directory installed in $HOME/sandboxes/rsandbox_5_7_17

根据结果提示sandbox创建的主从在目录$HOME/sandboxes/rsandbox_5_7_17,进入该目录查看有如下文件 

其中master 和node1 分别是主库和备库的数据库目录, m和n1 都是登陆主库的命令,s1 和n2 都是登陆slave 的命令,其他的可以从文件名知道具体用途。这里介绍两个命令test_replication和check_slaves 两个命令功能类似,都是检查slave 的状态信息。check_slaves会把主库相关信息输出。

  1. root@rac4:~/sandboxes/rsandbox_5_7_17# >sh test_replication 检查主备关系
  2. # Master log: mysql-bin.000001 - Position: 10732 - Rows: 20
  3. # Testing slave #1
  4. ok - Slave #1 acknowledged reception of transactions from master
  5. ok - Slave #1 IO thread is running
  6. ok - Slave #1 SQL thread is running
  7. ok - Table t1 found on slave #1
  8. ok - Table t1 has 20 rows on #1
  9. # TESTS : 5
  10. # FAILED: 0 ( 0.0%)
  11. # PASSED: 5 (100.0%)
  12. # exit code: 0
  13. root@rac4:~/sandboxes/rsandbox_5_7_17# >./check_slaves  #
  14. master
  15. port: 20192
  16.              File: mysql-bin.000001
  17.          Position: 10732
  18. Executed_Gtid_Set: 00020192-1111-1111-1111-111111111111:1-40
  19. slave # 1
  20. port: 20193
  21.               Master_Log_File: mysql-bin.000001
  22.           Read_Master_Log_Pos: 10732
  23.              Slave_IO_Running: Yes
  24.             Slave_SQL_Running: Yes
  25.           Exec_Master_Log_Pos: 10732
  26.            Retrieved_Gtid_Set: 00020192-1111-1111-1111-111111111111:1-40
  27.             Executed_Gtid_Set: 00020192-1111-1111-1111-111111111111:1-40

三 小结
     按照之前要部署虚拟机安装MySQL的时间和精力来看,使用sandbox的感觉就是一个字-,只需简单的命令即可完成而且对使用者几乎是透明的当你需要快速搭建最小化测试环境时,完全可以使用sandbox助你一臂之力。当然本文仅仅只是本人在比较短时间内测试的总结,需要更加深入了解sandbox使用的,可以多看看源码和各个命令。推荐 官方文档 

时间: 2024-09-24 22:45:14

【工具】MySQL 安装利器---Sandbox的相关文章

MYSQL压力测试工具sysbench安装测试详解

如果评测一台mysql数据库的压力,可以使用sysbench来测试, 具体的操作出下,先安装sysbench工具,安装操作如下: 安装环境 CentOS release 5.4 (Final) MySQL 5.1.40 MySQL_HOME=/usr/local/mysql/ Sysbench 0.4.12 安装步骤: 1. 去http://sourceforge.net/projects/sysbench/下载最新版本的sysbench 0.4.12 2. 解压缩sysbench-0.4.12

WIN2000 Apache php mysql 安装及安全手册

apache|mysql|安全 本文写给想在win2k平台上架设一个安全web站台的朋友们. 所需要的程序: apache http://www.apache.org/dist/httpd/binaries/win32/ 我们选用apache_1.3.28-win32-x86-no_src.msi,或者apache_2.0.47-win32-x86-no_ssl.msi 都可以,勿使用低版本的程序,它们有缺陷,很容易遭到internet上的攻击 php http://cn2.php.net/ge

从编译到工具Mysql的优化方法

一.在编译时优化mysql 如果你从源代码分发安装mysql,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装mysql适应仔细根据你的应用类型选择最可能好的编译选项.这种定制的mysql可以为你的应用提供最佳性能. 技巧:选用较好的编译器和较好的编译器选项,这样应用可提高性能10-30%.(mysql文档如是说) 1.1.使用pgcc(pentium gcc)编译器 该编译器针对运行在奔腾处理器系统上的程序进行优化,用

MySQL安装与python下的MySQLdb使用

为什么选择 用MySQL,因为 MySQL小巧玲珑,且性能强大. 不论容量的话,相比其他两个(sql server .oracle)动则几个G,几十个G的大软件安装在电脑上,要想用得顺畅,没有高配是不行的.另外,MySQL虽易用,但想要与python交互操作,一般会想到"pip install  MySQL-python",结果经常爆出一堆错误提示,网上搜离线包安装教程还不能解决的了...折腾过的童鞋知道有多头疼-_-!! 本文分三大块: (1)MySQL安装: (2)MySQL图形化

mysql安装后用netstat -an怎么没有localhost或者127.0.0.1

问题描述 mysql安装后用netstat -an怎么没有localhost或者127.0.0.1 mysql安装后用netstat -an怎么没有localhost或者127.0.0.1,安装的时候改了端口号 补充:我是在虚拟机下面安装的 解决方案 android:failed to connect to localhost/127.0.0.1Error : call to localhost/127.0.0.1:9000 failed on connection exception : ja

解决MySQL安装重装时出现could not start the service mysql error:0问题的方法_Mysql

当各位在安装.重装时出现could not start the service mysql error:0原因: 卸载mysql时并没有完全删除相关文件和服务,需要手动清除.  安装到最后一步execute时不能启动服务的解决方法:  首先,在管理工具->服务里面将MySQL的服务给停止(有的是没有安装成功,有这个服务,但是已经停止了的),win+R->cmd,打开命令提示符窗口,输入命令:sc delete mysql(查看服务,此时服务中已没有mysql),将已停的服务删除,卸载MySQL

Windows下MySQL安装配置方法图文教程_Mysql

Windows下的安装与配置MySQL详细步骤思路,分享给大家,供大家参考,具体内容如下 本文介绍Windows XP下的安装与配置. 要想在Windows中运行MySQL,需要: Ø 32位Windows操作系统,例如9x.Me.NT.2000.XP或Windows Server 2003. 基于Windows NT的操作系统(NT,2000,XP,2003),将MySQL服务器做为服务来运行.强烈建议使用基于Windows NT的操作系统. Ø TCP/IP协议支持(也许是所有数据库系统的基

甲骨文推出新版面向Windows系统的MySQL安装程序

为进一步提升在 Windows 系统上的MySQL功能,甲骨文日前宣布推出新版面向Windows系统的MySQL安装程序(MySQL Installer for Windows).通过帮助MySQL用户http://www.aliyun.com/zixun/aggregation/32995.html">在Windows平台上简化安装流程,新版面向Windows系统的MySQL安装程序将能显著地减少安装时间. 为进一步支持Windows用户,甲骨文已完成了针对Windows Server

Win7、WinXP下MySql安装出错完全卸载的方法步骤_Mysql

最近mysql安装出现问题: 1.操作系统不同,安装过程中删除,清理也不同: window 7: 安装mysql过程中,最后安装到start service的时候提示服务有问题,然后卸载,卸载后按照还是同样的错误,下面就说卸载过程如何全面卸载干净: 1)找到mysql安装路径,目前默认c盘,然后找到组织菜单----文件夹和搜索选项-----查看tab中,有个显示隐藏的文件,文件夹和驱动器,勾选后,然后再c盘下面有个programdata文件夹,删除此文件夹下面的mysql文件夹. 2)找到控制面