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

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

时间:2023-08-10 21:57:56浏览次数:45  
标签:Tidb 异名 备份 Mysql utf8mb4 恢复 sql mysql 数据库

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,utf8mb4,恢复,sql,mysql,数据库
From: https://www.cnblogs.com/jinanxiaolaohu/p/17621591.html

相关文章

  • 开源数据库Mysql_DBA运维实战 (DDL语句)
    DDL编辑DDL语句数据库定义语言:数据库、表、视图、索引、存储过程.例如:CREATE DROPALTERDDL库定义库{                创建业务数据库:CREAATEDATABASE  ___数据库名___ ;                数据库名要求{                ......
  • flink-cdc同步mysql数据到elasticsearch
    1,什么是cdcCDC是(ChangeDataCapture变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。2,flink的cdc项目地址:https://github......
  • python操作MySQL
    #macOS操作MySQL服务#启动MySQLmysql.serverstart#停止MySQLmysql.serverstop#重启MySQLmysql.serverrestart#查看当前MySQL服务状态mysql.serverstatus#配置MySQL服务器#我们需要运行以下脚本配置MySQL服务器的安全性:mysql_secure_install......
  • docker-compose 安装MySQL(单实例)
    需求场景:在开发和测试环境中,或者研究型的环境,对于数据库的安全和稳定性可以稍低一些,那么我们可以通过docker快速部署MySQL服务,降低部署的时间成本。 vimdocker-compose.ymlversion:'3'services:mysql:restart:alwaysprivileged:trueimage:mysql:8.0......
  • MySQL主从复制修改复制用户及密码【转】
    在生产环境中有时候需要修改复制用户账户的密码,比如密码遗失,或者由于多个不同的复制用户想统一为单独一个复制账户。对于这些操作应尽可能慎重以避免操作不同导致主从不一致而需要进行修复。本文描述了修改复制账户密码以及变更复制账户。1、更改复制账户密码--演示环境,同一......
  • 解决mysqladmin flush-hosts
    1、提高允许的max_connect_errors数量(治标不治本)a.命令行修改 修改max_connection_errors的数量为1000 mysql-h123.57.78.101-P3306-uroot-p123456 setglobalmax_connect_errors=1000; showvariableslike‘%max_connect_errors%’;b.配置文件修改 登陆进入M......
  • mysql双主机热备
    1,主库配置cp-f~/files/my.cnf.master/opt/my.cnfservicemysqlrestartmysql-uroot-pcreateuser'repl'@'%'identifiedwithmysql_native_passwordby'repl';GRANTREPLICATIONSLAVEON*.*TO'repl'@'%';FLUSHPR......
  • mysql与pg的主键索引说明
    mysql与pg的主键说明mysql插入顺序与插入随机测试案例B+Tree原理id顺序的方式插入id随机的方式插入Postgresql堆组织表CTIDPg的元组及索引原理Pg与mysql与oracel问题mysql插入顺序与插入随机测试案例  创建了两张表一张表是按顺序来插入的一张表......
  • Linux的MySQL数据库安装部署
    简介MySQL数据库,是知名的数据库系统,其特点是:轻量,简单,功能丰富。MySQL常用版本有MySQL5.7版本安装MySQL8.x版本安装MySQL在CentOS系统安装(5.7版本与8.0版本)注意:安装操作需要root权限安装配置yum仓库#导入更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG......
  • MySQL统计各种数据库对象大小
    MySQL统计各种数据库对象大小;包含:数据库、表、索引等脚本使用示例统计实例中各数据库大小SELECTTABLE_SCHEMA,round(SUM(data_length+index_length)/1024/1024,2)ASTOTAL_MB,round(SUM(data_length)/1024/1024,2)ASDATA_MB,round(SUM(index_length)/1024/1024,2)ASINDEX......