Update tools.func
This commit is contained in:
parent
8f72839259
commit
e46a32968a
@ -3044,6 +3044,69 @@ setup_mariadb() {
|
|||||||
msg_ok "Setup MariaDB $MARIADB_VERSION"
|
msg_ok "Setup MariaDB $MARIADB_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# Creates MariaDB database with user and optional grants / sql-modes
|
||||||
|
#
|
||||||
|
# Variablen:
|
||||||
|
# DB_NAME - Datenbankname (required)
|
||||||
|
# DB_USER - Datenbank Benutzer (required)
|
||||||
|
# DB_PASS - Passwort (optional, auto-gen wenn leer)
|
||||||
|
# DB_CREDS_FILE - Credentials File (optional default ~/mariadb_${DB_NAME}.creds)
|
||||||
|
# DB_EXTRA_GRANTS - (optional) Komma-separiert, volle SQL Grant Statements
|
||||||
|
# Beispiel: "GRANT SELECT ON \`mysql\`.\`time_zone_name\`"
|
||||||
|
# DB_SQL_MODE - (optional) z.B. "" oder "STRICT_TRANS_TABLES"
|
||||||
|
#
|
||||||
|
# exports:
|
||||||
|
# MARIADB_DB_NAME, MARIADB_DB_USER, MARIADB_DB_PASS
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function setup_mariadb_db() {
|
||||||
|
if [[ -z "$DB_NAME" || -z "$DB_USER" ]]; then
|
||||||
|
msg_error "DB_NAME und DB_USER müssen gesetzt sein"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$DB_PASS" ]]; then
|
||||||
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Setting up MariaDB Database"
|
||||||
|
|
||||||
|
$STD mariadb -u root -e "CREATE DATABASE \`$DB_NAME\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||||
|
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
|
||||||
|
$STD mariadb -u root -e "GRANT ALL ON \`$DB_NAME\`.* TO '$DB_USER'@'localhost';"
|
||||||
|
|
||||||
|
# optional extra grants
|
||||||
|
if [[ -n "$DB_EXTRA_GRANTS" ]]; then
|
||||||
|
IFS=',' read -ra G_LIST <<<"$DB_EXTRA_GRANTS"
|
||||||
|
for g in "${G_LIST[@]}"; do
|
||||||
|
g=$(echo "$g" | xargs)
|
||||||
|
$STD mariadb -u root -e "$g TO '$DB_USER'@'localhost';"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# optional sql mode
|
||||||
|
if [[ -n "$DB_SQL_MODE" ]]; then
|
||||||
|
$STD mariadb -u root -e "SET GLOBAL sql_mode='$DB_SQL_MODE';"
|
||||||
|
fi
|
||||||
|
|
||||||
|
$STD mariadb -u root -e "FLUSH PRIVILEGES;"
|
||||||
|
|
||||||
|
local CREDS_FILE="${DB_CREDS_FILE:-~/${APPLICATION}.creds}"
|
||||||
|
{
|
||||||
|
echo "MariaDB Credentials"
|
||||||
|
echo "Database: $DB_NAME"
|
||||||
|
echo "User: $DB_USER"
|
||||||
|
echo "Password: $DB_PASS"
|
||||||
|
} >>"$CREDS_FILE"
|
||||||
|
|
||||||
|
msg_ok "Set up MariaDB Database"
|
||||||
|
|
||||||
|
export MARIADB_DB_NAME="$DB_NAME"
|
||||||
|
export MARIADB_DB_USER="$DB_USER"
|
||||||
|
export MARIADB_DB_PASS="$DB_PASS"
|
||||||
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Installs or updates MongoDB to specified major version.
|
# Installs or updates MongoDB to specified major version.
|
||||||
#
|
#
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user