有一百多个sql文件肿么破?一行一行地导入数据库肯定是极其愚蠢的做法,但是我差点就这么做了。。。
网上首先找到的方法是:写一个xxx.sql文件,里边每一行都是source *.sql ...,之后再mysql中去调用source xxx.sql,结果失败,失败原因:Error 2, cannot open file xxxxxxxxx,大概这个样子。这种方法貌似在windows上是可用的,不过貌似还要把sql文件放在mysql/bin目录下才可以生效。
之后找到的解决方案是利用shell脚本,脚本来源http://www.linuxidc.com/Linux/2015-01/111175.htm
脚本代码
#!/bin/bash
file_path="//////////" #要导入的sql文件夹
host="localhost" #要导入的mysql主机
username="root" #mysql的用户名
password="root" #mysql的密码
dbname="xxxx" #mysql的数据库名
mysql_source(){
for file_name in `ls -A $1`
do
if [ -f "$1$file_name" ];then
command="source $1$file_name"
mysql -h${host} -u${username} -p${password} ${dbname} -e "$command"
done
}
mysql_source $file_path
我把里边计时的一些东西去了,有个时间什么的就是能让自己看到点东西,其实一堆notice和error就已经够看了。。。然后直接拿过来用就好了。