使用mysql的source批量导入多个sql文件

需求:

有一个文件,文件里面包含100多个sql文件,想要把这些sql文件都导入到mysql中

做法:

使用 mysql 的 source 可以将文件导入到 mysql 中,但是一次只能导入一个 sql 文件,我有100多个sql。。。

用传统的方式肯定不行,这里可以参考下 Nginx 配置文件,在 Nginx 中,可以使用“include”将一些域名配置文件统一到一个.conf文件中集中管理,那么 mysql 是否也可以这样呢?答案是肯定的

首先,进入到你的sql文件列表里面

vim shell.sh

输入下面的内容

#!/bin/bash
dir=`ls ~/tmp/` #定义遍历的目录,这个是你sql的存放路径
echo "" > all.sql #创建一个总的sql文件,注意别跟你现有的重名即可!
for i in $dir
do
echo "source ~/tmp/$i;" >> all.sql
done

保存后执行

# sh shell.sh

然后我们查看下all.sql文件

# cat all.sql
source ~/tmp/a.sql;
source ~/tmp/b.sql;
...
...
...

然后我们登录到mysql中,用source导入sql

mysql > source ~/tmp/all.sql;

批量导入sql over

上一篇:source命令 导入.sql文件时,中文乱码 或者是注释乱码


下一篇:jsonp跨域再谈