shell输出mysql表_shell脚本实现导出远程mysql数据库表数据至本地

脚本功能简述

1、导出远程mysql数据库表数据到本地并保存为文件

2、支持将要导出数据的表信息配置到配置文件中,脚本会循环配置文件并解析配置文件,然后完成后续数据导出。

3、支持按时间的增量导出,内置时间变量${START_TIME} ${END_TIME} 和时间戳内置变量${START_TIMESTAMP} 和 ${END_TIMESTAMP}

4、支持-D形式的输入参数,如:-D cfg=cfg_file_path_x -D starttime=YYYY-MM-DD -D endtime=YYYY-MM-DD

脚本工程目录

project_name/bin

project_name/cfg

project_name/sql

以sync_m2local为例

e092aaf8b8d77c81fa436a0d5e6d1661.png

脚本使用介绍

步骤1、在cfg目录下创建db.cfg文件配置数据库连接信息

$ cat cfg/db.cfg

DB_URL_="/usr/bin/mysql -h192.168.1.3 -udyb -pdyb123"

步骤2、在cfg目录下创建sync_service.cfg(文件名称可自定义)配置文件,配置需要导出的表信息

$ cat cfg/sync_service.cfg

#database_name:table_name:sql_statement_file:[db_connect]

cloud_tm_mi:order_info:sql/order_info.sql:default

cloud_tm_mi:user_info:sql/user_info.sql:default

步骤3、在sql目录下编写相应sql文件

$cat sql/order_info.sql (全量导出)

sql_="select concat_ws(x'01',REPLACE(IFNULL(id,''),'\n',''),REPLACE(IFNULL(is_delete,''),'\n','')) from order_info ;"

$cat sql/user_info.sql (按时间YYYY-MM-DD的增量导出,默认时间为昨天0点-23点59:59秒,可以通过参数指定)

sql_="select concat_ws(x'01',REPLACE(IFNULL(id,''),'\n',''),REPLACE(IFNULL(username,''

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值