#!/usr/bin/env bash # vim:ts=4:sts=4:sw=4:et # # Author: Hari Sekhon # Date: 2020-08-05 19:49:48 +0100 (Wed, 05 Aug 2020) # # https://github.com/harisekhon/bash-tools # # License: see accompanying Hari Sekhon LICENSE file # # If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish # # https://www.linkedin.com/in/harisekhon # # https://hub.docker.com/_/mysql set -euo pipefail [ -n "${DEBUG:-}" ] && set -x srcdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # shellcheck disable=SC1090 . "$srcdir/lib/utils.sh" # shellcheck disable=SC1090 . "$srcdir/lib/dbshell.sh" # defined in lib/dbshell.sh # shellcheck disable=SC2154 shell_description="$sql_mount_description Source a sql script: source mysql_info.sql Get shell access: \! bash List available SQL scripts: \! ls -l " # shellcheck disable=SC2034,SC2154 usage_description=" Boots a quick MariaDB docker container and drops you in to the 'mysql' shell Multiple invocations of this script will connect to the same MariaDB container if already running and the last invocation of this script to exit from the mysql shell will delete that container Automatically creates shared bind mount points from host to container for convenience: $shell_description " # used by usage() in lib/utils.sh # shellcheck disable=SC2034 usage_args="" help_usage "$@" docker_image=mariadb container_name=mariadb version="${MARIADB_VERSION:-latest}" password="${MYSQL_ROOT_PASSWORD:-${MYSQL_PWD:-${MYSQL_PASSWORD:-test}}}" if ! docker ps -qf name="$container_name" | grep -q .; then timestamp "booting MariaDB container from image '$docker_image:$version':" # defined in lib/dbshell.sh # shellcheck disable=SC2154 eval docker run -d \ --name "$container_name" \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD="$password" \ "$docker_sql_mount_switches" \ "$docker_image":"$version" #-v "$srcdir/setup/mysql/conf.d/my.cnf:/etc/mysql/conf.d/" \ wait_for_mysql_ready "$container_name" echo fi cat <