由於前段時間要測試全閃存陣列上運行MySQL的性能,因此研究了段時間,試驗了兩個工具:一個是MySQL自帶的sql-bench,一個是sysbench。
本過程使用的環境是Redhat Enterprise Linux 7.1, MySQL 5.6.25,測試工具則是mysql自帶的sql-bench工具。由於使用MySQL RPM包中不包含sql-bench目錄,因此我選用了使用MySQL源代碼安裝。
由於MySQL 5.6之後是使用cmake編譯,因此也需要安裝cmake。
1. 安裝RedHat 7.1 Server,安裝過程省略。安裝過程中選擇Server with GUI,將能選擇的Add-Ons都選擇上
2. 安裝完成後以root登錄,在root目錄下創建MySQL目錄,用於拷貝安裝介質。使用WinSCP將mysql-5.6.25.tar.gz, cmake-2.8.4.tar.gz,安裝源文件拷貝到MySQL目錄下。
由於mysql需要依賴perl包,所以從安裝盤上要將perl-DBD, perl-DBI也拷貝到目錄下。而安裝perl-包時,需要依賴libmysqlclient.so.18,包含在MySQL的RPM安裝包裏,所以我將MySQL的RPM安裝包也拷貝了下來。
另外,還有一個mysql依賴的ncurse包。
3. 首先安裝cmake:解壓tar –zxvf cmake-2.8.4.tar.gz,使用make安裝
[root@localhost cmake-2.8.4]# tar -zxvf cmake-2.8.4.tar.gz
[root@localhost cmake-2.8.4]# cd cmake-2.8.4/
[root@localhost cmake-2.8.4]# ./configure
[root@localhost cmake-2.8.4]# make
[root@localhost cmake-2.8.4]# make install
4. 卸載自帶數據庫mariadb:
5. 解壓MySQL安裝包,安裝shared-compat和shared兼容性包,再安裝perl-DBD和perl-DBI包:
6. 安裝ncurses包:
[root@localhost ncurses-5.9]# ./configure
[root@localhost ncurses-5.9]# make
[root@localhost ncurses-5.9]# make install
7. 然後開始安裝MySQL,解壓mysql:
8. 創建mysql的安裝目錄及數據庫存放目錄
[root@localhost mysql-5.6.25]# mkdir -p /usr/local/mysql //安裝mysql
[root@localhost mysql-5.6.25]# mkdir -p /usr/local/mysql/data //存放數據庫目錄,如果想測試存儲的性能,可將此LUN掛載到此目錄
9. 創建mysql用戶及用戶組(在此係統裏已存在)
10. 開始編譯mysql源文件,使用cmake編譯:
[root@localhost mysql-5.6.25]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
[root@localhost mysql-5.6.25]# make
[root@localhost mysql-5.6.25]# make install
參數說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data //數據庫存放目錄
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校驗字符
-DEXTRA_CHARSETS=all //安裝所有擴展字符集
-DENABLED_LOCAL_INFILE=1 //允許從本地導入數據
刪除編譯的臨時文件:
[root@localhost mysql-5.6.25]# make clean
[root@localhost mysql-5.6.25]# rm -f CMakeCache.txt
11. 配置:
(1) 設置目錄權限
[root@localhost mysql-5.6.25]# cd /usr/local/mysql/
[root@localhost mysql]# chown -R root:mysql . //把當前目錄中所有文件的所有者所有者設爲root,所屬組爲mysql
[root@localhost mysql]# chown -R mysql:mysql data
(2) 創建系統數據庫的表
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
(3) 設置環境變量,編輯
[root@localhost mysql]# vi /root/.bash_profile
//將mysql路徑添加至PATH中
[root@localhost mysql]# source /root/.bash_profile
(4) 將mysql添加到系統服務中去
(5) 啓動mysql成功
(6) 給mysql的root用戶設置密碼
(7). 運行sql-bench還差一步,因爲腳本是從另外一個地方尋找sock,因此需要建立一個連接:
[root@localhost sql-bench]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
12. 運行測試腳本
[root@localhost sql-bench]# ./run-all-tests --user=root --password=password
可在output目錄查看輸出結果