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

痞子三分冷 提交于 2019-12-04 00:31:26

需求:

有一个文件,文件里面包含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

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!