sql-bench mysql_MySQL性能测试(一)——RHEL 7.1, MySQL 5.6.25, sql-bench

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

54d09d6c191bfc388a9cd5001d06dc75.png

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

8d4cb04756b6bf0c7d5332324b581ce2.png

3. 首先安装cmake:解压tar –zxvf cmake-2.8.4.tar.gz,使用make安装

[[email protected] cmake-2.8.4]# tar -zxvf cmake-2.8.4.tar.gz

[[email protected] cmake-2.8.4]# cd cmake-2.8.4/

[[email protected] cmake-2.8.4]# ./configure

[[email protected] cmake-2.8.4]# make

[[email protected] cmake-2.8.4]# make install

e9fb7fd0d2ab4e0ebb5703895abf14d0.png2a3126a7c66a043195238a5eb4e82ed8.png

4. 卸载自带数据库mariadb:

cadd2a417c473839fcd09e2a04386176.pngab4ba806d0033332d06ffa3136507d97.png

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

4fd733b5d4b1564f95e361d8eb2d5f18.png89938d4bfd520f6e3c7e14e19d749d2e.png4ffabaf3a9a5fbb1da8ae8bf2f081382.png

6. 安装ncurses包:

[[email protected] ncurses-5.9]# ./configure

[[email protected] ncurses-5.9]# make

[[email protected] ncurses-5.9]# make install

f2a576e81640acb01073c2183e9f8bd4.pngbea295a1aa91efc4bc9d93051a3a5a8f.png

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

cf411bae73e997c26747f8fdbd32ab95.png

8. 创建mysql的安装目录及数据库存放目录

[[email protected] mysql-5.6.25]# mkdir -p /usr/local/mysql                                        //安装mysql

[[email protected] mysql-5.6.25]# mkdir -p /usr/local/mysql/data                            //存放数据库目录,如果想测试存储的性能,可将此LUN挂载到此目录

9. 创建mysql用户及用户组(在此系统里已存在)

6670bea187e090d8d6623c13930d4922.png

10. 开始编译mysql源文件,使用cmake编译:

