当前位置: 首页 > news >正文

第89讲:MySQL数据库迁移方面需要考虑的因素以及XBK企业级备份参数

文章目录

  • MySQL数据库迁移方面需要考虑的因素
    • 1.MySQL数据库迁移方面要考虑的因素
    • 2.MySQL5.6升级到5.7版本的方法
    • 3.MySQL迁移到其他数据库的方法
    • 4.为什么要从XBK备份中还原某张表的数据
    • 5.从XBK备份中还原某张表的数据
    • 6.XtrBackup企业级备份参数

MySQL数据库迁移方面需要考虑的因素

1.MySQL数据库迁移方面要考虑的因素

数据库迁移在企业中也算是比较常见的工作,主要体现在以下几点:

  • 需要从线上环境同步数据到预发布环境。
  • 业务上云,在阿里云环境部署了新的MySQL实例,需要将数据迁移到阿里云的MySQL数据库。
  • 新老服务器切换,淘汰一批MySQL服务器,新购买了性能很强的MySQL服务器,需要迁移数据。
  • MySQL版本升级需要迁移数据。
  • 平台架构中引入了新的技术,例如ES,将MySQL的数据迁移到ES中。

综上所述都是企业中常见的数据迁移工作。

在迁移中需要考虑选择什么工具进行迁移:

  • 数据库与数据库之间的迁移,通常都是使用XBK、mysqldump进行数据迁移,迁移当天先还原全量数据,然后晚上停服,通过Binlog恢复当天产生的新数据,完成迁移
  • idc数据库服务器迁移到阿里云环境,这时使用mysqldump或者是XBK性能都很低,因为要通过互联网传输,可以采用阿里云的DTS迁移工具,快速的进行数据迁移。
  • 数据量很大的情况下,可以使用XBK进行备份还原,直接scp数据文件到目标数据。
  • 数据迁移也可以使用主从复制的方案。

在迁移过程中还有很多非技术性问题需要考虑:

  • 由于要做数据迁移,迁移过程中是不允许数据写入的,肯定是要发布停服通告,首先要确定此次迁移要花费的时间,然后综合性的评估,最后张贴停服公告。
  • 如果迁移有问题,那么回退方案是什么?都要提前考虑好。

任何运维的工作,都分为技术性和非技术性,做好任何一项技术时,都要考虑一切困难发生的因素,减少失败的可能性,技术对于运维都不是难题,非技术性问题一定要好好琢磨。

2.MySQL5.6升级到5.7版本的方法

建议使用mysqldump备份低版本的数据,排除掉所有的系统库,然后将备份在高版本的数据库中还原,最后升级数据字典即可。

只能使用逻辑备份,因为多版本之间的系统结构不同。

3.MySQL迁移到其他数据库的方法

Oracle—>OGG—>MySQL

MySQL—>CSV—>MongoDB

MySQL—>JSON—>MongoDB

4.为什么要从XBK备份中还原某张表的数据

当人员误删除操作时,误删除库的可能性比较小,但是误删除某张表的概率是非常大的,如果误删了某张表,我们也用全备数据去还原,那么是得不偿失的,此时就建议我们从XBK备份中找到某张表,然后只针对这张表进行数据还原。

我们都知道XBK备份的就是数据文件,那么只需要将该表对应的数据文件从备份中找到,然后cp到数据目录即可完成还原。

5.从XBK备份中还原某张表的数据

1)模拟xscjb误删除

[root@mysql ~]# rm -rf /data/mysql/db_1/monday.*或者mysql> alter table monday discard tablespace;

2)从备份中找到xscjb的备份文件

[root@mysql ~]# ll /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/monday.*
-rw-r----- 1 root root  8720 74 11:44 /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/xscjb.frm
-rw-r----- 1 root root 98304 74 11:34 /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/xscjb.ibd

3)将xscjb的备份文件还原到数据目录中

[root@mysql ~]# \cp /data/dbbackup/all_db_bak/all_bak_2022-07-04/db_1/monday.* /data/mysql/db_1/
[root@mysql ~]# chown -R mysql.mysql /data/mysql/db_1/

