您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何實現mysql/mongo導出到本地文件的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一. mongo導出到本地
#!/bin/bash
set -e
#變量聲明
database=""
table=""
columns=""
query=""
datafile_path=""
#函數定義
usage(){
echo " usage(): $0 [-d 數據庫名] [-t 表名 ] [-c 列名] [-q query條件 ] " 1>&2;
exit 1;
}
#執行
#檢測參數 給 對應變量賦值
while getopts "d:t:c:q:" opt
do
case "$opt" in
d) database=$OPTARG ;;
#t) table=$(echo $OPTARG| tr '[A-Z]' '[a-z]') ;;
t) table=$OPTARG ;;
c) columns=$OPTARG ;;
q) query=$OPTARG ;;
*) usage;;
esac
done
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 ${database} --collection ${table} --readPreference='secondaryPreferred' -f ${columns} --query "{${query}}" --type=csv | tail -n+2 |sed 's/ObjectID[(]\([0-9a-zA-Z-]\+\)[)]/\1/i' > ${table}.csv
二. mysql 導出到本地
#!/bin/bash
set -e
#變量聲明
database=""
table=""
columns=""
where=""
datafile_path=""
#函數定義
usage(){
echo " usage(): $0 [-d 數據庫名] [-t 表名 ] [-c 列名] [-w 過濾條件 ] " 1>&2;
exit 1;
}
#執行
#檢測參數 給 對應變量賦值
while getopts "d:t:c:w:" opt
do
case "$opt" in
d) database=$OPTARG ;;
t) table=$(echo $OPTARG| tr '[a-z]' '[A-Z]') ;;
c) columns=$OPTARG ;;
w) where=$OPTARG ;;
*) usage;;
esac
done
shift $[ $OPTIND - 1 ]
#echo "database=${database} , table=${table} , columns=${columns} , where=${where}"
#數據庫鏈接
mysql_bin="mysql -h$mysql_ip -P$mysql_port -u$mysql_user -p$mysql_password --database=${database}"
#生成SQL語句
SQL_STR=""
if [ ${where} == "" ];then
SQL_STR="select "${columns}" from "${table}";"
else
SQL_STR="select "${columns}" from "${table}" where "${where}";"
fi
echo ${SQL_STR}
#執行SQL語句 導入到本地文件
$mysql_bin -N -e "${SQL_STR}" > ${table}.csv
感謝各位的閱讀!關于“如何實現mysql/mongo導出到本地文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。