有没有一种方法可以在引用SQL远程文件的AWS MySql / Aurora上运行远程Shell脚本

时间:2019-01-02 16:59:33

标签: mysql amazon-web-services shell amazon-rds amazon-rds-aurora

我正在尝试在AWS MySQL数据库上运行初始化脚本,我已经能够在MySQL的本地实例上运行相同的脚本,但是在远程实例上尝试却无法运行。这是我从具有Shell脚本和sql资源文件的目录中运行的命令:

  

mysql -u用户-p -h endpoint123.us-east-1.rds.amazonaws.com -P 3306 <   create_database.sh

输入密码后出现以下错误:

  

第15行的错误1064(42000):您的SQL语法有错误;   检查与您的MySQL服务器版本相对应的手册   在[行引用SQL文件]附近使用正确的语法

基本上,脚本引用了本地sql文件,安装完成也需要这些sql文件。据我所知,不可能将这些文件复制到AWS RDS计算机上。有什么办法可以解决这个问题,以便Shell脚本可以正常运行?是通过复制文件还是通过远程运行Shell脚本?预先感谢!

1 个答案:

答案 0 :(得分:0)

看起来您想将shell脚本的输出输入到mysql中。您正在使用的语法用于执行mysql(sql)脚本,而不是Shell脚本的输出。您将需要执行以下操作:

./script.sh | mysql -u abc -p -e

OR,分两个阶段:

./script.sh > out.sql  // To verify that the generated statements are correct
mysql -u abc -p -e < sql