Mysql压力测试(sysbench)

2023-11-18

目录

配置项目环境:

参考:采用sysbench压测mysql详解_dream21st的博客-CSDN博客

实验步骤:

1、安装sysbench工具

2、在master上创建用户和库,配置用户的权限可以使他可以访问库(Mysql的主从复制)

3、基于sysbench构造测试表和测试数据

4、创建我们需要的数据库里的数据

5、数据库读写性能测试(获取测试数据)

6、执行完成压测之后可以将run改成cleanup,清除数据

sysbench工具对Mysql数据库的其他测试代码:

数据库读性能测试:

数据库删除性能测试:

数据库更新索引字段性能测:

数据库更新非索引字段性能测试:

数据库插入数据性能测试:

数据库写性能测试:

数据库清除创建的测试数据:


配置项目环境:

[root@ab ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@mysql-1 ~]# mysql --version
mysql  Ver 14.14 Distrib 5.7.41, for linux-glibc2.12 (x86_64) using  EditLine wrapper
[root@mysql-1 ~]# 

参考:采用sysbench压测mysql详解_dream21st的博客-CSDN博客

实验步骤:

1、安装sysbench工具

[root@ab ~]# yum install epel-release -y

[root@ab ~]# yum install sysbench -y

已安装:
  sysbench.x86_64 0:1.0.17-2.el7                                                                                                                                                             

作为依赖被安装:
  ck.x86_64 0:0.5.2-2.el7                           luajit.x86_64 0:2.0.5-1.20220913.46e62cd.el7                           postgresql-libs.x86_64 0:9.2.24-8.el7_9                          

完毕!

2、在master上创建用户和库,配置用户的权限可以使他可以访问库(Mysql的主从复制)

参考:Mysql - 配置Mysql主从复制-keepalived高可用-读写分离集群_Claylpf的博客-CSDN博客

CREATE USER 'claylpf'@'%' IDENTIFIED BY '123456';  #创建用户

create database test_db;  #创建测试库

GRANT ALL PRIVILEGES ON test_db.* TO 'claylpf'@'%';  #配置用户权限

FLUSH PRIVILEGES;  #重新加载用户权限表

3、基于sysbench构造测试表和测试数据

[root@ab ~]# sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_read_write --db-ps-mode=disable prepare

命令行中的参数说明:

​--db-driver=mysql:代表数据库驱动

--time=300:这个就是说连续访问300秒

--threads=10:这个就是说用10个线程模拟并发访问

--report-interval=1:这个就是说每隔1秒输出一下压测情况

--mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456:数据库的用户和密码等信息

--mysql-db=test_db --tables=20 --table_size=1000000:这一串的意思,就是说在test_db这个库里,构造20个测试表,每个测试表里构造100万条测试数据,测试表的名字会是类似于sbtest1,sbtest2这个样子的

​oltp_read_write:这个就是说,执行oltp数据库的读写测试

--db-ps-mode=disable:这个就是禁止ps模式

prepare:意思是参照这个命令的设置去构造出来我们需要的数据库里的数据,他会自动创建20个测试表,每个表里创建100万条测试数据,所以这个工具是非常的方便的。

4、创建我们需要的数据库里的数据

[root@ab ~]# sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_read_write --db-ps-mode=disable prepare

# 注意--tables=10 --table_size=1000所对应的数据不能调试太大(如:--tables=20 --table_size=1000000000),否则会导致你的Mysql集群的磁盘耗尽,导致集群崩溃.
sysbench 1.0.17 (using system LuaJIT 2.0.4)

Initializing worker threads...

Creating table 'sbtest10'...
Creating table 'sbtest3'...
Creating table 'sbtest9'...
Creating table 'sbtest6'...
Creating table 'sbtest1'...
Creating table 'sbtest8'...
Creating table 'sbtest4'...
Creating table 'sbtest5'...
Creating table 'sbtest7'...
Creating table 'sbtest2'...
Inserting 1000 records into 'sbtest10'
Inserting 1000 records into 'sbtest1'
Inserting 1000 records into 'sbtest2'
Inserting 1000 records into 'sbtest4'
Inserting 1000 records into 'sbtest5'
Inserting 1000 records into 'sbtest6'
Inserting 1000 records into 'sbtest7'
Inserting 1000 records into 'sbtest8'
Inserting 1000 records into 'sbtest9'
Inserting 1000 records into 'sbtest3'
Creating a secondary index on 'sbtest1'...
Creating a secondary index on 'sbtest10'...
Creating a secondary index on 'sbtest6'...
Creating a secondary index on 'sbtest4'...
Creating a secondary index on 'sbtest5'...
Creating a secondary index on 'sbtest2'...
Creating a secondary index on 'sbtest7'...
Creating a secondary index on 'sbtest9'...
Creating a secondary index on 'sbtest8'...
Creating a secondary index on 'sbtest3'...

