Linux/Mac通过shell脚本批量导入sql文件

Linux/Mac Mysql批量导入sql文件

今天刚接触公司项目,需要创建数据库,但是sql文件有几十个,而navicat又不能批量导入,一个一个文件导入简直要死了,干脆自己写了一个脚本。

如下,如果对你有帮助,欢迎点个赞,收藏一下再走。
直接在将下面代码复制到.sh文件中,然后执行sh文件即可
GitHub 地址: https://github.com/Mcliuyi/script

#/bin/bash

sql_path=$1;
if [ ! -n "$sql_path" ];
then

	echo "请输入sql所在目录: ";
	read sql_path;
fi;

if [ ! -d "$sql_path" ];
then
	echo "目录不存在";
	exit 1;
else
	echo "目录存在";
fi;

echo "请输入需要导入的数据库名: "
read db;

eval " echo 'use $db;' >  batch.sql"

for file in $(find $sql_path -name "*.sql" | sort)
do
	eval "echo 'source $file;' >> batch.sql";
done;

echo "批量导入sql文件已生成,是否需要自动导入至mysql: (yes/no) 默认no"
read status;

if [ $status == "yes" ]
then
	read -p "请输入数据库账号: " username;
	if [ -z "$username" ];
	then
		exit 1;	
	fi;
	read -p "请输入数据库密码: " pwd;
	if [ -z "$pwd" ];then
		exit 1;
	fi;
	read -p "请输入数据库IP:(默认 127.0.0.1) " ip;
	if [ -z "$ip" ];then
		ip=127.0.0.1;
	fi;	
	read -p "请输入端口:(默认: 3306) " port;
	if [ -z "$port" ];then
		port=3306;
	fi;
else
	echo "退出";
	exit 1;
fi

eval "mysql -u $username -p$pwd -h $ip -P $port  --max_allowed_packet=1048576 --net_buffer_length=16384 < batch.sql"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值