[英]How to write and execute a shell script to create a mysql databse and a table
我在ubuntu中创建了一个.sh文件来创建和执行以下命令,我的.sh文件和以下mysql脚本位于同一文件夹中。 我手动创建了测试数据库,并分别创建并运行了脚本。
papol.sh的含量
mysql -h localhost -u root -padmin < apple.sql
mysql -h localhost -u root -padmin < getdb.sql
当我执行命令bash -x papol.sh
它抛出以下错误
+ mysql -h localhost -u root -padmin
: No such file or directoryapple.sql
+ mysql -h localhost -u root -padmin
: No such file or directorygetdb.sql
我找不到原因。 如果有人能帮助我将不胜感激
更新
在下一个会话中,我意识到终端无法识别mysql。 我意识到我很笨,只是总是做错事。 不要使用别名解析为二进制文件。
例如,请勿使用别名mysql =“ / Applications / MAMP / Library / bin / mysql”
代替
导出PATH = $ PATH:/ Applications / MAMP / Library / bin /
这将允许您通过bash适当地使用二进制文件,并且还将从终端访问所有mysql二进制文件,包括mysqladmin等。 :)脚本愉快!
具有适当环境变量的示例脚本:
#!/bin/bash
echo ""
echo Reloading Database
echo ""
echo Using
echo PROJECT_BUILD_HOME: $PROJECT_BUILD_HOME
echo MYSQL: $(which mysql)
echo PHP: $(which php)
echo ""
echo ""
mysqladmin -u root -pmypass drop projectbuild
mysqladmin -u root -pmypass create projectbuild
gunzip < $PROJECT_BUILD_HOME/pack/projectbuild.sql.gz | mysql -u root -pmypass projectbuild
下面的旧答案
我在用户.profile中将mysql设置为别名mysql =“ / path / to / mysql”。
代替,
我用export mysql = / path / to / mysql
在我的bash脚本中,我使用了$ mysql。
例
cat /path/to/my/file | $mysql -h localhost -u root -padmin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.