5、数据库读写性能测试(获取测试数据)

数据库读写性能测试,将执行指令最后的prepare修改成run:

[root@ab ~]# sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_read_write --db-ps-mode=disable run
sysbench 1.0.17 (using system LuaJIT 2.0.4)

Running the test with following options:
Number of threads: 10
Report intermediate results every 1 second(s)
Initializing random number generator from current time


Initializing worker threads...

Threads started!
#​ 下面是截取的执行1秒,2秒,3秒,4秒等的数据。
[ 1s ] thds: 10 tps: 172.58 qps: 3597.26 (r/w/o: 2541.82/701.30/354.14) lat (ms,95%): 71.83 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 10 tps: 187.08 qps: 3691.57 (r/w/o: 2574.10/745.32/372.16) lat (ms,95%): 71.83 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 10 tps: 196.01 qps: 3961.13 (r/w/o: 2774.09/792.03/395.01) lat (ms,95%): 65.65 err/s: 0.00 reconn/s: 0.00
[ 4s ] thds: 10 tps: 206.93 qps: 4139.62 (r/w/o: 2900.04/824.73/414.86) lat (ms,95%): 64.47 err/s: 1.00 reconn/s: 0.00
[ 5s ] thds: 10 tps: 212.06 qps: 4236.12 (r/w/o: 2970.79/841.22/424.11) lat (ms,95%): 62.19 err/s: 0.00 reconn/s: 0.00
[ 6s ] thds: 10 tps: 184.06 qps: 3728.31 (r/w/o: 2608.92/751.26/368.13) lat (ms,95%): 97.55 err/s: 0.00 reconn/s: 0.00
[ 7s ] thds: 10 tps: 208.86 qps: 4131.17 (r/w/o: 2894.02/819.44/417.71) lat (ms,95%): 59.99 err/s: 0.00 reconn/s: 0.00
[ 8s ] thds: 10 tps: 214.14 qps: 4283.87 (r/w/o: 2997.01/858.58/428.29) lat (ms,95%): 62.19 err/s: 0.00 reconn/s: 0.00
[ 9s ] thds: 10 tps: 187.96 qps: 3725.23 (r/w/o: 2600.47/750.85/373.92) lat (ms,95%): 84.47 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 10 tps: 195.96 qps: 3981.11 (r/w/o: 2795.38/791.82/393.91) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00
^C
[root@ab ~]# 

对表中的数据进行说明,以第一条数据做解释描述:

thds: 10:这个意思就是有10个线程在压测

​ tps: 151.70:这个意思就是每秒执行了151.70个事务

​ qps: 2996.03:这个意思就是每秒可以执行2996.03个请求

​ (r/w/o: 2091.83/600.80/303.40):这个意思就是说,在每秒2996.03个请求中,有2091.83个请求是读请求,600.80个请求是写请求,303.40个请求是其他的请求,就是对QPS进行了拆解

​ lat (ms, 95%): 97.55:这个意思就是说,95%的请求的延迟都在 97.55毫秒以下

​ err/s: 0.00 reconn/s: 0.00:这两个的意思就是说,每秒有0个请求是失败的,发生了0次网络重连

下面是执行完成后控制台输出的数据:

SQL statistics:
    queries performed:
        read:                            836822
        write:                           239020
        other:                           119517
        total:                           1195359
    transactions:                        59744  (199.12 per sec.)
    queries:                             1195359 (3984.01 per sec.)
    ignored errors:                      29     (0.10 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          300.0377s
    total number of events:              59744

Latency (ms):
         min:                                   19.82
         avg:                                   50.21
         max:                                  267.28
         95th percentile:                       68.05
         sum:                              2999907.14

Threads fairness:
    events (avg/stddev):           5974.4000/21.35
    execution time (avg/stddev):   299.9907/0.01

6、执行完成压测之后可以将run改成cleanup,清除数据

[root@ab ~]# sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_read_write --db-ps-mode=disable cleanup
sysbench 1.0.17 (using system LuaJIT 2.0.4)

Dropping table 'sbtest1'...
Dropping table 'sbtest2'...
Dropping table 'sbtest3'...
Dropping table 'sbtest4'...
Dropping table 'sbtest5'...
Dropping table 'sbtest6'...
Dropping table 'sbtest7'...
Dropping table 'sbtest8'...
Dropping table 'sbtest9'...
Dropping table 'sbtest10'...
[root@ab ~]# 

sysbench工具对Mysql数据库的其他测试代码:

数据库读性能测试:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_read_only --db-ps-mode=disable run

数据库删除性能测试:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_delete --db-ps-mode=disable run

数据库更新索引字段性能测:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_update_index --db-ps-mode=disable run

数据库更新非索引字段性能测试:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_update_non_index --db-ps-mode=disable run

数据库插入数据性能测试:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_insert --db-ps-mode=disable run

数据库写性能测试:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_write_only --db-ps-mode=disable run

数据库清除创建的测试数据:

sysbench --db-driver=mysql --time=300 --threads=10 --report-interval=1 --mysql-host=192.168.2.221 --mysql-port=7001 --mysql-user=claylpf --mysql-password=123456 --mysql-db=test_db --tables=10 --table_size=1000 oltp_read_write --db-ps-mode=disable cleanup
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql压力测试(sysbench) 的相关文章

  • 无法使用 Django 应用程序从容器连接到 MySQL docker 容器

    当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时 出现以下错误 django db utils OperationalError 2003 Can t connect to MySQL serve
  • 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

    我有这个 UPDATE MySQL 语句 效果很好 UPDATE table1 Inner Join table2 ON table2 id table1 gw id SET table1 field1 1 table1 field2 2
  • 通过连接从两个表中删除?

    我有两个表如下 tbl1 tbl2 id article id title image whole news tags author older datetime 其中 tbl1 id gt tbl2 article id 如何从两个表中删
  • MySQL 全文搜索不适用于某些单词,例如“house”

    我已经在 3 个字段中的一小部分记录上设置了全文索引 也尝试了 3 个字段的组合 并得到了相同的结果 有些单词返回结果很好 但某些单词如 house 和 澳大利亚 不这样做 有趣的是 澳大利亚 和 家乡 这样做 这似乎是奇怪的行为 如果我添
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • 对于数据库来说,选择正确的数据类型会影响性能吗?

    如果是这样 为什么 我的意思是 tinyint 的搜索速度比 int 快吗 如果是这样 性能上的实际差异是什么 是的 根据数据类型 它确实有所不同 int vs tinyint不会在速度上产生明显的差异 但会在数据大小上产生差异 假设tin
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • 比较表中的行以了解字段之间的差异

    我有一个包含 20 多列的表 客户端 其中大部分是历史数据 就像是 id clientID field1 field2 etc updateDate 如果我的数据如下所示 10 12 A A 2009 03 01 11 12 A B 200
  • Mysql innoDB 不断崩溃[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的数据库 mysql 服务器不断崩溃 重新启动 我不知道该怎么办 我不断在 dbname org err 文件中收到以下内容 13120
  • 无法启动 MySQL 服务器 - 控制进程退出并出现错误代码

    我的 mysql 服务器停止后无法启动 命令使用 sudo etc init d mysql restart Error 重新启动 mysql 通过 systemctl mysql serviceJob for mysql service
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI
  • 比特纳米。重置mysql根密码

    我如何重置 MySQL 中的 root 密码和帐户 因为我按照如何为其他服务器授予权限的说明操作 并且意外地将 root 用户 Mysql 绑定到其他 IP 地址 现在看来我无法在 localhost 上以管理员身份登录 Thanks 您有
  • Mysql 将 int 转换为 MAC

    我有一些数据可以转换 其中有 2 列 其中一列有 IP 它包含整数值 我在 mysql 查询中使用了以下函数 是否有一个函数可以用来转换我的 mac 列 其中包含整数和数据类型是bigint to MAC地址 SELECT INET NTO
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb

随机推荐

  • 数字逻辑笔记7丨2.5逻辑函数卡诺图化简法

    卡诺图的构成 1 卡诺图的构成 一种图形化简法 在逻辑设计中广泛应用 卡诺图 一种平面方格图 每个小方格代表一个最小项 又叫 最小项方格图 卡诺图可以视为真值表图形化的结果 n个变量的真值表是用2的n次方行给出变量的2的n次方种取值 每行取
  • laravel框架 - 安装初步使用学习 composer安装

    一 什么是laravel框架 Laravel框架可以开发各种不同类型的项目 内容管理系统 Content Management System CMS 是一种比较典型的项目 常见的网站类型 如门户 新闻 博客 文章等 都可以利用CMS进行搭建
  • Shiro权限管理框架

    Shiro 一 Shiro权限 什么是权限控制 忽略特别细的概念 比如权限能细分很多种 功能权限 数据权限 管理权限等 理解两个概念 用户和资源 让指定的用户 只能操作指定的资源 CRUD 初学javaweb时怎么做 Filter接口中有一
  • 153、有效三角形的个数

    题目描述 给定一个包含非负整数的数组 你的任务是统计其中可以组成三角形三条边的三元组个数 示例 1 输入 2 2 3 4 输出 3 解释 有效的组合是 2 3 4 使用第一个 2 2 3 4 使用第二个 2 2 2 3 注意 数组长度不超过
  • 为 Vue 编写一个插件

    1 介绍 以编写Vue日志插件为例 讲述从插件的开发到部署 原文 https lluvio github io blog plugin for vuejs html 2 代码初始 不用一步到位开发插件 先抛开 Vue保证自己的代码能够运行
  • 数字IC后端笔试500题出炉(附答案)

    数字IC后端笔试500题出炉 附答案 文章右侧广告为官方硬广告 与吾爱IC社区无关 用户勿点 点击进去后出现任何损失与社区无关 吾爱 IC 社区 吾爱 IC 社区 52 ic com 是一个专业交流和分享数字 IC 设计与实现技术与经验的
  • element-ui table 某列数据后加上单位,排序不正确

    根据项目需要 在时间列 需要显示分秒 而后台返回的值是秒 前端需要转换 页面显示如下 转换之后 点击排序发现 数据展示的顺序是错乱的 如下图 解决方法 在请求数据后 给数组多加一个字段 用来后面排序 注 flightTime是处理后 页面显
  • Charles 学习心得,Mac环境下解决https乱码,以及火狐浏览器配置https后无法上网的问题

    网上有很详细的ssl证书配置方法 此处不再赘述 简要的过程 Charles help ssl proxying install charles root certificate 将证书设置成始终信任 移动端 安卓 iOS 中 将WiFi里面
  • 【分布式设计与开发3】什么是分布式架构设计中的CAP原理

    分布式系统 CAP原理 架构设计 一 引言 在2000年7月ACM 美国计算机协会 组织的PODC PrinciplesofDistributedComputing分布式计算原理 会议上 UCBerkeley大学的EricA Brewer教
  • Foo bar 什么鬼?

    相信大家对于 foo 和 bar 这两个单词一定再熟悉不过了 它们是计算机图书中最常使用的变量名 不同的字典对 foo 的解释相去甚远 一说来自中国 福 字的发音 又有解释为二战时期的一种武器 其实将 foo 和 bar 组合在一起所构成的
  • [CVPR‘22] DTLD: Towards Accurate Facial Landmark Detection via Cascaded Transformers

    paper https openaccess thecvf com content CVPR2022 papers Li Towards Accurate Facial Landmark Detection via Cascaded Tra
  • Python - 嵌入式数据库Sqlite3的基本使用

    SQLite是一种轻量级的嵌入式关系型数据库管理系统 而Python标准库中提供了与SQLite交互的模块 sqlite3 下面是一个Python 3中使用sqlite3模块的详细示例与解析 import sqlite3 创建或连接数据库
  • 多任务学习

    一 单任务学习和多任务学习 多任务学习是和单任务学习对应的一种机器学习方法 单任务学习 在单任务学习中 认为不同任务之间是不具有关联性的 因此 每个模型的参数都是独立训练的 这样的学习方法有两个缺陷 由于每个任务中的训练数据有限 因此所训练
  • Qt5实现可配置截图及基于百度OCR自动识别标题保存文件

    需求 当我在看视频学习的时候 需要屏幕指定区域的内容保存起来 采用常见的XX截图软件 你需要选择区域选择路径保存 把文件命名为有意义的名称 效率极其低下 作为一名计算机专业人员强调思考能力 动手能力和内功修炼层级 所以这点事情还是很简单的
  • 无卡支付,快捷支付,认证支付,协议支付,代扣区别与联系

    无卡支付 快捷支付 认证支付 协议支付 代扣区别与联系 无卡支付 另外名称叫快捷支付 不需开通网银 只需提供银行卡卡号 户名 手机号码等信息 银行验证手机号码正确性后 第三方支付发送手机动态口令到用户手机号上 用户输入正确的手机动态口令 即
  • 标注一致性:Inter-Annotator Agreement(IAA)

    评价者之间的一致性 Kappas Inter rater agreement Kappas 简书
  • Acwing提高课DP二刷(考研复习)

    前言 本博客主要是为了准备考研数据结构自命题而写的 主要为个人复习使用 里面的题博主在大一大二基本都刷了若干遍 所以这里只写一些简单的思路和总结评语 供日后回顾复习使用 DP 1 acwing1010 导弹拦截 题目大意 利用若干组互相独立
  • vue for循环列表(插槽)输入数据操作

    vue for循环列表 插槽 输入数据操作 1 给循环的每一行的编辑框添加chang事件 输入框 参数 数据的唯一key 绑定的键名 event target value值 下拉框 参数 数据的唯一key 绑定的键名 event值 HTML
  • c++学习之继承

    继承的优点 gt 减少重复代码 class A public B A类称为子类或派生类 B类称为父类或者基类 派生类中的成员 包含两大部分 一类是从基类继承过来的 一类是自己增加的成员 从基类继承过来的表现为共性 而新增的成员表现了个性 代
  • Mysql压力测试(sysbench)

    目录 配置项目环境 参考 采用sysbench压测mysql详解 dream21st的博客 CSDN博客 实验步骤 1 安装sysbench工具 2 在master上创建用户和库 配置用户的权限可以使他可以访问库 Mysql的主从复制 3