【工具】MySQL 安裝利器---Sandbox
一 sandbox是什麼?
是一個非常簡單快捷的安裝搭建MySQL例項的工具,它可以非常快速地滿足我們對MySQL環境各種需求:單機例項,主從,一主多從等等架構(區別於自己安裝MySQL 軟體)。比如 新的資料庫版本發行之後,想要儘快嚐鮮 ,又不想花太多資源去安裝,就可以使用sandbox幫助我們完成建立單個或者主從結構的例項。對於那些不懂MySQL安裝的開發,測試同學而言,可以使用sandbox的快速搭建一個符合要求的資料庫。MySQL Sandbox 快速,是以秒來衡量的,誰用誰知道。
二 如何安裝和使用
2.1 安裝sandbox
本文的案例是基於Centos虛擬機器測試。
獲取Percona server 5.7.17 版本
2.2 常用命令
安裝完成之後預設會在 /usr/local/bin/ 目錄下產生make_開頭的檔案。
要深入瞭解各個命令的具體用法,請參考原始碼目錄下的README文件,然後再自己動手實踐,能理解更深刻,畢竟紙上來得終覺淺,絕知此事要躬行。下面主要透過
make_sandbox 和 make_replication_sandbox 來介紹如何使用 。
2.3 使用sandbox
安裝單個例項
輸入Y 然後sandbox就會啟動一個例項,需要等待20s 左右。
因為本案例採用root使用者安裝測試,新生成的資料庫目錄在 /root/sandboxes/msb_5_7_17,其中的檔案如下
大家可以研究各個可執行檔案的具體內容。常用的有use,stop,start,restart 等等,例如
搭建主從,本例中啟用gtid 並且設定建立1個slave. 因為上例已經建立了一個5.7.17 源程式目錄,我們可以基於該目錄建立主從,當然也可以基於原始碼的壓縮包。
根據結果提示sandbox建立的主從在目錄$HOME/sandboxes/rsandbox_5_7_17,進入該目錄檢視有如下檔案
其中master 和node1 分別是主庫和備庫的資料庫目錄, m和n1 都是登陸主庫的命令,s1 和n2 都是登陸slave 的命令,其他的可以從檔名知道具體用途。這裡介紹兩個命令test_replication和check_slaves 兩個命令功能類似,都是檢查slave 的狀態資訊。check_slaves會把主庫相關資訊輸出。
三 小結
按照之前要部署虛擬機器安裝MySQL的時間和精力來看,使用sandbox的感覺就是一個字-爽,只需簡單的命令即可完成而且對使用者幾乎是透明的當你需要快速搭建最小化測試環境時,完全可以使用sandbox助你一臂之力。當然本文僅僅只是本人在比較短時間內測試的總結,需要更加深入瞭解sandbox使用的,可以多看看原始碼和各個命令。推薦
是一個非常簡單快捷的安裝搭建MySQL例項的工具,它可以非常快速地滿足我們對MySQL環境各種需求:單機例項,主從,一主多從等等架構(區別於自己安裝MySQL 軟體)。比如 新的資料庫版本發行之後,想要儘快嚐鮮 ,又不想花太多資源去安裝,就可以使用sandbox幫助我們完成建立單個或者主從結構的例項。對於那些不懂MySQL安裝的開發,測試同學而言,可以使用sandbox的快速搭建一個符合要求的資料庫。MySQL Sandbox 快速,是以秒來衡量的,誰用誰知道。
二 如何安裝和使用
2.1 安裝sandbox
本文的案例是基於Centos虛擬機器測試。
-
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
- wget ""
安裝完成之後預設會在 /usr/local/bin/ 目錄下產生make_開頭的檔案。
-
make_sandbox 基於二進位制壓縮包建立MySQL例項
-
make_sandbox_from_source 基於原始碼建立MySQL例項,引數是而執行 ./configure && make 成功的原始碼存放目錄
-
make_sandbox_from_installed 基於已經安裝好的mysql可執行檔案目錄安裝MySQL例項
-
make_sandbox_from_url 從網上下載docker 映象進行安裝,具體參考 --help 命令
-
make_multiple_sandbox 建立多個相同版本的MySQL例項
-
make_multiple_custom_sandbox 建立不同版本的MySQL例項
- make_replication_sandbox 搭建主從複製結構,可以是一主一從,也可以是一主多從。
- sbtool : sandbox管理工具
make_sandbox 和 make_replication_sandbox 來介紹如何使用 。
2.3 使用sandbox
安裝單個例項
-
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
-
...... 省略部分內容
-
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
-
# Starting server
-
. sandbox server started
-
# Loading grants
- Your sandbox server was installed in $HOME/sandboxes/msb_5_7_17
大家可以研究各個可執行檔案的具體內容。常用的有use,stop,start,restart 等等,例如
-
root@rac4:~/sandboxes/msb_5_7_17# >./use --登陸資料庫
-
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)
-
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
其中master 和node1 分別是主庫和備庫的資料庫目錄, m和n1 都是登陸主庫的命令,s1 和n2 都是登陸slave 的命令,其他的可以從檔名知道具體用途。這裡介紹兩個命令test_replication和check_slaves 兩個命令功能類似,都是檢查slave 的狀態資訊。check_slaves會把主庫相關資訊輸出。
-
root@rac4:~/sandboxes/rsandbox_5_7_17# >sh test_replication 檢查主備關係
-
# 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的感覺就是一個字-爽,只需簡單的命令即可完成而且對使用者幾乎是透明的當你需要快速搭建最小化測試環境時,完全可以使用sandbox助你一臂之力。當然本文僅僅只是本人在比較短時間內測試的總結,需要更加深入瞭解sandbox使用的,可以多看看原始碼和各個命令。推薦
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-2134256/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL環境搭建利器---SandboxMySql
- Ubuntu 20.04安裝cuckoo sandboxUbuntu
- Mysql管理必備工具maatkit(安裝)MySql
- 【MySQL資料庫】MySQL5.7安裝與配置、視覺化工具安裝和破解MySql資料庫視覺化
- centos下安裝JAVA開發工具(3)——MysqlCentOSJavaMySql
- MySQL系列第三篇:MySQL工具之SQLYog安裝配置MySql
- mysql安裝 (yum 安裝)MySql
- 安裝和使用 otter (資料同步利器)
- 工具安裝
- 在Mac book安裝vscode開發利器ide除錯mysql mhaMacVSCodeIDE除錯MySql
- mysql分析慢查詢日誌工具mysqlsla安裝MySql
- mysql 安裝MySql
- MySQL安裝MySql
- 安裝mysqlMySql
- solaris mysql 安裝 解除安裝MySql
- [mysql]ubuntu安裝mysqlMySqlUbuntu
- 連網安裝mysql與原始碼安裝mysqlMySql原始碼
- 截圖利器:shutter在centos上的安裝CentOS
- 開發利器 - Android Studio的安裝Android
- clojure開發利器-light table安裝使用
- mysql非安裝包安裝教程MySql
- Linux安裝解除安裝MySQLLinuxMySql
- SQL最佳化工具(MYSQL)——SQLAdvisor安裝使用MySql
- mysql之 percona-xtrabackup 2.4.7安裝(熱備工具)MySql
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- MySQL 8.0.21下載安裝教程及Navicat for MySQL安裝MySql
- ubuntu工具安裝Ubuntu
- 安裝mysql和mysql workbenchMySql
- mysql安裝------RPM包安裝及解除安裝MySql
- MySQL系列第二篇:MySQL視覺化工具Navicat for MySQL安裝配置和使用MySql視覺化
- MySQL 的安裝MySql
- docker 安裝 mysqlDockerMySql
- mysql window 安裝MySql
- mysql yum 安裝MySql
- MySQL安裝-未完MySql
- MySQL 8.0 安裝MySql
- MySQL安裝配置MySql
- macbook 安裝 mysqlMacMySql