【发布时间】:2019-09-16 11:25:33
【问题描述】:
脚本的最后一行没有执行。
我尝试在创建的实例上手动执行代码并且成功。
#!/bin/bash
#install tools
apt-get update -y
apt-get install mysql-client -y
#Create MySQL config file
echo "[mysql]" >> ~/.my.cnf
echo "user = poc5admin" >> ~/.my.cnf
echo "password = poc5password" >> ~/.my.cnf
#test
echo "endpoint = ${rds_endpoint}" >> ~/variables
hostip=$(hostname -I)
endpoint=${rds_endpoint}
echo "$hostip" >> ~/variables
#I have created a table here but I will remove the code since it is unnecessary...
#Create User
echo "CREATE USER 'poc5user'@'%' IDENTIFIED BY 'poc5pass';" >> ~/mysqlscript.sql
echo "GRANT EVENT ON * . * TO 'poc5user'@'%';" >> ~/mysqlscript.sql
cp mysqlscript.sql /home/ubuntu/mysqlscript.sql
mysql -h $endpoint -u poc5admin < ~/mysqlscript.sql
预期结果:应该在 RDS 实例上创建了数据库、表和用户。
【问题讨论】:
-
你尝试过什么调试问题?
-
你检查
/var/log/cloud-init-output.log了吗?它应该告诉你到底发生了什么。 -
感谢您的回复@Mohit。我尝试检查日志并发现了这一点。 ``` ERROR 1045 (28000): Access denied for user 'poc5admin'@'10.1.0.115' (using passw ord: NO) ``` 我想知道 terraform 在哪里执行命令。因为我可以在root home和ubuntu home上成功执行命令。
标签: mysql terraform terraform-provider-aws