mysqldump导出脚本

本文档为mysqldump导出脚本使用说明
相关脚本文件为
-------------------------------------------------
|	mysqldump.sh		导出脚本	|
|	mysqldump-table.txt	表名存放文件	|
-------------------------------------------------

1.mysqldumpl-table.txt里存放要导出的表名,多个表名之间用空格或换行符隔开
2.执行mysqldumpl.sh脚本
3.之后会弹出下列说明
---------------------------------------------------------
|	输入导出的数据,all[a], create[c] 或 data[d]	|
---------------------------------------------------------
输入对应参数:
-------------------------------------------------
|	all[a]		表示导出建表语句和数据	|
|	create[c]	表示只导出建表语句	|
|	data[d]		表示只导出数据		|
-------------------------------------------------
4.导出结束后,在脚本的同级目录下,会有相应的sql文件
---------------------------------------------------------
|	tablename-create.sql	包含建表语句的文件	|
|	tablename-data.sql	包含数据的文件		|
#! /bin/bash

#mysql vars
HOST=
POST=
USER=
PASSWORD=
DATABASE=

MODE=
input_flag=true
while $input_flag
do
        read -r -p "请输入导出的数据,all[a], create[c] 或 data[d]  " input
        case $input in
                [aA][lL][lL]|[aA])
                        echo "导出表结构与数据"
			MODE=all
                        input_flag=false
                        ;;
                [cC][rR][eE][aA][tT][eE]|[cC])
                        echo "导出表结构"
                        MODE=create
                        input_flag=false
                        ;;
                [dD][aA][tT][aA]|[dD])
                        echo "导出表数据"
			MODE=data
                        input_flag=false
                        ;;
                *)
                        echo "Invalid  Input..."
                        ;;
        esac
done

for line in $(<mysqldump-table.txt)
do
	table=${line,,}
	echo "开始导出"${table}
	case $MODE in 
		all )
			mysqldump -h ${HOST} -P ${POST} -u${USER} -pxx --no-data --databases $DATABASE --tables $table > ${table}-create.sql
			mysqldump -h ${HOST} -P ${POST} -u${USER} -pxx --no-create-info --databases $DATABASE --tables $table > ${table}-data.sql
		;;
		create )
                        mysqldump -h ${HOST} -P ${POST} -u${USER} -pxx --no-data --databases $DATABASE --tables $table > ${table}-create.sql
		;;
		data )
                        mysqldump -h ${HOST} -P ${POST} -u${USER} -pxx --no-create-info --databases $DATABASE --tables $table > ${table}-data.sql
		;;
	esac 
done
echo " mysqldump end !"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值