[[email protected] 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

[[email protected] mysql-5.6.25]# make

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

3115c5e8c14dcd889c57de98d80ddac7.pngec4bccaf9cad995221db69c82d514b16.pngc86e09ce143ccb4c49f26a10257fd6e4.png

删除编译的临时文件:

[[email protected] mysql-5.6.25]# make clean

[[email protected] mysql-5.6.25]# rm -f CMakeCache.txt

11. 配置:

(1) 设置目录权限

[[email protected] mysql-5.6.25]# cd /usr/local/mysql/

[[email protected] mysql]# chown -R root:mysql .                              //把当前目录中所有文件的所有者所有者设为root,所属组为mysql

[[email protected] mysql]# chown -R mysql:mysql data

(2) 创建系统数据库的表

[[email protected] mysql]# scripts/mysql_install_db --user=mysql

fe885fd589323cd35a12882aa317ea2a.png

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

[[email protected] mysql]# vi /root/.bash_profile

//将mysql路径添加至PATH中

[[email protected] mysql]# source /root/.bash_profile

637bac25ab7f9643f5a5ea60ceb4457a.png

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

07435a8d51c200e08d2589fdfb450d7e.png

(5) 启动mysql成功

9e6015ed47f29b392233ffe4d65099d1.png

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

fc482af4a500335a241402fa7d35e628.png

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

[[email protected] sql-bench]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

5da54b281d90e2df66099d2d7afeb705.png

12. 运行测试脚本

[[email protected] sql-bench]# ./run-all-tests --user=root --password=password

可在output目录查看输出结果

ab050a7bb2c646ef04f596dcae132d97.pngabf4bbc4640578f9a9e1e934957f5f72.png

原文:http://dafanfan.blog.51cto.com/683575/1686652

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0,1,2 代表标准输入、标准输出、标准错误

Linux中的标准输入输出 https://blog.csdn.net/zhongqi2513/article/details/78613768 >/dev/null 2>&1和2>&1 >/dev/null区别根本分析 https://blog.csdn.net/a1439458305/article/details/79586567转载于:https://www.cnblogs.com/andy9468/p/10452204.h…

在MSF中怎么区分易混淆的工作项类型:Bug、风险和问题(我个人的理解)

工作项是 Visual Studio Team Foundation 用于跟踪工作的分配和状态的数据库记录。CMMI 过程改进 MSF 过程定义了七个工作项来分配和跟踪工作,他们是:任务、更改请求 、风险 、评审 、要求 、Bug 、问题,在这七个工作项中风险、Bug 和问题最容…

[vue] 说说你对vue的表单修饰符.lazy的理解

[vue] 说说你对vue的表单修饰符.lazy的理解 input标签v-model用lazy修饰之后,vue并不会立即监听input Value的改变,会在input失去焦点之后,才会触发input Value的改变个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容…

sql注入攻击实例mysql_MySQL 处理SQL注入攻击

MySQL 处理SQL注入攻击如果您通过网页获取用户输入并将其插入到一个MySQL数据库中,则有可能让您对称为SQL注入的安全问题敞开大门。本课将教您如何帮助防止这种情况发生,并帮助您保护脚本和MySQL语句。比如当你要求用户输入他们的名字,这时候他们给你的不是名字而是一个MySQL语…

生命的帐单

深夜,危重病人房里,癌症患者迎来了了他生命中最后一分钟,死神如期来到他的身边。 隔着氧气罩,他含糊不清地对死神说:“再给我一分钟,就一分钟,好吗?” 死神问:“你…

C++const的多种用法

0. 写在最前面 在看《effective C》前觉得代码都是自己写的,加不加这些const修饰,注不注意格式都无所谓啦,反正自己知道。看完后印象比较深的两点,一个是你设计的类有可能会给别人用,你这些良好的习惯可以防止别人在用…

[vue] vue为什么要求组件模板只能有一个根元素?

[vue] vue为什么要求组件模板只能有一个根元素? ‘为什么只能有且只有一个根元素’于是我花了二十多分钟去找了一下答案......竟然没有找到答案....好的现在我来说说我的理解,如果有不对的地方欢迎指出。我觉得这个问题需要从两个方面来说起&#xff1a…

java面试技术问题_11个JAVA面试中常见技术问题

原标题:11个JAVA面试中常见技术问题大家在平常面试java的过程中都会遇到哪些难题呢?还有一些即将去面试java的童鞋们,你们想知道技术面试中会涉及到哪些点吗?达妹为你整理Java面试中会被问到的几个技术难题。1、一个".java&q…

终于用到DataGrid了,比较郁闷

我用的是windows窗体的DataGrid控件在显示时间的时候,不显示具体的小时/分钟/秒上网查资料,介绍的都是web下的DataGrid如何现实,form下的不能用这些办法谁能帮帮我谢谢~~转载于:https://www.cnblogs.com/foreverpk/archive/2006/03/16/351759…

[vue] EventBus注册在全局上时,路由切换时会重复触发事件,如何解决呢?

[vue] EventBus注册在全局上时,路由切换时会重复触发事件,如何解决呢? 建议在created里注册,在beforeDestory移出个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家…

Java list接口

list中的元素可以重复,父接口是collection,实现类是:arraylist和vector。 arraylist: package com.jike.list;import java.util.ArrayList; import java.util.List;public class ListDemo01 {public static void main(String[] ar…

java treemap api_Java 8 Stream API toMap转换为TreeMap

public class Message {private int id;private User sender;private User receiver;private String text;private Date senddate;..}我有List list new ArrayList<>();我需要将它们转换为TreeMap> map我知道如何使用转换为HashMaplist.stream().collect(Collectors.g…

苏州游记

已经很久没有更新这里了&#xff0c;懒哦&#xff01;上周末一干人等去了苏州的三山岛&#xff0c;很是开心&#xff0c;春天来了&#xff0c;到处都是那么的生机盎然&#xff01;三山岛是太湖上若干岛屿之一&#xff0c;离苏州城很远&#xff0c;我们乘了50分钟的火车后&#…

java 图片合成 红色失真_Java - 处理某些图片泛红

参考博文&#xff1a;http://blog.csdn.net/kobejayandy/article/details/44346809http://blog.csdn.net/shixing_11/article/details/6897871http://blog.csdn.net/cuihailiang/article/details/52037389问题现象&#xff1a;Java上传图片时&#xff0c;对某些图片进行缩放、裁…

markdown 转义字符

\\ 反斜杠   \ 反引号   \* 星号   \_ 下划线   \{\} 大括号   \[\] 中括号   \(\) 小括号   \# 井号   \ 加号   \- 减号   \. 英文句号   \! 感叹号 转载于:https://www.cnblogs.com/willingtolove/p/10456027.html

[vue] 怎么修改vue打包后生成文件路径?

[vue] 怎么修改vue打包后生成文件路径&#xff1f; webpack&#xff1a;output.path vue-cli3: outputDir个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

[ERROR]在删除BizTalk主机之前必须删除其所有实例?

在删除时报错如下&#xff1a;------------------------------------无法从 MessageBox 数据库服务器“BLADE14”&#xff0f;数据库名称“BizTalkMsgBoxDb”删除与 BizTalk 主机“OrchestrateServiceDeskEventHost”关联的数据库对象。在删除 BizTalk 主机之前必须删除其所有实…

[vue] 说说你对vue的mixin的理解,有什么应用场景?

[vue] 说说你对vue的mixin的理解&#xff0c;有什么应用场景&#xff1f; mixins 就是混入。一个混入对象可以包含任意组件选项。同一个生命周期&#xff0c;混入对象会比组件的先执行。//暴露两个mixins对象 export const mixinsTest1 {methods: {hello1() {console.log(&qu…

cadence 旋转快捷键_cadence原理图快捷键

原标题&#xff1a;cadence原理图快捷键Allegro Design Entry CIS 原理图1.shift鼠标滚轮 左右移动2.Ctrl鼠标滚轮 放大缩小3.Alt鼠标滚轮 上下移动4.按下鼠标滚轮可任意方向拖动图纸(可以一直保持按下状态或者按一下松开)5.CTRL鼠标左键 &#xff1a; 元件叠选6.CTRL鼠标左键拖…

Lab 11-1

Analyze the malware found in Lab11-01.exe. Questions and Short Answers What does the malware drop to disk? A: The malware extracts and drops the file msgina32.dll onto disk from a resource section named TGAD.How does the malware achieve persistence? A: T…