我试图在AWS MySQL数据库上运行init脚本,我已经能够在MySQL的本地实例上运行相同的脚本,但在远程实例上却无法运行。这是我从具有shell脚本和sql资源文件的目录中运行的命令:
mysql -u用户-p -h endpoint123.us 123.us-east-1.rds.amazonaws.com -P 3306 < create_database.sh
输入我的密码后,得到以下错误:
错误1064 (42000)在第15行:您的SQL语法有一个错误;请检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便使用近行引用SQL文件的语法。
基本上,脚本引用了设置完成所需的本地sql文件。据我所知,不可能将这些文件复制到AWS RDS机器上。有没有办法解决这个问题,以便shell脚本能够正常运行?通过复制文件或远程运行shell脚本?提前感谢!
发布于 2019-02-05 19:25:45
看起来,您希望将shell脚本的输出输入到mysql。您使用的语法用于执行mysql (sql)脚本,而不是shell脚本的输出。你需要这样做:
./script.sh | mysql -u abc -p -e或分两个阶段:
./script.sh > out.sql // To verify that the generated statements are correct
mysql -u abc -p -e < sql https://stackoverflow.com/questions/54010270
复制相似问题