溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL中Sandbox怎么安裝

發(fā)布時間:2021-11-01 16:50:31 來源:億速云 閱讀:148 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹MySQL中Sandbox怎么安裝,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一 sandbox是什么?
MySQL Sandbox是一個非常簡單快捷的安裝搭建MySQL實例的工具,它可以非??焖俚貪M足我們對MySQL環(huán)境各種需求:單機實例,主從,一主多從等等架構(gòu)(區(qū)別于自己安裝MySQL 軟件)。比如 新的數(shù)據(jù)庫版本發(fā)行之后,想要盡快嘗鮮 ,又不想花太多資源去安裝,就可以使用sandbox幫助我們完成創(chuàng)建單個或者主從結(jié)構(gòu)的實例。對于那些不懂MySQL安裝的開發(fā),測試同學(xué)而言,可以使用sandbox的快速搭建一個符合要求的數(shù)據(jù)庫。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/ 目錄下產(chǎn)生make_開頭的文件。

  1. make_sandbox                 基于二進制壓縮包創(chuàng)建MySQL實例

  2. make_sandbox_from_source     基于源碼創(chuàng)建MySQL實例,參數(shù)是而執(zhí)行 ./configure && make 成功的源碼存放目錄

  3. make_sandbox_from_installed  基于已經(jīng)安裝好的mysql可執(zhí)行文件目錄安裝MySQL實例

  4. make_sandbox_from_url        從網(wǎng)上下載docker 鏡像進行安裝,具體參考 --help 命令

  5. make_multiple_sandbox        創(chuàng)建多個相同版本的MySQL實例

  6. make_multiple_custom_sandbox 創(chuàng)建不同版本的MySQL實例

  7. make_replication_sandbox     搭建主從復(fù)制結(jié)構(gòu),可以是一主一從,也可以是一主多從。

  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. ...... 省略部分內(nèi)容

  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用戶安裝測試,新生成的數(shù)據(jù)庫目錄在 /root/sandboxes/msb_5_7_17,其中的文件如下 
MySQL中Sandbox怎么安裝
大家可以研究各個可執(zhí)行文件的具體內(nèi)容。常用的有use,stop,start,restart 等等,例如

  1. root@rac4:~/sandboxes/msb_5_7_17# >./use --登陸數(shù)據(jù)庫

  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 并且設(shè)置創(chuàng)建1個slave. 因為上例已經(jīng)創(chuàng)建了一個5.7.17 源程序目錄,我們可以基于該目錄創(chuàng)建主從,當(dāng)然也可以基于源碼的壓縮包。

  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

根據(jù)結(jié)果提示sandbox創(chuàng)建的主從在目錄$HOME/sandboxes/rsandbox_5_7_17,進入該目錄查看有如下文件 
MySQL中Sandbox怎么安裝
其中master 和node1 分別是主庫和備庫的數(shù)據(jù)庫目錄, m和n1 都是登陸主庫的命令,s1 和n2 都是登陸slave 的命令,其他的可以從文件名知道具體用途。這里介紹兩個命令test_replication和check_slaves 兩個命令功能類似,都是檢查slave 的狀態(tài)信息。check_slaves會把主庫相關(guān)信息輸出。

  1. root@rac4:~/sandboxes/rsandbox_5_7_17# >sh test_replication   檢查主備關(guān)系

  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怎么安裝”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI