背景
sys_dump 是用于备份 KingbaseES 数据库的工具,可将数据库备份为脚本文件或其他归档文件。即使数据库正在并发使用,也能创建一致的备份。sys_dump 不阻塞其他用户访问数据库(读取或写入)。
在项目中遇到,要批量删除一批表,为了安全起见,被删除的这些表需要有独立rollbacksql作为备份。这种情况,可以灵活使用sys_dump达到预期效果。
批量导出建表语句
准备工作
1、需要导出的表名保存在一个文件中,每行保存一个表名。
/tmp/rollbakTableNames.txt
2、创建目录存放生成的sql文件genRollbackSqls
sys_dump导出
cat /tmp/rollbakTableNames.txt |xargs -I {} bash -c "sys_dump -U kmonitor -d ytj -p 54322 --schema-only --table={} -f /tmp/genRollbackSqls/{}.sql"