如何实现mysql/mongo导出到本地文件
1.将 mongo 导出到本地
#!/bin/bash
set -e
#变量声明
数据库=“”
表=“” p>
列=“”
查询=""
datafile_path=""
#函数定义
usage(){
echo "usage(): $0 [ -d 数据库名称] [-t 表[-c 列名] [-q 查询条件] " 1>&2;
exit 1;
}
p>
#执行
#检测参数并给对应变量赋值
while getopts "d:t: c:q:" opt
do
case "$opt" in
d) 数据库=$OPTARG ;;
# t) 表=$(echo $OPTARG| tr '[A-Z]' '[a-z]') ;;
t) 表=$OPTARG ;;
c) columns= $OPTARG ;;
q) query=$OPTARG ;;
*) 用法;;
esac
完成
shift $[ $OPTIND - 1 ]
echo "mongoexport --host $mongo_ip --port $mongo_port -u $mongo_user -p $mongo_password --authenticationDatabase=admin --db ${database} --collection ${table} --readPreference='secondaryPreferred' -f ${columns} --query "{${query}}" --type =csv"
mongoexport --host $mongo_ip --port $mongo_port -u $mongo_user -p $mongo_password --authenticationDatabase=admin --db ${数据库} --collection $ {table} --readPreference='secondaryPreferred' -f ${columns} --query "{${query}}" --type=csv | tail -n+2 |sed 's/ObjectID[(]\([ 0-9a-zA-Z-]\+\)[)]/\1/i' > ${table}.csv
2.导出mysql到本地
#!/bin/bash
set -e
#变量声明
数据库=“”
表=“”
列=“”
where =""
datafile_path=""
#函数定义
usage(){
echo "usage(): $0 [-d 数据库名称] [-t 表名称] [-c 列名称] [-w过滤条件] " 1>&2;
exit 1;
}
#Execute
#检测参数对应的变量赋值
while getopts "d:t:c:w:" opt
do
case "$opt" in
d) 数据库=$OPTARG ;;
t) 表=$(echo $OPTARG| tr '[a-z] ' '[A-Z]') ;;
c) columns= $OPTARG ;;
w) where=$OPTARG ;;
*) 用法; ;
esac
完成
转移$[$OPTIND - 1]
#echo "database=${database} 、table=${table} 、columns=${columns} 、where=${where}"
< br/>
#数据库链接
mysql_bin="mysql -h$mysql_ip -P$mysql_port -u$mysql_user -p$mysql_password --database=${database}"< /p>
#生成 SQL 语句
SQL_STR=""
if [ ${where} == "" ] ;然后
SQL_STR="select "${columns}" from "${table}";"
else
SQL_STR="select "${ columns}" from "${table}" where "${where}";"
fi
echo ${SQL_STR}
#执行SQL语句并导入到lo中cal 文件
$mysql_bin -N -e "${SQL_STR}" > ${table}.csv
感谢您的阅读!这篇关于《如何实现mysql/mongo导出到本地文件》的文章就分享到这里。希望以上内容能够给大家带来一些帮助,让大家学到更多的知识。如果您觉得文章不错,可以分享一下。走出去,让更多人看到!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何实现mysql/mongo导出到本地文件