本文档为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
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 !"