4)重新加载表空间文件

mysql> alter table monday import tablespace;

6.XtrBackup企业级备份参数

innobackupex --defaults-file=/etc/my.cnf --user=root --password=123456 --no-timestamp --xbstream=tar --user-memory=256M --parallel=2 /data/test/ 

--stream=tar:开启流备份,备份成tar包。

--user-memory=256M:为xbk分配256M的内存进行备份。

--parallel=8:并发处理数,一般都是CPU核数的一半。

相关文章:

第89讲:MySQL数据库迁移方面需要考虑的因素以及XBK企业级备份参数

文章目录 MySQL数据库迁移方面需要考虑的因素1.MySQL数据库迁移方面要考虑的因素2.MySQL5.6升级到5.7版本的方法3.MySQL迁移到其他数据库的方法4.为什么要从XBK备份中还原某张表的数据5.从XBK备份中还原某张表的数据6.XtrBackup企业级备份参数 MySQL数据库迁移方面需要考虑的因…...

Python爬虫经典实战项目——电商数据爬取!

电商数据采集爬虫背景 在如今这个网购风云从不间歇的时代,购物狂欢持续不断,一年一度的“6.18年中大促”、“11.11购物节”等等成为了网购电商平台的盛宴。在买买买的同时,“如何省钱?”成为了大家最关心的问题。 比价、返利、优…...

Qt 快捷键设置

以 “在编辑时自动补齐”快捷键 为例: 位置:红色 搜索快捷键:蓝色 修改方式:绿色 快捷键:黄色...

【C++】取整函数ceil(),floor(),round()

使用 //引入头文件 #include <cmath> //函数使用 double around(double x) double afloor(double x) double aceil(double x) 结果取值 floor(x) 返回是小于或等于x的最大整数&#xff0c;如floor(-9.9)-10,floor(9.9)9&#xff1b;若为整数&#xff0c;最后的结果等于本…...

GoLang刷题之leetcode

题目42&#xff1a;接雨水 题目描述&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水 题解&#xff1a; 对于每一个横坐标能接到的雨水量max&#xff08;左侧最大纵坐标&#xff0c;右侧最大…...

uniapp如何分包加载

在uni-app中&#xff0c;可以通过配置manifest.json文件来实现分包加载。以下是具体操作步骤&#xff1a; 在项目根目录下找到并打开manifest.json文件。在"uni-app"节点中&#xff0c;找到并修改"subPackages"节点&#xff0c;添加需要分包的页面路径。 …...

019、错误处理:不可恢复错误与panic!

鉴于上一篇文章过长&#xff0c;不方便大家阅读和理解&#xff0c;因此关于Rust中的错误处理&#xff0c; 我将分以下3篇来讲。 另外&#xff0c;随着我们学习的不断深入&#xff0c;难度也会越来越大&#xff0c;但不用担心。接下来只需要让自己的脚步慢一些&#xff0c;认真搞…...

jar包部署到linux虚拟机的docker中之后连不上mysql

前言&#xff1a; 跟着黑马学习docker的时候&#xff0c;将java项目部署到了docker中&#xff0c;运行访问报错&#xff0c;反馈连不上mysql。 错误描述&#xff1a; 方法解决&#xff1a; 概述&#xff1a;在虚拟中中&#xff0c;我进入项目容器的内部&#xff0c;尝试ping…...

如何筛选小红书护肤达人,笔记类型怎么选?

网络时代&#xff0c;借助KOL来放大产品的声量和产量&#xff0c;是品牌的常见策略&#xff0c;但是&#xff0c;不同的产品对应不同的KOL&#xff0c;价值是完全不一样。如何筛选达人&#xff0c;已经成为了品牌方的必修课!今天我们和大家分享下如何筛选小红书护肤达人&#x…...

红黑树(RBTree)

目录​​​​​​​ 一、红黑树简介 二、红黑树的来源 三、什么是红黑树 四、红黑树的性质 五、红黑树的节点定义 六、红黑树的操作 6.1、红黑树的查找 6.2、红黑树的插入 七、红黑树的验证 八、红黑树和AVL树的比较 一、红黑树简介 红黑树是一种自平衡的二叉查找树…...

