【用Percona Toolkit给mysql大表在不锁表的情况下建索引】

news/2024/7/7 21:23:17

用Percona Toolkit给mysql大表在不锁表的情况下建索引

  • 安装Percona Toolkit
  • 建立索引

安装Percona Toolkit

共分为两步骤:

  1. 配置仓库
    安装文档1
    在这里插入图片描述
  2. 安装
    安装文档2
    安装文档

建立索引

  1. 由于mysql8默认使用的是caching_sha2_password,认证方式,而Percona Toolkit在centos7中使用的perl-dbd-mysql版本目前是4.023,暂时不支持这种认证方式,因此需要在mysql中新建一个以mysql_native_password认证的用户
--创建新的用户:
create user 用户名@'%' identified WITH mysql_native_password BY '密码';
grant all privileges on *.* to 用户名@'%' with grant option;
flush privileges;
  1. 建立索引
pt-online-schema-change h=mysqlIP,P=mysql端口,D=数据库名,t=表名 --user=刚建的用户名 --ask-pass --alter "add index idc_edge_index(uid,service,create_time)" --execute

根据提示输入密码即可。

注:如果是本机docker部署的mysql,mysqlIP请用本机docker0(查看方式为ip a | grep docker0)的IP,用localhost可能无法连接。


http://lihuaxi.xjx100.cn/news/1735735.html

相关文章

如何让报修流程更高效?“的修”报修管理软件有什么优势?

在这个数字化时代,报修软件已经成为了企业和机构运维过程中不可或缺的一部分。它不仅可以帮助我们提高报修效率,还可以减少人工操作,降低错误率。今天,我要为大家介绍一款备受好评的报修软件——“的修”报修软件。   一、关于“…

Android NDK开发详解之NDK 使用入门

Android NDK开发详解之NDK 使用入门 下载 NDK 和工具创建或导入原生项目 原生开发套件 (NDK) 是一套工具,使您能够在 Android 应用中使用 C 和 C 代码,并提供众多平台库,您可使用这些平台库管理原生 activity 和访问实体设备组件,…

PTA 病毒溯源(树)

题目 病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起…

Mysql扩展语句和约束方式

一、扩展语句 使用工具Navicat创建表格 create TABLE if not exists carrot( id int(4) ZEROFILL primary key auto_increment, name varchar(10) not null, cardid int(18) not null unique key, hobby varchar (50) ); --------------------------------------------------…

【数据挖掘 | 数据预处理】缺失值处理 重复值处理 文本处理 确定不来看看?

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

GO语言,半自动打怪

仅供学习参考,切勿用于商业用途 package mainimport ("fmt""github.com/go-vgo/robotgo""math/rand""time" )const (taskNum 7 )type Task struct {Name stringSleepTime1 intSleepTime2 intFunc func() }fu…

K8S删除资源后一直处于Terminating状态无法删除解决方法

原因 使用kubectl delete 删除某命名空间是一直处于Terminating状态无法删除,首先排查了该命名空间下是否还存在deployment pod等资源发现没有后,等了很久还是无法删除后发现是因为该名称空间的“finalizers”字段有值导致 Finalizer(终结器…

MySQL - 为什么需要 redo log?

为什么需要 redo log?: 数据恢复与一致性: Redo日志是数据库的事务日志,用于记录事务操作的细节,包括插入、更新和删除等。它确保了数据的持久性,即使在数据库发生崩溃或异常重启后,可以使用Re…