這篇文章主要介紹MySQL中Sandbox怎么安裝,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司提供成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì),高端網(wǎng)站設(shè)計(jì),廣告投放平臺(tái)等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十余年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破成百上千,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
一 sandbox是什么?
MySQL Sandbox是一個(gè)非常簡(jiǎn)單快捷的安裝搭建MySQL實(shí)例的工具,它可以非常快速地滿足我們對(duì)MySQL環(huán)境各種需求:單機(jī)實(shí)例,主從,一主多從等等架構(gòu)(區(qū)別于自己安裝MySQL 軟件)。比如 新的數(shù)據(jù)庫版本發(fā)行之后,想要盡快嘗鮮 ,又不想花太多資源去安裝,就可以使用sandbox幫助我們完成創(chuàng)建單個(gè)或者主從結(jié)構(gòu)的實(shí)例。對(duì)于那些不懂MySQL安裝的開發(fā),測(cè)試同學(xué)而言,可以使用sandbox的快速搭建一個(gè)符合要求的數(shù)據(jù)庫。MySQL Sandbox 快速,是以秒來衡量的,誰用誰知道。
二 如何安裝和使用
2.1 安裝sandbox
本文的案例是基于Centos虛擬機(jī)測(cè)試。
yum install cpan -y
yum install perl-Test-Simple -y
cpan MySQL::Sandbox
echo 'export SANDBOX_AS_ROOT=1' >> /root/.bash_profile && source /root/.bash_profile
獲取Percona server 5.7.17 版本
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 常用命令
安裝完成之后默認(rèn)會(huì)在 /usr/local/bin/ 目錄下產(chǎn)生make_開頭的文件。
make_sandbox 基于二進(jìn)制壓縮包創(chuàng)建MySQL實(shí)例
make_sandbox_from_source 基于源碼創(chuàng)建MySQL實(shí)例,參數(shù)是而執(zhí)行 ./configure && make 成功的源碼存放目錄
make_sandbox_from_installed 基于已經(jīng)安裝好的mysql可執(zhí)行文件目錄安裝MySQL實(shí)例
make_sandbox_from_url 從網(wǎng)上下載docker 鏡像進(jìn)行安裝,具體參考 --help 命令
make_multiple_sandbox 創(chuàng)建多個(gè)相同版本的MySQL實(shí)例
make_multiple_custom_sandbox 創(chuàng)建不同版本的MySQL實(shí)例
make_replication_sandbox 搭建主從復(fù)制結(jié)構(gòu),可以是一主一從,也可以是一主多從。
sbtool : sandbox管理工具
要深入了解各個(gè)命令的具體用法,請(qǐng)參考源碼目錄下的README文檔,然后再自己動(dòng)手實(shí)踐,能理解更深刻,畢竟紙上來得終覺淺,絕知此事要躬行。下面主要通過
make_sandbox 和 make_replication_sandbox 來介紹如何使用 。
2.3 使用sandbox
安裝單個(gè)實(shí)例
root@rac4:/data/mysql# >make_sandbox /data/mysql/Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz
unpacking /data/mysql/Percona-Server-5.7.17-11-Linux.x86_64.ssl101.tar.gz
Executing low_level_make_sandbox --basedir=/data/mysql/5.7.17 \
--sandbox_directory=msb_5_7_17 \
--install_version=5.7 \
--sandbox_port=5717 \
--no_ver_after_name \
--my_clause=log-error=msandbox.err
The MySQL Sandbox, version 3.2.05
(C) 2006-2016 Giuseppe Maxia
Installing with the following parameters:
upper_directory = /root/sandboxes
sandbox_directory = msb_5_7_17
sandbox_port = 5717
check_port =
no_check_port =
datadir_from = script
install_version = 5.7
basedir = /data/mysql/5.7.17
tmpdir =
my_file =
operating_system_user = root
db_user = msandbox
remote_access = 127.%
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
...... 省略部分內(nèi)容
prompt_prefix = mysql
prompt_body = [\h] {\u} (\d) >
force =
no_ver_after_name = 1
verbose =
load_grants = 1
no_load_grants =
no_run =
no_show =
keep_uuid =
history_dir =
do you agree? ([Y],n) Y
輸入Y 然后sandbox就會(huì)啟動(dòng)一個(gè)實(shí)例,需要等待20s 左右。
# Starting server
. sandbox server started
# Loading grants
Your sandbox server was installed in $HOME/sandboxes/msb_5_7_17
因?yàn)楸景咐捎胷oot用戶安裝測(cè)試,新生成的數(shù)據(jù)庫目錄在 /root/sandboxes/msb_5_7_17,其中的文件如下
大家可以研究各個(gè)可執(zhí)行文件的具體內(nèi)容。常用的有use,stop,start,restart 等等,例如
root@rac4:~/sandboxes/msb_5_7_17# >./use --登陸數(shù)據(jù)庫
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.17-11 Percona Server (GPL), Release 11, Revision f60191c
Copyright (c) 2009-2016 Percona LLC and/or its affiliates
mysql [localhost] {msandbox} ((none)) > show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
搭建主從,本例中啟用gtid 并且設(shè)置創(chuàng)建1個(gè)slave. 因?yàn)樯侠呀?jīng)創(chuàng)建了一個(gè)5.7.17 源程序目錄,我們可以基于該目錄創(chuàng)建主從,當(dāng)然也可以基于源碼的壓縮包。
root@rac4:/data/mysql# >make_replication_sandbox --gtid --how_many_slaves=1 5.7.17
installing and starting master
installing slave 1
starting slave 1
.. sandbox server started
initializing slave 1
replication directory installed in $HOME/sandboxes/rsandbox_5_7_17
根據(jù)結(jié)果提示sandbox創(chuàng)建的主從在目錄$HOME/sandboxes/rsandbox_5_7_17,進(jìn)入該目錄查看有如下文件
其中master 和node1 分別是主庫和備庫的數(shù)據(jù)庫目錄, m和n1 都是登陸主庫的命令,s1 和n2 都是登陸slave 的命令,其他的可以從文件名知道具體用途。這里介紹兩個(gè)命令test_replication和check_slaves 兩個(gè)命令功能類似,都是檢查slave 的狀態(tài)信息。check_slaves會(huì)把主庫相關(guān)信息輸出。
root@rac4:~/sandboxes/rsandbox_5_7_17# >sh test_replication 檢查主備關(guān)系
# Master log: mysql-bin.000001 - Position: 10732 - 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
root@rac4:~/sandboxes/rsandbox_5_7_17# >./check_slaves #
master
port: 20192
File: mysql-bin.000001
Position: 10732
Executed_Gtid_Set: 00020192-1111-1111-1111-111111111111:1-40
slave # 1
port: 20193
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 10732
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Exec_Master_Log_Pos: 10732
Retrieved_Gtid_Set: 00020192-1111-1111-1111-111111111111:1-40
Executed_Gtid_Set: 00020192-1111-1111-1111-111111111111:1-40
以上是“MySQL中Sandbox怎么安裝”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!