更新时间:2022-08-13 11:25:58
sandbox的安装可以使用github的方式,也可以使用cpan安装。
推荐使用cpan这种一键安装的。
# 安装mysqlsanbox
1
|
yum install cpan perl-YAML perl-Test-Simple -ycpan MySQL::Sandboxecho 'export SANDBOX_AS_ROOT=1' >> /root/ .bashrc source /root/ .bashrc
|
支持4种模式: * single * multiple * replication * circular
将准备好的几个常用mysql通用二进制包放到/opt/目录下。如下:
1
|
[root@percona57 /opt ] # lltotal 1035444-rw-r--r-- 1 root root 640650826 2017-07-27 20:53 mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz-rw-r--r-- 1 root root 419634124 2017-07-27 20:53 mariadb-10.3.0-linux-x86_64.tar.gz
|
创建一个10.3.0版本的mariadb实例
1
|
make_sandbox single mariadb-10.3.0-linux-x86_64. tar .gz
|
然后,输入Y表示同意上面的配置参数。
稍等20s后,就会自动在/root/sandboxes目录下生成一个类似msb_10_3_0的目录
默认是监听在127.0.0.1的地址的。如果我们要改成监听在外部地址的话,
cd /root/sandboxes/msb_10_3_0 (这个目录下有很多脚本,可以自己看下里面内容就知道如何用了)
vim /root/sandboxes/msb_10_3_0/my.sandbox.cnf 注释掉listen那行代码,
然后执行./restart 即可。
./use 即可登录mysql
./mycli 就可以用mycli来登录(CentOS6需要自己编译安装python27才能正常使用mycli)
创建一套GTID复制的5.7.19主从实例
1
2
|
cd /opt/ ### 需要先切换到mysql源码包那个路径下才行
make_replication_sandbox --gtid --how_many_slaves=1 5.7.19 创建一套GTID复制的5.7.19主从实例 |
稍等20s,即可启动1套主从mysql5.7.19的环境。
ss -lntp|grep mysql 即可验证。
如何使用上面创建的GTID主从机器:
1
2
3
|
cd /root/sandboxes
cd rsandbox_5_7_19
[root@percona57 /root/sandboxes/rsandbox_5_7_19 ] # ./test_replication 检查主从复制状态
|
# Master log: mysql-bin.000001 - Position: 11309 - Rows: 20
# Testing slave #1
ok - Slave #1 acknowledged reception of transactions from master
ok - Slave #1 IO thread is running
ok - Slave #1 SQL thread is running
ok - Table t1 found on slave #1
ok - Table t1 has 20 rows on #1
# TESTS : 5
# FAILED: 0 ( 0.0%)
# PASSED: 5 (100.0%)
# exit code: 0
这个目录下,m和n1都是连接主库的连接脚本。 s1和n2都是连接从库的脚本。
#####################################
如果需要一次性建立好几个相同的实例且不需要有复制关系,可以使用下面的命令
1
2
|
cd /opt/
make_multiple_sandbox --how_many_nodes=3 mariadb-10.3.0-linux-x86_64. tar .gz # 默认一次性建立3个实例
|
#####还有些常用的命令,都是些简单的shell脚本,打开看下就知道啥意思了。就不解释了。