加快 MySQL 数据迁移
目录
一、先导
1. 自建目标实例
2. 配置目标主从
二、源导出
1. 生成查询用户权限的SQL语句
2. 生成权限的SQL语句
3. 生成创建非主键索引的SQL语句
4. 导出源库结构
5. 导出源库数据
三、目标导入
1. 目标实例设置
2. 创建用户与权限
3. 处理结构导出文件
4. 导入结构
5. 导入数据
6. 添加索引
四、后续
1. 配置到源的复制
2. 切换
一、先导
1. 自建目标实例
2. 配置目标主从
二、源导出
1. 生成查询用户权限的SQL语句
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -e "
select concat('show grants for \`',user,'\`@\`',host,'\`;') from mysql.user where user not like 'mysql.%';" -N > show_grants.sql
2. 生成权限的SQL语句
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -N < show_grants.sql > grants.sql
sed -i 's/$/&;/g' grants.sql;
3. 生成创建非主键索引的SQL语句
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -e "
select concat('alter table ',table_schema,'.',table_name,' add ',concat('index ',index_name),' (',col,');') create_indexfrom (
select table_schema,table_name,index_name,group_concat(column_name order by seq_in_index) colfrom information_schema.statistics where table_schema in ('test', 'test_jhy') and index_name <> 'PRIMARY'group by table_schema,table_name,index_nameorder by table_schema,table_name,index_name) t;" -N > create_index.sql
4. 导出源库结构
# max_allowed_packet 不能大于目标库的值
mysqldump -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock --no-data --single-transaction --triggers --routines --events --set-gtid-purged=OFF --master-data=2 -e --max_allowed_packet=1073741824 -e --net_buffer_length=16384 --databases test test_jhy | gzip > dump_db.sql.gz
5. 导出源库数据
mysqldump -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock --single-transaction --set-gtid-purged=OFF --master-data=2 -e --max_allowed_packet=1073741824 -e --net_buffer_length=16384 --no-create-db --no-create-info --databases test test_jhy | gzip > dump_data.sql.gz
三、目标导入
1. 目标实例设置
bulk_insert_buffer_size=1073741824
innodb_buffer_pool_size=34359738368
innodb_flush_log_at_trx_commit=0
max_allowed_packet=1073741824
concurrent_insert=AUTO
innodb_autoinc_lock_mode=2
2. 创建用户与权限
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock < grants.sql
3. 处理结构导出文件
gunzip dump_db.sql.gz
# 删除除主键外的索引。不能删除主键,否则建表时遇到自增列报错:
# Incorrect table definition; there can be only one auto column and it must be defined as a key
sed -i '/ KEY `/d;' dump_db.sql
# 删除闭括号前的逗号
sed -i ':a;N;$!ba;s/,\n) ENGINE=InnoDB/\n) ENGINE=InnoDB/g' dump_db.sql
4. 导入结构
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock < dump_db.sql
5. 导入数据
gunzip dump_data.sql.gz
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock < dump_data.sql
6. 添加索引
mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock < create_index.sql
四、后续
1. 配置到源的复制
# 查看复制坐标
more dump_data.sql-- 配置并启动复制
change master to
master_host='10.10.10.1',
master_port=3306,
master_user='repl',
master_password='123456',
master_log_file='aaaaaaaaaaaa',
master_log_pos=xxxxxx;start slave;
show slave status\G
2. 切换
相关文章:
加快 MySQL 数据迁移
目录 一、先导 1. 自建目标实例 2. 配置目标主从 二、源导出 1. 生成查询用户权限的SQL语句 2. 生成权限的SQL语句 3. 生成创建非主键索引的SQL语句 4. 导出源库结构 5. 导出源库数据 三、目标导入 1. 目标实例设置 2. 创建用户与权限 3. 处理结构导出文件 4. 导…...
CANalyzer panel
(1205条消息) CAPL 脚本中对信号,系统变量,环境变量的 事件响应_capl programs脚本怎么写信号运算_蚂蚁小兵的博客-CSDN博客 注意环境变量是在工程关联的dbc中创建的;而系统变量是在CANoe工程工具栏的”Environment”下的”System Variables”…...
延迟队列的理解与使用
目录 一、场景引入 二、延迟队列的三种场景 1、死信队列TTL对队列进行延迟 2、创建通用延时消息死信队列 对消息延迟 3、使用rabbitmq的延时队列插件 x-delayed-message使用 父pom文件 pom文件 配置文件 config 生产者 消费者 结果 一、场景引入 我们知道可以通过TT…...
jQuery成功之路——jQuery的DOM操作简单易懂
jQuery的DOM操作 1.jQuery操作内容 jQuery操作内容 1. text() 获取或修改文本内容 类似于 dom.innerText 2. html() 获取或修改html内容 类似 dom.innerHTML 注意: 1. text() 是获取设置所有 2. html() 是获取第一个,设置所有 <!DOCTYPE html> <html lang"zh…...
C++ 学习系列 -- 智能指针 make_shared 与 make_unique
一 make_shared 1.1 make_shared 是什么? c 11 中 引入了智能指针 shared_ptr,以及一个模板函数 make_shared 来生成一个制定类型的 shared_ptr。 1.2 引入 make_shared ,解决了什么问题? make_shared的引入,主…...
贝叶斯神经网络 - 捕捉现实世界的不确定性
贝叶斯神经网络 - 捕捉现实世界的不确定性 Bayesian Neural Networks 生活本质上是不确定性和概率性的,贝叶斯神经网络 (BNN) 旨在捕获和量化这种不确定性 在许多现实世界的应用中,仅仅做出预测是不够的;您还想知道您对该预测的信心有多大。例…...
games101作业1
题目 给定三维下三个点 v0(2.0, 0.0, −2.0), v1(0.0, 2.0, −2.0), v2(−2.0, 0.0, −2.0), 你需要将这三个点的坐标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 (在代码框架中,我们已经提供了 draw_triangle 函数,所以你只需要去构建变换矩阵即可…...
LeetCode 面试题 02.08. 环路检测
文章目录 一、题目二、C# 题解 一、题目 给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。若环不存在,请返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了…...
【Linux】线程安全-生产者消费者模型
文章目录 生产者消费者模型123规则应用场景优点忙闲不均生产者和消费者解耦支持高并发 代码模拟 生产者消费者模型 123规则 1个线程安全的队列:只要保证先进先出特性的数据结构都可以称为队列 这个队列要保证互斥(就是保证当前只有一个线程对队列进行操…...
优化(2) 2023/09/03
今天重新温习了下clean abap,以前只是偶尔打开看几眼。今天把有些自己不熟悉的地方,重点研究了下。有几个点可以在以后工作使用。这几点可能并不能提升程序效率,但会大大提高代码可读性和代码的可扩展性: 用insert XXX into tabl…...
Swap and Reverse 题解
Swap and Reverse 题面翻译 题目描述 本题共有 t t t 组数据。 给定一个长度为 n n n 的字符串 s s s 和一个整数 k k k, s s s 只包含小写字母,你可以进行若干次操作(可以是零次),具体操作如下: 选…...
单元测试:优雅编写Kotlin单元测试
一、MockK简介 MockK是一款功能强大、易于使用的Kotlin mocking框架。在编写单元测试时,MockK能够帮助我们简化代码、提高测试覆盖率,并改善测试的可维护性。除了基本用法外,MockK还提供了许多额外的功能和灵活的用法,让我们能够…...
深度学习入门教学——卷积神经网络CNN
目录 一、CNN简介 一、输入层 二、卷积层 三、池化层 四、全连接层 一、CNN简介 1、应用领域 检测任务 分类与检索 超分辨率重构 2、卷积网络与传统网咯的区别 传统神经网络和卷积神经网络都是用来提取特征的。神经网络: 可以将其看作是一个二维的。卷积神经…...
【MySQL】MySQL系统变量(system variables)列表(mysqld --verbose --help的结果例)
文章目录 【MySQL】MySQL系统变量(system variables)列表(mysqld --verbose --help的结果例)mysqld --verbose --help的结果例参考 【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和…...
Python学习之四 数据输入与输出
(一) 脚本编程 前面的章节,组要学习了一些简单的Python编程,使用的是交互式解释器,本章节将开始进行脚本编程。可以使用多种编辑器或者IDE完成编码,主要使用vim。 参考前续小节的写法,我们给a、b分别赋值3和5。 在终端运行程序后发现,没有任何输出。这就是本次我们将要…...
VBA技术资料MF51:VBA_在Excel中突出显示唯一值
【分享成果,随喜正能量】世间万物,因果循环不休,你的善心善行,都可能成为你的善缘善果。每天忆佛念佛,每天都在佛菩萨的加持下生活,自然吉祥如意,法喜充满。 。 我给VBA的定义:VBA是…...
Mqtt学习笔记--交叉编译移植(1)
简述 Mqtt目前在物联网行业的应用比较多,mqtt属于应用层的一个中间件,这个中间件实现消息的订阅发布机制。网上介绍Mqtt的实现原来的比较多,这里不细介绍。 其实在我们之前的产品中,自己也开发的有类似的中间件,除了具…...
Gateway的服务网关
Gateway服务网关 Gateway网关是我们服务的守门神,所有微服务的统一入口。 网关的核心功能特性: 请求路由 权限控制 限流 架构如下: gateway使用 引入依赖 创建gateway服务,引入依赖 <!--网关--> <dependency>…...
信息化发展18
存储技术 1 、存储分类 2 、常用存储模式的技术与应用对比: ( 1 ) 存储虚拟化( Storage Virtualization ) 是“ 云存储” 的核心技术之一。 它带给人们直接的好处是提高了存储利用率, 降低了存储成本, 简…...
TypeScript学习 + 贪吃蛇项目
TypeSCript简介 TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,任何的JS代码都可以直…...
Kerr相干态:从非线性量子光学到光子晶格模拟的实现路径
1. 引言:从经典光场到非线性量子相干态 在量子光学的研究中,相干态是一个基石性的概念。它最初由罗伊格劳伯在1960年代引入,用以描述激光器输出的光场。简单来说,一个理想的单模激光,其量子态就可以用一个相干态来极好…...
LVF时序变异分析:原理、应用与EDA工具支持
1. 什么是LVF(Liberty Variance Format)?在芯片设计领域,时序分析是确保电路性能符合预期的重要环节。Liberty Variance Format(LVF)是一种用于描述时序变异的新方法,它解决了传统Stage Based O…...
建筑项目进度延误率下降37%的秘密:一个轻量化AI Agent工作流,已在12个EPC项目中闭环验证
更多请点击: https://codechina.net 第一章:建筑项目进度延误率下降37%的秘密:一个轻量化AI Agent工作流,已在12个EPC项目中闭环验证 在某头部工程总承包(EPC)企业落地的轻量化AI Agent工作流,…...
电信计费系统AI Agent重构实战:7天完成规则引擎迁移,零业务中断验证报告
更多请点击: https://intelliparadigm.com 第一章:电信计费系统AI Agent重构实战:7天完成规则引擎迁移,零业务中断验证报告 传统电信计费系统长期依赖硬编码规则引擎(如 Drools 7.10),平均响应…...
量子机器学习泛化边界:噪声环境下的理论与工程挑战
1. 量子机器学习泛化边界:理论与噪声的博弈场 量子机器学习(QML)正站在一个激动人心又充满挑战的十字路口。作为一名长期关注量子算法落地的从业者,我目睹了无数论文在理想化的模拟环境中宣称“量子优势”,却在真实的含…...
AI加速器硬件安全防护技术与实践
1. AI加速器的硬件安全威胁与防护需求在数据中心和边缘计算场景中,AI加速器已成为支撑人工智能工作负载的核心基础设施。这些高性能计算设备通常运行着价值连城的专有算法和训练数据,其物理安全直接关系到企业的核心资产保护。与传统服务器不同ÿ…...
FlexHEG:AI硬件加速器的自动化保障验证框架
1. FlexHEG技术体系概述FlexHEG(Flexible Hardware-Enabled Guarantees)是一套为AI硬件加速器设计的自动化保障验证框架。这个技术体系的核心目标是通过硬件和软件的协同设计,实现对AI计算工作负载的实时监控和策略合规性验证。在当前AI技术快…...
Unity ECS帧同步实战:确定性模拟与Job化网络Tick
1. 这不是“又一个Unity网络教程”,而是帧同步在ECS架构下的真实落地切口很多人一看到“Unity多人对战”就下意识点开,结果发现是PhotonMonoBehaviour的旧路子:对象池、RPC调用、状态同步、插值补偿……代码越写越厚,逻辑越埋越深…...
别再为医学影像格式发愁了!3D Slicer 5.x 保姆级数据导入与格式转换指南
医学影像处理实战:3D Slicer 5.x全格式兼容指南与高效工作流医学影像研究的第一步往往就卡在数据导入环节——当你从医院PACS系统拿到DICOM序列,从合作方收到NRRD压缩包,或是下载公开数据集的NIFTI文件时,3D Slicer中那些灰色的&q…...
Linux-安装cmatrix
linux-安装cmatrix (黑客帝国矩阵效果) su root #切换身份到root不受权限控制 cd /usr/src #进入源码下载位置,准备下载安装包利用xftp 共享传送文件进入home找到文件,cp 文件 /usr/src解压,进…...
