在shell中:批量导入MySQL备份的表 ?

批量导入MySQL归档的表、也是生产环境有这个场景、一般数据表都是按照业务保留几个月、后期有需要就恢复归档的数据。

之前单条命令:

表名字
cdr_call_item_20241224.sql.gz

解压缩:
gunzip cdr_call_item_20241224.sql.gz

导入恢复:(导入表数据时候、需要有库)
xl-port
mysql -uroot -p123456  -hlocalhost xl-port <   cdr_call_item_20241224.sql 

批量导入:

#!/bin/bash

# 循环从 20241201 到 20241230
for ((i=20241201; i<=20241230; i++)); do
    # 文件名
    file="cdr_call_item_${i}.sql.gz"
    # 解压缩文件并将其导入到数据库
    if gunzip -c "$file" | mysql -uroot -p123456 -hlocalhost xl-port; then
        echo "cdr_call_item_${i}.sql 导入成功"
    else
        echo "cdr_call_item_${i}.sql 导入失败"
    fi
done
posted @ 2025-01-17 09:57  姬高波  阅读(11)  评论(0)    收藏  举报