Skip to content

Instantly share code, notes, and snippets.

@weldpua2008
Last active August 26, 2019 20:24
Show Gist options
  • Save weldpua2008/d0173856a7527174dc2a88e836bcb86e to your computer and use it in GitHub Desktop.
Save weldpua2008/d0173856a7527174dc2a88e836bcb86e to your computer and use it in GitHub Desktop.
Get sql_alchemy_conn details from Airflow
#!/usr/bin/env bash
# Parsing airflow.cfg for Mysql details
export MYSQL_USER=$(grep sql_alchemy_conn /home/airflow/airflow.cfg|cut -d ":" -f 2|sed 's,//,,g')
export MYSQL_PASSWORD=$(grep sql_alchemy_conn /home/airflow/airflow.cfg|cut -d ":" -f 3|cut -d '@' -f 1)
export MYSQL_DATABASE=$(grep sql_alchemy_conn /home/airflow/airflow.cfg|cut -d ":" -f 3|cut -d '@' -f 2|cut -d '/' -f2)
export MYSQL_HOST=$(grep sql_alchemy_conn /home/airflow/airflow.cfg|cut -d ":" -f 3|cut -d '@' -f 2|cut -d '/' -f1)
# querieng data
ocker run --rm -ti -v "$PWD/data":/data mysql:5 sh -c "exec mysql -u$MYSQL_USER -p\"$MYSQL_PASSWORD\" -h $MYSQL_HOST -D $MYSQL_DATABASE"
# dumping data
docker run --rm -ti -v "$PWD/data":/data mysql:5 sh -c "exec mysqldump --single-transaction --quick --no-data --lock-tables=false -u$MYSQL_USER -p\"$MYSQL_PASSWORD\" -h $MYSQL_HOST --dump-date --databases $MYSQL_DATABASE > /data/all-databases.sql"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment