由于前段时间要测试全闪存阵列上运行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都选择上

 

image

 

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包。

 

image

 

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

imageimage

 

4. 卸载自带数据库mariadb:

imageimage

5. 解压MySQL安装包,安装shared-compat和shared兼容性包,再安装perl-DBD和perl-DBI包:

imageimageimage

 

6. 安装ncurses包:

[root@localhost ncurses-5.9]# ./configure

[root@localhost ncurses-5.9]# make

[root@localhost ncurses-5.9]# make install

imageimage

7. 然后开始安装MySQL,解压mysql:

image

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用户及用户组(在此系统里已存在)

image

 

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                      //允许从本地导入数据

imageimageimage

删除编译的临时文件:

[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

image

(3) 设置环境变量,编辑

[root@localhost mysql]# vi /root/.bash_profile

//将mysql路径添加至PATH中

[root@localhost mysql]# source /root/.bash_profile

image

 

(4) 将mysql添加到系统服务中去

image

 

(5) 启动mysql成功

image

 

(6) 给mysql的root用户设置密码

image

 

(7). 运行sql-bench还差一步,因为脚本是从另外一个地方寻找sock,因此需要建立一个连接:

[root@localhost sql-bench]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

image

 

12. 运行测试脚本

[root@localhost sql-bench]# ./run-all-tests --user=root --password=password

可在output目录查看输出结果

imageimage