前言

经常看见新同学对于安装MySQL十分惧怕,这是因为不熟悉的缘故,确实源码编译比较麻烦,缺少各种依赖包也够折腾的。当然还有预编译包,但是对于新同学来说好像都挺麻烦的。当然有yum安装,但是我们需要多实例,测试多个版本就不方便了。那么我来说说比较简单的方法。使用沙箱环境。MySQL Sandbox是什么呢?简单来说就是一个沙盒,可以用于快速搭建mysql的环境,让我们可以不用费劲的去安装,或者编译。通常对于学习来说是不错的选择。毕竟我们是自己学习,而不是线上环境。项目主页:http://mysqlsandbox.net/。对于安装也是非常简单的。我这里就采用 cpan来安装,当然各位童鞋也可以采用源码安装。看你口味了。我反正喜欢简单,能满足需求就行,或许这也是我的性格哈。:)

1.安装cpan

yum install cpan -y

2.安装软件依赖的包

yum install perl-Test-Simple -y

3.安装MySQL Sandbox

cpan MySQL::Sandbox

4.设置环境变量(否则会抛错)

[root@localhost ~]# echo 'export SANDBOX_AS_ROOT=1' >> /root/.bash_profile
[root@localhost ~]# source /root/.bash_profile

5.下载mysql二进制软件包(我这里下载mysql5.6和mariadb-10,软件各位童鞋自己搜索,我这里已经下载,如下)

[root@localhost mysql]# pwd
/opt/mysql
[root@localhost mysql]# ll
total
-rw-r--r--. root root Jun : mariadb-10.0.-linux-x86_64.tar.gz
-rw-r--r--. root root Jun : mysql-5.6.-linux-glibc2.-x86_64.tar.gz
[root@localhost mysql]#

6.在沙箱环境中运行我们mysql两个实例

(1)首先创建mysql5.6的实例

[root@localhost mysql]# cd /opt/mysql/
[root@localhost mysql]# make_sandbox mysql-5.6.-linux-glibc2.-x86_64.tar.gz
unpacking /opt/mysql/mysql-5.6.-linux-glibc2.-x86_64.tar.gz
Executing low_level_make_sandbox --basedir=/opt/mysql/5.6. \
--sandbox_directory=msb_5_6_12 \
--install_version=5.6 \
--sandbox_port= \
--no_ver_after_name \
--my_clause=log-error=msandbox.err
The MySQL Sandbox, version 3.0.
(C) - Giuseppe Maxia
installing with the following parameters:
upper_directory = /root/sandboxes
sandbox_directory = msb_5_6_12
sandbox_port =
check_port =
no_check_port =
datadir_from = script
install_version = 5.6
basedir = /opt/mysql/5.6.
tmpdir =
my_file =
operating_system_user = root
db_user = msandbox
remote_access = .%
bind_address = 127.0.0.1
ro_user = msandbox_ro
rw_user = msandbox_rw
repl_user = rsandbox
db_password = msandbox
repl_password = rsandbox
my_clause = log-error=msandbox.err
master =
slaveof =
high_performance =
prompt_prefix = mysql
prompt_body = [\h] {\u} (\d) >
force =
no_ver_after_name =
verbose =
load_grants =
no_load_grants =
no_run =
no_show =
do you agree? ([Y],n)

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

do you agree? ([Y],n) y
loading grants
.... sandbox server started
Your sandbox server was installed in $HOME/sandboxes/msb_5_6_12
[root@localhost mysql]#

最后会有安装路径的提示,默认在家目录下的sandboxes下。我们可以看看

[root@localhost sandboxes]# pwd
/root/sandboxes
[root@localhost sandboxes]# ll
total
-rwxr-xr-x. root root Jun : clear_all
drwxr-xr-x. root root Jun : msb_5_6_12
-rw-r--r--. root root Jun : plugin.conf
-rwxr-xr-x. root root Jun : restart_all
-rwxr-xr-x. root root Jun : sandbox_action
-rwxr-xr-x. root root Jun : send_kill_all
-rwxr-xr-x. root root Jun : start_all
-rwxr-xr-x. root root Jun : status_all
-rwxr-xr-x. root root Jun : stop_all
-rwxr-xr-x. root root Jun : use_all
[root@localhost sandboxes]#

