Skip to content

Instantly share code, notes, and snippets.

@khromalabs
Last active June 5, 2020 17:09
Show Gist options
  • Save khromalabs/ae1ccbd74c95468b4de91ae82f8a715f to your computer and use it in GitHub Desktop.
Save khromalabs/ae1ccbd74c95468b4de91ae82f8a715f to your computer and use it in GitHub Desktop.
Bash function to connect to a third party mysql server through a SSH connection
mysql3rdpartytunnel() {
SSH_HOST="<SSH HOST USE .SSH/CONFIG>"
MYSQL_HOST="<THIRD PARTY MYSQL SERVER>"
MYSQL_USER="<MYSQL SERVER USER>"
MYSQL_PASSWORD="<MYSQL PASSWORD>"
MYSQL_DEFAULT_SCHEMA=""
LOCALPORT=33061
SOCKET="/tmp/ssh-tunnel-$SSH_HOST-$RANDOM"
echo "Opening SSH socket $SOCKET..."
ssh -S $SOCKET -L $LOCALPORT:$MYSQL_HOST:3306 -NMf $SSH_HOST
if [ -S "$SOCKET" ]; then
mysql -h 127.0.0.1 -P $LOCALPORT -u $MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DEFAULT_SCHEMA
echo "Closing socket..."
ssh -S $SOCKET -O exit dummy_arg
else
echo "Error while opening SSH tunnel"
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment