mysql-tpcc-mysql压测工具使用

news2025/5/29 7:51:54

在Linux系统上安装和配置tpcc-mysql进行MySQL的TPC-C基准测试,通常涉及以下几个步骤。请注意,由于tpcc-mysql不是一个官方工具,它可能需要从第三方仓库获取,如Percona提供的版本。

前置条件

  1. 确保MySQL或MariaDB已安装:在开始之前,请确保你的系统中已经安装了MySQL或者MariaDB数据库,并且正在运行。
    在编译之前需要安装mysql和mysql编译时链接的库
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

安装tpcc-mysql

  1. 克隆仓库

    可以从Percona的GitHub仓库获取tpcc-mysql源码。

    git clone https://github.com/percona/tpcc-mysql.git
    cd tpcc-mysql/src
    
  2. 编译源码

    tpcc-mysql目录下执行以下命令来编译源码。

    make
    

tpcc-mysql包含所需要的sql脚本文件
在这里插入图片描述

  1. 创建TPC-C表并加载数据

    使用tpcc-mysql提供的脚本创建必要的数据库、用户以及导入测试数据。

    # 创建数据库(例如:tpcc)
    mysql -e "CREATE DATABASE tpcc;"
    
    # 加载schema
    mysql tpcc < create_table.sql
    
    # 创建外键
    mysql tpcc < add_fkey_idx.sql
    
    # 加载初始数据,-w 参数指定仓库数量,默认为1,根据机器性能调整
    ./tpcc_load localhost -d tpcc user password -w 1000
    
  2. 运行测试

    使用如下命令开始测试,其中参数可以根据实际情况调整。
    语法:

    ./tpcc_start -h[host] -d[database] -u[user] -p[password] -w[warehouses] -c[connections] -r[warmup_time] -l[running_time]
    

    示例

    ./tpcc_start -hlocalhost -dtpcc1000 -uroot -pyour_password -w1000 -c64 -r30 -l120
    

参数说明:

  • -w1000:使用 1000 个仓库

  • -c64:并发连接数为 64

  • -r30:预热阶段 30 秒

  • -l120:测试运行 120 秒

运行完成后会输出 TPS(每秒事务数)、RT(响应时间)等指标。

常见问题

Q1: 报错 can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
A: 修改代码中连接方式为 TCP 而不是 socket。修改 tpcc.c 文件中的连接部分,添加:

my_data->sock = mysql_init(NULL);
mysql_real_connect(my_data->sock, "127.0.0.1", user, password, schema, 3306, NULL, 0);

你遇到的错误是:

1698, 28000, Access denied for user 'root'@'localhost'

❗问题原因

这个错误表示:

MySQL 拒绝了用户 root@localhost 的登录请求

这通常是因为 MySQL 的 root 用户使用了插件认证方式(如 auth_socketunix_socket),而不是传统的密码认证。这意味着即使你知道 root 用户“应该”有密码,也不能通过 -p 参数进行登录。


✅ 解决方法一:修改 root 用户的认证方式(推荐)

你可以让 root 用户使用标准的密码认证方式登录:

步骤 1:用免密方式登录 MySQL

mysql -u root

如果你能成功进入 MySQL 命令行,说明你是通过 socket 插件登录的。

步骤 2:修改 root 用户的认证方式并设置密码

执行以下 SQL 命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

'your_password' 替换为你想设置的密码。

步骤 3:退出 MySQL

exit;

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

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

相关文章

Qt找不到windows API报错:error: LNK2019: 无法解析的外部符号 __imp_OpenClipboard

笔者在开发中出现的bug完整报错如下&#xff1a; spcm_ostools_win.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_OpenClipboard&#xff0c;函数 "void __cdecl spcmdrv::vCopyToClipboard(char const *,unsigned __int64)" (?vCopyToClipboardspcmdrvYAXPE…

OpenCv高阶(十七)——dlib库安装、dlib人脸检测

文章目录 前言一、dlib库简介二、dlib库安装1、本地安装&#xff08;离线&#xff09;2、线上安装 三、dlib人脸检测原理1、HOG 特征提取2、 SVM 分类器训练3、 滑动窗口搜索4、非极大值抑制&#xff08;NMS&#xff09; 四、dlib人脸检测代码1、导入OpenCV计算机视觉库和dlib机…

前端内容黑白处理、轮播图、奇妙的头像特效

1、内容黑白处理 &#xff08;1&#xff09;filter&#xff1a;滤镜 可以把包裹的区域中每一个像素点&#xff0c;经过固定的算法转换成另一种颜色来呈现 &#xff08;2&#xff09;grayscale&#xff1a;灰阶滤镜 取值范围&#xff1a;0~1取0&#xff1a;原图去1&#xff…

Git - .gitignore 文件

一、.gitignore 文件介绍 在使用 Git 进行版本控制时&#xff0c;.gitignore 文件是一个非常重要的配置文件&#xff0c;用于告诉 Git 哪些文件或目录不需要被追踪和提交到版本库中。合理使用 .gitignore 文件可以避免提交不必要的文件&#xff0c;如临时文件、编译生成的文件…

如何通过API接口实现自动化上货跨平台铺货?商品采集|商品上传实现详细步骤

一、引言&#xff1a;跨平台铺货的技术挑战与 API 价值 在电商多平台运营时代&#xff0c;商家需要将商品同步上架至淘宝、京东、拼多多、亚马逊、Shopee 等多个平台&#xff0c;传统手动铺货模式存在效率低下&#xff08;单平台单商品上架需 30-60 分钟&#xff09;、数据一致…

《三维点如何映射到图像像素?——相机投影模型详解》

引言 以三维投影介绍大多比较分散&#xff0c;不少小伙伴再面对诸多的坐标系转换中容易弄混&#xff0c;特别是再写代码的时候可能搞错&#xff0c;所有这篇文章帮大家完整的梳理3D视觉中的投影变换的全流程&#xff0c;一文弄清楚这个过程&#xff0c;帮助大家搞清坐标系转换…

零基础设计模式——结构型模式 - 适配器模式

第三部分&#xff1a;结构型模式 - 适配器模式 (Adapter Pattern) 欢迎来到结构型模式的第一站&#xff01;结构型模式关注的是如何将类或对象组合成更大的结构&#xff0c;同时保持结构的灵活性和效率。适配器模式是其中非常实用的一个&#xff0c;它能帮助我们解决接口不兼容…

WordPress多语言插件安装与使用教程

WordPress多语言插件GTranslate的使用方法 在wordpress网站后台搜索多语言插件GTranslate并安装&#xff0c;安装完成、用户插件后开始设置&#xff0c;以下为设置方法&#xff1a; 1、先在后台左侧找到Gtranslate&#xff0c;进入到设置界面 2、选择要显示的形式&#xff0c…

欣佰特科技|SenseGlove Nova2 力反馈数据手套:助力外科手术训练的精准触觉模拟

在医疗科技持续发展的背景下&#xff0c;虚拟现实&#xff08;VR&#xff09;技术正在改变外科手术培训的方式&#xff0c;而 SenseGlove Nova2 力反馈数据手套 在这一领域发挥着重要作用。 SenseGlove Nova2 力反馈数据手套 与 VirtualiSurg 手术模拟系统深度结合。其手部追踪…

网络安全-等级保护(等保) 3-2-2 GB/T 28449-2019 第7章 现场测评活动/第8章 报告编制活动

################################################################################ GB/T 28449-2019《信息安全技术 网络安全等级保护测评过程指南》是规定了等级测评过程&#xff0c;是纵向的流程&#xff0c;包括&#xff1a;四个基本测评活动:测评准备活动、方案编制活…

IAM角色访问AWS RDS For MySQL

IAM角色访问AWS RDS For MySQL Tips: 写这篇文章&#xff0c;主要是用作记录&#xff1b;在AWS配置IAM RDS 角色权限访问&#xff0c;官方文档不怎么全&#xff0c;踩了一些坑… AWS云上配置 开启IAM身份验证 登录AWS控制台搜索并进入Databases管理页面选择数据库实例&#x…

Karakeep | 支持Docker/NAS 私有化部署!稍后阅读工具告别云端依赖,让知识收藏更有序

Karakeep 介绍 Karakeep&#xff08;以前的 Hoarder&#xff09;是一款开源的“Bookmark Everything”应用程序&#xff0c;一款基于 AI 驱动的开源书签管理工具&#xff0c;专为解决传统浏览器书签管理中的混乱问题而设计。其核心目标是通过智能化技术帮助用户高效整理、检索和…

RV1126+FFMPEG多路码流监控项目大体讲解

一.项目介绍&#xff1a; 本项目采用的是易百纳RV1126开发板和CMOS摄像头&#xff0c;使用的推流框架是FFMPEG开源项目。这个项目的工作流程如下(如上图)&#xff1a;通过采集摄像头的VI模块&#xff0c;再通过硬件编码VENC模块进行H264/H265的编码压缩&#xff0c;并把压缩后的…

el-dialog 组件 多层嵌套 被遮罩问题

<el-dialog title"提示" :visible.sync"dialogBindUserVisible" width"30%" append-to-body :before-close"handleClose"> <span>这是一段信息</span> <span slot"footer" class"dialog-footer&q…

探秘谷歌Gemini:开启人工智能新纪元

一、引言 在人工智能的浩瀚星空中&#xff0c;每一次重大模型的发布都宛如一颗璀璨新星闪耀登场&#xff0c;而谷歌 Gemini 的亮相&#xff0c;无疑是其中最为耀眼的时刻之一。它的出现&#xff0c;犹如在 AI 领域投下了一颗重磅炸弹&#xff0c;引发了全球范围内的广泛关注与热…

wordcount在集群上的测试

1.将louts.txt文件从cg计算机复制到master节点上面&#xff0c;存放在/usr/local/hadoop 需要输入密码&#xff1a;83953588abc scp /root/IdeaProjects/mapReduceTest/lotus.txt root172.18.0.2:/usr/local/hadoop /WordCountTest/input 2.将lotus.txt文件从master这台机器…

OpenCV CUDA模块图像过滤------创建一个 Sobel 滤波器函数createSobelFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数用于创建一个 Sobel 滤波器&#xff0c;用于在 GPU 上进行边缘检测。它基于图像的梯度计算&#xff1a; dx 表示对 x 方向求导的阶数&…

PDF 转 JPG 图片小工具:CodeBuddy 助力解决转换痛点

本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 前言 在数字化办公与内容创作的浪潮中&#xff0c;将 PDF 文件转换为 JPG 图片格式的需求日益频繁。无论是学术文献中的图表提取&#xff0c;还是宣传资料的视觉化呈现&am…

VisionPro 与 C# 联合编程:相机连接实战指南

在工业视觉检测与自动化领域&#xff0c;康耐视&#xff08;Cognex&#xff09;的 VisionPro 是一款功能强大的视觉开发工具&#xff0c;而 C# 凭借其简洁性与高效性&#xff0c;成为许多开发者的首选编程语言。本文将详细介绍如何通过 C# 与 VisionPro 联合编程实现相机连接&a…

论文阅读:Next-Generation Database Interfaces:A Survey of LLM-based Text-to-SQL

地址&#xff1a;Next-Generation Database Interfaces: A Survey of LLM-based Text-to-SQL 摘要 由于用户问题理解、数据库模式解析和 SQL 生成的复杂性&#xff0c;从用户自然语言问题生成准确 SQL&#xff08;Text-to-SQL&#xff09;仍是一项长期挑战。传统的 Text-to-SQ…