脚本功能简述
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为例
脚本使用介绍
步骤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,''