forked from DevOps/deploy.stack
feat(shell): 添加MySQL表数据分割脚本
新增mysqlSQLSplinter.sh脚本,用于从SQL转储文件中提取指定表的数据
This commit is contained in:
51
shell/mysqlSQLSplinter.sh
Normal file
51
shell/mysqlSQLSplinter.sh
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
tableName=$1
|
||||||
|
inputdt=$2
|
||||||
|
if [ -z "$tableName" ]; then
|
||||||
|
echo "请输入表名"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$inputdt" ]; then
|
||||||
|
echo "请输入日期"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat > ./${tableName}-${inputdt}-out.sql <<EOF
|
||||||
|
-- MySQL dump 10.13 Distrib 8.0.18, for linux-glibc2.12 (x86_64)
|
||||||
|
--
|
||||||
|
-- Host: 192.168.0.87 Database: ppospro_device
|
||||||
|
-- ------------------------------------------------------
|
||||||
|
-- Server version 8.0.28-231003
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!50503 SET NAMES utf8mb4 */;
|
||||||
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||||
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||||
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Current Database: \`ppospro_device\`
|
||||||
|
--
|
||||||
|
|
||||||
|
USE \`ppospro_device\`;
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
#sed -n '/^-- Dumping data for table `${tableName}`/,/^-- Dumping data for table \`/p' ./${tableName}-${inputdt}.sql | sed '$d' >> ${tableName}-${inputdt}-out.sql
|
||||||
|
|
||||||
|
sed -n "/^-- Dumping data for table \`${tableName}\`/,/^-- Dumping data for table \`/p" ./${tableName}-${inputdt}.sql | sed '$d' >> ${tableName}-${inputdt}-out.sql
|
||||||
|
|
||||||
|
cat >> ./${tableName}-${inputdt}-out.sql <<EOF
|
||||||
|
|
||||||
|
-- Dump completed on ${inputdt} 1:20:22
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "split ${tableName}-${inputdt}.sql to ${tableName}-${inputdt}-out.sql"
|
||||||
|
|
||||||
Reference in New Issue
Block a user