当前写了一个数据库跑库的脚本 目前执行没有问题 库表都生成了
脚本如下
#!/bin/bash
#-u为数据库用户名 -p为密码如果数据库密码不是root记得修改这里
read -p "ip 地址,默认值 ==> (127.0.0.1) : " mysqlhost
read -p "请输入mysql服务端口,默认值 ==> (3306) : " mysqlport
read -p "请输入mysql超管密码,默认值 ==> (root) : " rootpwd
read -p "请输入oneaccess各个库拥有者对应的密码,默认值 ==> (Bamboocloud@1234) : " kupwd
read -p "请输入oneaccess对应的库及用户的后缀,默认为空串: " suffix
suffix=${suffix:-""}
rootpwd=${rootpwd:-"root"}
mysqlport=${mysqlport:-"3306"}
mysqlhost=${mysqlhost:-"127.0.0.1"}
kupwd=${kupwd:-"Bamboocloud@1234"}
basepath=$(cd `dirname $0`; pwd)
rm -rf ${basepath}/sql_execute
mkdir -p ${basepath}/sql_execute
\cp -r ${basepath}/mysql/** ${basepath}/sql_execute
sed -i "s/bam_password/kupwd/g" ${basepath}/sql_execute/bam/bam_mysql_db_create.sql
sed -i "s/bam/bam${suffix}/g" ${basepath}/sql_execute/bam/bam_mysql_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ${basepath}/sql_execute/bam/bam_mysql_db_create.sql
sed -i "s/bim_password/kupwd/g" ${basepath}/sql_execute/bim/bim_mysql_db_create.sql
sed -i "s/bim/bim${suffix}/g" ${basepath}/sql_execute/bim/bim_mysql_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ${basepath}/sql_execute/bim/bim_mysql_db_create.sql
sed -i "s/epass_password/kupwd/g" ${basepath}/sql_execute/epass/epass_mysql_db_create.sql
sed -i "s/epass/epass${suffix}/g" ${basepath}/sql_execute/epass/epass_mysql_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ${basepath}/sql_execute/epass/epass_mysql_db_create.sql
sed -i "s/apphub_password/kupwd/g" ${basepath}/sql_execute/apphub/apphub_mysql_db_create.sql
sed -i "s/apphub/apphub${suffix}/g" ${basepath}/sql_execute/apphub/apphub_mysql_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ${basepath}/sql_execute/apphub/apphub_mysql_db_create.sql
mysql -h$mysqlhost -uroot -p$rootpwd -P$mysqlport -e \
"use mysql;source ${basepath}/sql_execute/apphub/apphub_mysql_db_create.sql;
source ${basepath}/sql_execute/bam/bam_mysql_db_create.sql;
source ${basepath}/sql_execute/bim/bim_mysql_db_create.sql;
source ${basepath}/sql_execute/epass/epass_mysql_db_create.sql;
use apphub${suffix};
source ${basepath}/sql_execute/apphub/apphub_mysql_table_and_data.sql;
use bam${suffix};
source ${basepath}/sql_execute/bam/bam_mysql_table_and_data.sql;
use bim${suffix};
source ${basepath}/sql_execute/bim/bim_mysql_table_and_data.sql;
use epass${suffix};
source ${basepath}/sql_execute/epass/epass_mysql_table_and_data.sql;" -vvv > ${basepath}/running_sql.log &
tail -f $basepath/running_sql.log --pid=$!
目前的问题就是 执行此脚本 会直接卡死 然后在后台执行 sql脚本 大概五分钟 才能执行完
然后就显示如下:
为了用户可以实时看到效果 我优化了一下 脚本
后台执行 sql 并 tail 监听 生成的实时文件 退出
美中不足就是 tail 文件有些卡顿
请问mysql 可支持 -e参数 实时打印输出过程吗?
加个 -v 参数即可,
mysql -v
; 但你这种情况是不是使用 标准输出好点?mysql < sql文件