我正在尝试在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脚本?预先感谢!
答案 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