Tidb异名恢复Mysql数据库的过程

tidb,异名,恢复,mysql,数据库,过程 · 浏览次数 : 30

小编点评

## Tidb异名恢复Mysql数据库的过程背景 **坑:** 1. mysqldump + mysql source 的方式没有明确的 更换数据库的备份呢恢复机制。 2. TiDB 非常号称是兼容 MySQL5.7 但是实际上还是很多不一样的地方比如字符集, 仅支持 utf8mb4. 3. 其他部分的替换需要执行一些 SQL 语句进行处理。 **备份恢复的注意事项:** * 使用 mysqldump -uroot -p -h192.168.255.xx -P3306 Yourdatabase > /home/mysql/Yourdatabase.sql# 需要注意 -d 是结构 -t 是数据, 数据库前面啥都不加是 架构 + 数据# 输入密码就可以备份了。 * 需要注意 这里有第二个坑. TiDB 非常号称是兼容 MySQL5.7 但是实际上还是很多不一样的地方比如字符集, 仅支持 utf8mb4. 并且排序部分的支持也非常有限, 需要执行如下SQL进行一些切换。 * 当然可能不限于此. 不符合的部分需要继续进行替换. **推荐:** 1. 使用方式1,直接执行 SQL 语句进行备份和恢复。 2. 建议使用工具,例如 mydumper + loader 或 lightning dumpling 等,可以提供更便捷的备份和恢复体验。 3. 建议对数据库进行全量备份,以便在必要时进行恢复。

正文

Tidb异名恢复Mysql数据库的过程


背景

先说坑:
TiDB备份恢复的方式
1. mysqldump + mysql source 的方式.
2. mydumper + loader  tidb 的一个工具组件
3. lightning dumpling的备份恢复方式是
4. br backup restore 备份恢复的方式. 

好像除了方式1 都没提供明确的 更换数据库的备份呢恢复机制.
所以在数据库表不是非常大的情况下可能只能使用方式1 来进行处理. 

备份恢复的注意事项

mysqldump -uroot -p -h192.168.255.xx -P3306  Yourdatabase > /home/mysql/Yourdatabase.sql

# 需要注意 -d 是结构 -t 是数据, 数据库前面啥都不加是 架构 + 数据
# 输入密码就可以备份了. 

需要注意 这里有第二个坑. TiDB 非常号称是兼容 MySQL5.7 但是实际上还是有很多不一样的地方
比如字符集, 仅支持 utf8mb4. 并且排序部分的支持也非常有限, 需要执行如下SQL进行一些切换. 
当然可能不限于此. 不符合的部分需要继续进行替换. 

sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_bin/g'  /home/mysql/xxl.sql
sed -i 's/utf8mb3/utf8mb4/g' /home/mysql/xxl.sql
sed -i 's/utf8mb3_bin/utf8mb4_bin/g' /home/mysql/xxl.sql

然后创建数据库:
create database NewDatabase

mysql -uroo -pxxxx -P4000 -h192.xx.xx.x 
use NewDatabase
source xxl.sql

就可以在当前use 的数据库里面执行数据库的备份与恢复了. 

其他注意事项

1. Mysqldump 和 source 的方式非常慢
在大量表时 速度可能仅仅比直接执行SQL快一点点. 
2. 数据库非常重要, 不要随意执行删除操作. 能够备份就备份呢. 
要避免不必要的麻烦和事故. 

与Tidb异名恢复Mysql数据库的过程相似的内容:

Tidb异名恢复Mysql数据库的过程

# Tidb异名恢复Mysql数据库的过程 ## 背景 ``` 先说坑: TiDB备份恢复的方式 1. mysqldump + mysql source 的方式. 2. mydumper + loader tidb 的一个工具组件 3. lightning dumpling的备份恢复方式是 4. b

[转帖]TiFlash 简介

overview TiFlash 是 TiDB HTAP 形态的关键组件,它是 TiKV 的列存扩展,在提供了良好的隔离性的同时,也兼顾了强一致性。列存副本通过 Raft Learner 协议异步复制,但是在读取的时候通过 Raft 校对索引配合 MVCC 的方式获得 Snapshot Isolat

[粘贴]TiFlash

TiFlash 是 TiDB HTAP 形态的关键组件,它是 TiKV 的列存扩展,在提供了良好的隔离性的同时,也兼顾了强一致性。列存副本通过 Raft Learner 协议异步复制,但是在读取的时候通过 Raft 校对索引配合 MVCC 的方式获得 Snapshot Isolation 的一致性隔

使用 TiDB Vector 搭建 RAG 应用 - TiDB 文档问答小助手

本文首发至TiDB社区专栏:https://tidb.net/blog/7a8862d5 前言 继上一次《TiDB Vector抢先体验之用TiDB实现以图搜图》后,就迫不及待的想做一些更复杂的应用。上一篇在 TiDB 社区专栏发布以后还是有很多社区朋友不明白向量的应用场景到底是什么,这次用一个更直

TiDB Vector 抢先体验之用 TiDB 实现以图搜图

本文首发自 TiDB 社区专栏:https://tidb.net/blog/0c5672b9 前言 最早知道 TiDB 要支持向量化的消息应该是在23年10月份左右,到第一次见到 TiDB Vector 的样子是在今年1月初,当时 dongxu 在朋友圈发了一张图: 去年我研究了一段时间的向量数据库

[转帖]TiDB 适配应用实践:MyBatis 3.5.X 在 JDK8 中性能问题的排查与优化

https://zhuanlan.zhihu.com/p/371638037 作者介绍:PingCAP Tech Center,于旸。 最近有金融客户使用 TiDB 适配批处理场景,数据量在数亿级。对于相同数据量的处理耗时,TiDB 要 35 分钟,而某商业数据库只要 15 分钟,足足相差 20 分

[转帖]tidb集群部署

http://blog.itpub.net/29785807/viewspace-2789852/ 一.安装规划 1 2 3 4 5 6 使用15台服务器 5台tidb服务器:每台3个tidb实例+1个pd+1个pump 10台tikv服务器:每台4个tikv实例 drainer_servers 安

[转帖]tidb 修改root密码

http://blog.51yip.com/tidb/2452.html 通过 {pd-ip}:{pd-port}/dashboard 登录 TiDB Dashboard,登录用户和口令为 TiDB 数据库 root 用户和口令。如果你修改过数据库的 root 密码,则以修改后的密码为准,默认密码为

[转帖]使用 TiFlash

TiDB试用 来源:TiDB 浏览 490 扫码 分享 2021-04-20 20:57:48 使用 TiFlash 按表构建 TiFlash 副本 查看表同步进度 使用 TiDB 读取 TiFlash 智能选择 Engine 隔离 手工 Hint 三种方式之间关系的总结 使用 TiSpark 读取

[转帖]tidb 搭建私有镜像库

https://docs.pingcap.com/zh/tidb/stable/tiup-mirror 在构建私有云时,通常会使用隔离的网络环境,此时无法访问 TiUP 的官方镜像。因此,TiUP 提供了构建私有镜像的方案,它主要由 mirror 指令来实现,该方案也可用于离线部署。使用私有镜像,你