【 TiDB 使用环境】
测试环境
【问题描述】:
1.使用 mydumper 进行数据备份,备份操作正常;
2.使用 loader 进行数据还原时,发现,原来的视图竟然被还原成了表。
【TiDB 版本】 v4.0.12
【 TiDB 使用环境】
测试环境
【问题描述】:
1.使用 mydumper 进行数据备份,备份操作正常;
2.使用 loader 进行数据还原时,发现,原来的视图竟然被还原成了表。
【TiDB 版本】 v4.0.12
看下导出的sql文本里面,是 create table,还是 create view ?
mydumper 导出貌似是有这情况,但是还原的时候执行 view.sql 这个文件,会先有 drop table 和 drop view 操作,能确保把视图还原成功。
你之前 loader 的时候没有自动执行 view.sql 文件吗?
完整的loader命令发一下看看
》 1.备份命令:
./mydumper -h 192.168.0.31 -P 4000 -u root -p xxxxxx -B bbb -t 1 -o /home/tidb_test_0.31/dstyypt/20211201_test02
看命令没啥问题,loader也没有特殊参数能指定视图恢复。
把 view.sql 的 grep 出来手动 source 吧。。
“把 view.sql 的 grep 出来手动 source 吧” 这个是什么操作?还请大佬指教。
是把 这个 view.sql 文件中的内容复制出来在数据库中手动执行吗?
什么版本? 看来是loader的问题。
正常的myloader流程:
1、导入库表结构文件
2、导入每个库表的具体数据
3、导入存储过程、函数、事件
4、导入视图
5、导入触发器
而loader是myloader的简化版本,可能有些流程没有处理好。
就是写个脚本,把view.sql的文件都找出来,然后用语句把这些脚本执行掉,类似
mysql -u root -pXXX -h 172.XX.XX.XX -P 4000 < /tmp/schema-view.sql
对的,可以试下 myloader
感谢大佬的支持,你这个关于loader版本的提示给了我一个思路,我研究一下
感谢大佬的支持,我更新一下这个工具包,使用和数据库版本一致的这个工具包试一下
我发现了,真的是loader工具的问题,我又测试了 tidb-lightning 就没有问题了,视图和表都可以正常的恢复。
感谢大佬的费心支持
是loader工具包的问题,我又使用了 集群对应版本的 tidb-lightning 工具进行恢复就正常了
非常感谢大佬
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。