一羣海豚在屬於自己的海灘上自由的玩耍,儘管只是一個方盒的大小,但是設備一樣 的齊全,同樣可以玩的很開心,這就是我今天要說的——MySQL Sandbox2.0,3.0也將要推出。
MySQL Sandbox是一個非常簡單快捷部署MySQL技術的一個工具套件,它可以讓你在同一臺機器上,更加快速的無干擾的去達到你的最終目的,比如,作爲軟件 測試人員只是要測試軟件系統的良好性不需要在mysql的安裝上糾纏過多,不需要對MySQL數據庫有太多的經驗;有的時候我們只是對新版本的一些特性感 興趣,儘可能快速結束安裝部署,而是重點地去體驗它的一些特性;可以使用sandbox最短時間部署我們需要的數據庫應用架構 (ReplicationCluster),以配合我們的現有的應用系統進行性能測試。
MySQL Sandbox 快速,是用秒來衡量的。下面我們就來感受一下sandbox給我們的F1般的速度,你可以在每次安裝前使用time命令統計出real/user/sys 三項的使用時間。
1.準備工作
下載MySQL Sandbox 2.0
https://code.launchpad.net/mysql-sandbox 你會看到2.0已經是個很成熟的版本,而3.0還處在開發測試階段。
下載MySQL
http://dev.mysql.com/downloads/ 這裏要求是這麼一種版本(Intel C/C++ compiled, glibc-2.3)的tarball——mysql-5.x.xx-linux-i686-glibc23.tar.gz
2.解壓MySQL Sandbox
我們看到sandbox下有一些文件和腳本,接下來我們就是通過使用sandbox給我們提供的方便快捷的腳本去實現我們的安裝部署。
(一)使用make_sandbox安裝單個MySQL DB
然後,我們來連接數據庫。
# cd /root/sandboxes/msb_5_1_33/
# ./use
(連接數據庫)
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.1.33 MySQL Community Server (GPL)
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
mysql [localhost] {msandbox} ((none)) > 連接成功!!!
# ./stop (停止數據庫服務)
# ./start (打開數據庫服務)
( NOTE: 如果安裝後,不知道相關的目錄,可以再current_options.conf文件中找到,它在最初的sandbox解壓文件夾中,不過這個文件只是紀 錄最近一次執行sandbox腳本後的信息。)
(二)使用make_replication_sandbox安裝MySQL Replication
# cd /root/sandboxes/rsandbox_5_1_33
# ./m -e ’show databases’ ( ./s1 -e ’show databases’ ) ( ./s2 -e ’show databases’ )
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| test |
+——————–+
# ./m -e ‘create database repl’
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| repl |
| test |
+——————–+
# ./s1 -e ’show databases’ ( ./s2 -e ’show databases’ )
我們會發現slave1和slave2中也增加了repl這個數據庫,說明主從 複製成功。
# ./stop_all (關閉所有節 點)
(三)使用MySQL Cluster Sandbox安裝MySQL Cluster
下載支持cluster安裝的sandbox http://www.severalnines.com/downloads/sandbox/small/mysqlcluster-63.tar.gz
下載mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz http://dev.mysql.com/get/Downloads/
# tar -xzf mysqlcluster-63.tar.gz
# cd mysqlcluster-63
# ./dist-tgz.sh mysql-cluster-gpl-6.3.20-linux-i686-glibc23.tar.gz
# ./bootstrap.sh
# ./start-cluster-initial.sh
# ./stop-cluster.sh
一共5個節點,id1是MGM node,id2和id3是SQL node,id4和id5是DATA node。你會發現還有6、7、8、9四個節點沒有連接上,是因爲mysqlcluster-63它有3中模式是的,一個no replication,master cluster,slave cluster,而這裏我使用的是no replication的tarball。
簡單吧,速度吧,感覺像是我們在用傻瓜照相機,“點”一下一切都幫你完成了。開去試試吧!