那么如何启动mysql呢,默认安装以后就启动了。

[root@localhost ~]# pgrep -fl mysql
/bin/sh /opt/mysql/5.6./bin/mysqld_safe --defaults-file=/root/sandboxes/msb_5_6_12/my.sandbox.cnf
/opt/mysql/5.6./bin/mysqld --defaults-file=/root/sandboxes/msb_5_6_12/my.sandbox.cnf --basedir=/opt/mysql/5.6. --datadir=/root/sandboxes/msb_5_6_12/data --plugin-dir=/opt/mysql/5.6./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=
[root@localhost ~]#

可以杀掉进程,自己启动看看,启动停止脚本在/root/sandboxes/msb_5_6_12

[root@localhost msb_5_6_12]# pkill - 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]#

登陆mysql瞧瞧

[root@localhost msb_5_6_12]# pwd
/root/sandboxes/msb_5_6_12
[root@localhost msb_5_6_12]# ./use
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.6. MySQL Community Server (GPL) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql [localhost] {msandbox} ((none)) >

就这么简单哈,当然有复杂的用法,大家可以试试,通常这样能快速部署一个mysql用于测试已经足够了。(下面的是mariadb实例,安装实例都是一样的)

[root@localhost msb_10_0_10]# pwd
/root/sandboxes/msb_10_0_10
[root@localhost msb_10_0_10]# ./use
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is
Server version: 10.0.-MariaDB MariaDB Server Copyright (c) , , Oracle, SkySQL Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql [localhost] {msandbox} ((none)) >

各个mysql实例的端口号就是mysql的版本号哦:)

[root@localhost msb_10_0_10]# netstat -nltp | grep mysqld
tcp 127.0.0.1: 0.0.0.0:* LISTEN /mysqld
tcp 127.0.0.1: 0.0.0.0:* LISTEN /mysqld
[root@localhost msb_10_0_10]#

对于需要部署多个实例呢?同一个版本部署多实例,其实也非常的简单,提供了make_multiple_sandbox这个命令,具体的参数自行help。或者查阅官方文档。

对于部署多个实例,我们还可以添加一个环境变量,就是将实例安装在指定的位置,

[root@mysql-server- mysql]# echo "export SANDBOX_HOME=/data/" >> /root/.bash_profile
[root@mysql-server- mysql]# source /root/.bash_profile

下面默认部署3个实例(相同的版本)

[root@mysql-server- mysql]# make_multiple_sandbox mariadb-10.0.-linux-x86_64.tar.gz
installing node
installing node
installing node
group directory installed in $SANDBOX_HOME/multi_msb_mariadb-10_0_12
[root@mysql-server- mysql]#

默认部署3个实例,想要部署更多实例可以加参数--how_many_nodes = number,上面部署完成以后我们看看。

[root@mysql-server- multi_msb_mariadb-10_0_12]# pwd
/data/multi_msb_mariadb-10_0_12
[root@mysql-server- multi_msb_mariadb-10_0_12]# ll
total
-rwxr-xr-x root root Jul : check_slaves
-rwxr-xr-x root root Jul : clear_all
-rw-r--r-- root root Jul : connection.json
-rw-r--r-- root root Jul : default_connection.json
-rwxr-xr-x root root Jul : n1
-rwxr-xr-x root root Jul : n2
-rwxr-xr-x root root Jul : n3
drwxr-xr-x 4 root root 4096 Jul 13 16:17 node1
drwxr-xr-x 4 root root 4096 Jul 13 16:17 node2
drwxr-xr-x 4 root root 4096 Jul 13 16:18 node3
-rw-r--r-- root root Jul : README
-rwxr-xr-x root root Jul : restart_all
-rwxr-xr-x root root Jul : send_kill_all
-rwxr-xr-x root root Jul : start_all
-rwxr-xr-x root root Jul : status_all
-rwxr-xr-x root root Jul : stop_all
-rwxr-xr-x root root Jul : use_all
[root@mysql-server- multi_msb_mariadb-10_0_12]#

可以可以已经有3个节点了,我们登陆其中一个看看。

[root@mysql-server- multi_msb_mariadb-10_0_12]# ./n1
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is
Server version: 10.0.-MariaDB-log MariaDB Server Copyright (c) , , Oracle, SkySQL Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. node1 [localhost] {msandbox} ((none)) >

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

mysql sandbox经典讲义(因为被墙,故放在网盘给同学们下载)

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

参考资料

http://search.cpan.org/~gmax/MySQL-Sandbox-3.0.44/lib/MySQL/Sandbox.pm

MySQL Sandbox安装使用的更多相关文章

  1. MySql免安装版安装配置,附MySQL服务无法启动解决方案

          文首提要:             我下载的MySQL版本是:mysql-5.7.17-winx64.zip  Archive版:系统:Windows7 64位. 一.解压文件 下载好My ...

  2. Mysql(windows)安装

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  3. MYSQL离线安装

    由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...

  4. 虚拟机+apache+php+mysql 环境安装配置

    虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...

  5. Windows 下 zip 版的 MySQL 的安装

     创建 配置文件 当 MySQL server 启动时,它会在按照下表列出位置的顺序寻找并读取配置文件: File Name Purpose %PROGRAMDATA%\MySQL\MySQL Ser ...

  6. mysql 编译安装

    mysql 编译安装方式:   ```cd /home/oldboy/tools```                创建 目录          if not have   then     mkd ...

  7. MYSQL的安装

    1.将mysql的安装文件放入虚拟机 2.搭建yum库 3.依次安装mysql的5个文件 最后一个server需要的依赖太多,所以用yum进行安装. 6.进行mysql的重置 mysql_instal ...

  8. MYSQL介绍安装及一些问题解决

    一.简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发.发布并支持的.有以下特点: MySQL是一种数据库管理系统. MySQL是一种关联数据库管理系统. MySQ ...

  9. 大数据系列(5)——Hadoop集群MYSQL的安装

    前言 有一段时间没写文章了,最近事情挺多的,现在咱们回归正题,经过前面四篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,相关的两款软件VSFTP和SecureCRT也已经正常安装了. ...

随机推荐

  1. [原创]MSP430FR4133练习(一):GPIO输入电平状态判断

    硬件环境:MSP430FR4133 LANCHPAD开发板 软件环境:IARV7.10 For 430 源代码: #include "driverlib.h" void main( ...

  2. [Tensorflow] RNN - 04. Work with CNN for Text Classification

    Ref: Combining CNN and RNN for spoken language identification Ref: Convolutional Methods for Text [1 ...

  3. [React] 05 - Route: connect with ExpressJS

    基础: 初步理解:Node.js Express 框架 参见:[Node.js] 08 - Web Server and REST API 进阶: Ref: 如何系统地学习 Express?[该网页有 ...

  4. 4. Oracle数据库用户管理备份与恢复

    一. Oracle用户管理备份介绍 Oracle物理备份核心就是将物理文件拷贝一份副本:存放在磁盘上.物理文件指的是:数据文件,控制文件,日志文件,参数文件等等. 根据数据库状态而分:备份可分为热备份 ...

  5. 使用Core Audio实现对声卡输出的捕捉

    涉及的接口有: IMMDeviceEnumerator IMMDevice IAudioClient IAudioCaptureClient 主要过程: 创建多媒体设备枚举器(IMMDeviceEnu ...

  6. mysql基础---->mybatis的批量插入(一)

    这里面记录一下使用mybatis处理mysql的批量插入的问题,测试有可能不准.只愿世间风景千般万般熙攘过后,字里行间,人我两忘,相对无言. mybatis的批量插入 我们的测试主体类是springb ...

  7. MySQL语言 数据库练习题分解。

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  8. .NET Core开发日志——HttpContext

    之前的文章记述了从ASP.NET Core Module到KestrelServer的请求处理过程.现在该聊聊如何生成ASP.NET中我们所熟悉的HttpContext. 当KestrelServer ...

  9. 简单的Git流程

    一.安装cygwin 略 二. 1.创建一个文件 $echo "中华人民共和国">>abc.txt 2.添加到文件追踪 $git add abc.txt 上一行是提交一 ...

  10. [No0000144]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈1/4

    前言   虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC).另外,了解内存管理可以帮助我们理解在每一个程 ...