@Glowinthedark
systems engineer

Не удается автоматически подключиться к RDS через скрипт?

Я использую скрипт для в user data ec2, который подключается к rds. Но скрипт не работает.

#! /bin/bash 
yum update -y
yum install -y httpd
service httpd start
usermod -a -G apache centos
chown -R centos:apache /var/www
yum install -y mysql php php-mysql
systemctl enable httpd.service
cd /var/www/html/
echo "[mysql]" > ~/.my.cnf
echo "user = myuser" >> ~/.my.cnf
echo "password = passworddata" >> ~/.my.cnf
chmod 600 ~/.my.cnf   
cd database/
mysql -h db_server_address < script.sql
systemctl restart httpd.service


/var/log/cloud-init-output.log ERROR 1045 (28000): Access denied for user 'root'@'10.0.0.172' (using password: NO)

Когда я делаю это вручную на экземпляре, все работает нормально. Я понимаю, что скрипт не идеален, но в чем проблема, почему скрипт не берет учетные данные из ~/.my.cnf?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Локальное подключение и подключение снаружи (в вашем случае с 10.0.0.172) - это два разных подключения. Одно из них может быть разрешено, второе - нет.
Ответ написан
Комментировать
Viji
@Viji
Associate DevOps Engineer
Проверьте security groups которые сидят на данном RDS (inbound 3306 TCP должно быть включено), посмотрите где находится этот RDS инстанс - можно ли через телнет подключиться к ней, используйте DNS имя инстанса - так правильнее - найдите его из консоли. Из вашей EC2 откуда идет подключение к базе выполните

telnet DNS_of_mysql_instance_from_console 3306

если что-то вернуло, не ошибка, то подсоединение есть !
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Drno
Потому что разрешите подключение по сети(из вне) для пользователя root в данном контексте
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы