33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
# shellcheck source=./mysql_common.sh
|
|
source "$SCRIPT_DIR/mysql_common.sh"
|
|
|
|
fail() {
|
|
echo "alt-mysql health: $*" >&2
|
|
exit 1
|
|
}
|
|
|
|
mysql_load_alt_runtime
|
|
mysql_load_alt_credentials
|
|
|
|
if command -v systemctl >/dev/null 2>&1; then
|
|
systemctl is-active --quiet "$MYSQL_ALT_SERVICE_NAME" || fail "service is not active: $MYSQL_ALT_SERVICE_NAME"
|
|
fi
|
|
|
|
[ -r "$MYSQL_ALT_MY_CNF" ] || fail "client defaults file is not readable: $MYSQL_ALT_MY_CNF"
|
|
[ -r "$MYSQL_ALT_MYSQL_CONF" ] || fail "credentials file is not readable: $MYSQL_ALT_MYSQL_CONF"
|
|
[ -n "$MYSQL_ALT_PORT" ] || fail "alt port was not discovered"
|
|
[ -n "$MYSQL_ALT_SOCKET" ] || fail "alt socket was not discovered"
|
|
|
|
"$(mysql_alt_binary mysql)" --defaults-extra-file="$MYSQL_ALT_MY_CNF" -e "SELECT 1" >/dev/null \
|
|
|| fail "cannot connect through $MYSQL_ALT_MY_CNF"
|
|
|
|
mysql_ensure_metadata_schema
|
|
mysql_exec mysql -e "SELECT COUNT(*) FROM da_plugin_database_owners" >/dev/null \
|
|
|| fail "metadata schema is not usable"
|
|
|
|
echo "alt-mysql health: OK"
|