【发布时间】:2020-07-07 14:25:41
【问题描述】:
用例
在管道中,我尝试备份数据库 (AWS RDS) 并将转储存储到 s3,然后再进行任何迁移更改。我正在为 ci/cd 管道使用 github 操作。
问题
我在尝试连接数据库时遇到问题,我收到以下错误:
mysqldump: [警告] 在命令行界面使用密码 可能不安全。 mysqldump:得到错误:1045:用户访问被拒绝 '***'@'redacted_ip'(使用密码:YES)尝试连接时
我收到拒绝访问错误,即使我知道凭据是正确的,因为我已经在本地进行了测试。唯一的区别是,我在本地提示输入密码,而在 CI 中我想避免提示输入密码,所以我通过命令行参数输入了密码。
pipeline.yml
name: pipeline
on: [ push ]
env:
PROD_DATABASE_HOST: ${{ secrets.PROD_DATABASE_HOST }}
PROD_DATABASE_USER: ${{ secrets.PROD_DATABASE_USER }}
PROD_DATABASE_PASSWORD: ${{ secrets.PROD_DATABASE_PASSWORD }}
jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Install mysql
run: |
sudo apt-get -y update
sudo apt-get -y install mysql-client
mysql --version
- name: Take backup
run: |
mysqldump -h $PROD_DATABASE_HOST \
-u $PROD_DATABASE_USER \
-p="$PROD_DATABASE_PASSWORD" \
--port=3306 \
--single-transaction \
--routines \
--triggers \
--databases test_gg > rds-dump.sql
【问题讨论】:
标签: mysql amazon-rds github-actions