由于前段时间要测试全闪存阵列上运行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 �Czxvf 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目录查看输出结果