训练YOLOS-S

文章目录 1 数据处理2 配置训练参数3 可能会遇到的报错 1 数据处理 修改类别数&#xff1a;在models/detector.py中定位到def build(args):&#xff0c;将num_classes进行修改&#xff0c;改为最大的类别id1。我有4个类别&#xff0c;类别id是从0~3&#xff0c;因此max_id3&am…...

集成SpringCloudAlibaba短信服务 短信验证码

1.1 SpringCloudAlibaba短信服务简介 短信服务&#xff08;Short Message Service&#xff09;是阿里云为用户提供的一种通信服务的能力。 产品优势&#xff1a;覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度 产品功能&#xff1a;短信通知、短信验证码、…...

存储卷(数据卷)—主要是nfs方式挂载

1、定义 容器内的目录和宿主机的目录进行挂载 容器在系统上的生命周期是短暂的&#xff0c;一旦容器被删除&#xff0c;数据会丢失。k8s基于控制器创建的pod&#xff0c;delete相当于重启&#xff0c;容器的状态会恢复到原始状态。一旦回到原始状态&#xff0c;后天编辑的文件…...

城市酷选模式开发(门店免单排队返利系统)

城市酷选模式开发&#xff08;门店免单排队返利系统&#xff09;【阿巴】城市酷选商城开发免单排队返利小程序搭建、城市酷选模式开发、城市酷选系统商城开发、城市酷选APP系统开发、城市酷选 每经AI快讯&#xff0c;有投资者在投资者互动平台提问&#xff1a;“以塑代钢”已成…...

JNPF低代码引擎到底是什么?

最近听说一款可以免费部署本地进行试用的低代码引擎&#xff0c;源码上支持100%源码&#xff0c;提供的功能和技术支持比较完善。借助这篇篇幅我们了解下JNPF到底是什么&#xff1f; JNPF开发平台是一款PaaS服务为核心的零代码开发平台&#xff0c;平台提供了多租户账号管理、主…...

#基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件

我们在使用jupyter 写代码后&#xff0c;经常遇到一些写完想把文件转成markdown格式的场景&#xff0c;这里就教你怎么处理相关的问题 使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件 pip install nbconvert pip install pandoc jupyter nbconvert --to markdown 文…...

工信部颁发的人工智能证书《自然语言与语音处理设计开发工程师》证书到手啦!

工信部颁发的人工智能证书《自然语言与语音处理设计开发工程师》证书拿到手啦&#xff01; 近期正在报考的工信部颁发的人工智能证书还有&#xff1a; 《计算机视觉处理设计开发工程师》中级 2024年1月24日至28日-北京 《自然语言与语音处理设计开发工程师》中级 第二期 20…...

canvasdrawer 微信原生小程序生成海报图片

在小程序中生成海报是一种非常有效的推广方式 用户可以使用小程序的过程中生成小程序海报并分享给他人 通过海报的形式&#xff0c;用户可以直观地了解产品或服务的特点和优势 常见绘制海报方式 目前&#xff0c;小程序海报有两种常见的实现方式&#xff1a; canvas 绘制…...

linux基础学习(3):挂载

挂载可以理解为给磁盘空间一个可访问的入口&#xff0c;那个入口称为挂载点&#xff0c;相当于windows中的盘符。 1.挂载命令mount 1.1直接输入mount 查看系统已挂载的设备 1.2挂载与卸载命令 mount -t 文件系统名 设备文件名 挂载点 | umount 挂载点 或 umount 设…...

[每周一更]-(第82期):认识自然处理语言(NLP)

GPT的大火&#xff0c;带起了行业内大模型的爆发&#xff1b;国内外都开始拥有或者研发自己的大模型&#xff0c;下边我们从NLP来进一步深入了解大模型、AI。 一、什么是NLP&#xff1f; 自然语言处理&#xff08;英语&#xff1a;Natural Language Processing&#xff0c;缩…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

Django RBAC项目后端实战 - 03 DRF权限控制实现

项目背景 在上一篇文章中&#xff0c;我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统&#xff0c;为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...