请问dumping导出的tidb sql格式数据,是否可以直接source进目标tidb数据库

请问dumping导出的tidb sql格式数据,是否可以直接source进目标tidb数据库

源库tidb导出的数据格式是sql格式,请问是不是可以在tidb目标库使用source导入? lighting配置实在是太麻烦了。

[root@tidb backup]# ll
total 24
-rw-r–r–. 1 root root 146 Mar 1 14:40 metadata
-rw-r–r–. 1 root root 137 Mar 1 14:40 mydb-schema-create.sql
-rw-r–r–. 1 root root 129 Mar 1 14:40 mydb.t.000000000.sql
-rw-r–r–. 1 root root 150 Mar 1 14:40 mydb.t1.000000000.sql
-rw-r–r–. 1 root root 186 Mar 1 14:40 mydb.t1-schema.sql
-rw-r–r–. 1 root root 167 Mar 1 14:40 mydb.t-schema.sql

目标库:
mysql > use mydb
mysql > source mydb.t-schema.sql;
mysql > source mydb.t.000000000.sql;

可以的

库表的数量少还可以,多了就不方便了。

可以,但sql之间有先后顺序。其实类似mydumper的备份还原

编辑成shell脚本在后台跑跑

明显还是用 tidb-lightning 比 source 更好。产品设计上,source 是兼容 mysql 数据库,tidb-lightning 用于导入 dumpling 生成的文件

  • dumping 导出的 TiDB SQL 格式数据可以直接 source 导入,TiDB 对自身导出的 SQL 兼容性完全适配;
  • 关键前提:确保目标库已创建、用户权限足够、避免 MySQL 特有语法,大文件建议用 mysql < 文件名 方式导入;
  • 优化建议:导入前关闭自动提交、禁用外键检查,目标 TiDB 版本不低于源版本,可大幅提升导入成功率和效率。

可以使用source导入,临时解决小表导入问题可以使用,如果长期有导入逻辑的话还是配置一个标准化的lightning脚本更好,标准化参数后,后续也只是执行sh

是可以这么操作的,但是性能还是lightning好一点。

可以的

理论上是可行的

  • 先执行 source mydb-schema-create.sql 创建数据库。
  • 再执行 source mydb.t-schema.sql 创建表结构。
  • 最后执行 source mydb.t.000000000.sql 等数据文件。

可以source执行的,先处理元数据,再处理数据

两个工具的数据协议标准是兼容的

其实还有一个疑问,就是字符集的问题,如果表里有中文,
在linux系统里source数据后,居然没有乱码,难道tidb导入都不需要考虑终端字符集问题吗?

:thinking:为啥不用 lightning tidb 逻辑模式导入呢?

可以,也可以用数据库客户端执行相关sql语句

mysql的工具tidb可以用,不是兼容的吗

节点要设置字符集的

可以直接使用 source命令导入

设置终端的还是服务器的呢