31 lines
834 B
Bash
Executable File
31 lines
834 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright (c) 2014-2016 Docker, Inc.
|
|
# Origin: https://github.com/docker-library/healthcheck/blob/master/mysql/docker-healthcheck
|
|
# Licence: MIT
|
|
|
|
set -eo pipefail
|
|
|
|
if [ "$MYSQL_RANDOM_ROOT_PASSWORD" ] && [ -z "$MYSQL_USER" ] && [ -z "$MYSQL_PASSWORD" ]; then
|
|
# there's no way we can guess what the random MySQL password was
|
|
echo >&2 'healthcheck error: cannot determine random root password (and MYSQL_USER and MYSQL_PASSWORD were not set)'
|
|
exit 0
|
|
fi
|
|
|
|
host="$(hostname --ip-address || echo '127.0.0.1')"
|
|
user="${MYSQL_USER:-root}"
|
|
export MYSQL_PWD="${MYSQL_PASSWORD:-$MYSQL_ROOT_PASSWORD}"
|
|
|
|
args=(
|
|
# force mysql to not use the local "mysqld.sock" (test "external" connectibility)
|
|
-h"$host"
|
|
-u"$user"
|
|
--silent
|
|
)
|
|
|
|
if select="$(echo 'SELECT 1' | mysql "${args[@]}")" && [ "$select" = '1' ]; then
|
|
exit 0
|
|
fi
|
|
|
|
exit 1
|