Import alt-mysql plugin

This commit is contained in:
Marek Miklewicz
2026-07-04 15:48:19 +02:00
commit d71fcf9ace
101 changed files with 18635 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# shellcheck source=./mysql_common.sh
source "$SCRIPT_DIR/mysql_common.sh"
usage() {
cat <<'EOF'
Użycie:
dbrestore.sh <plik.sql|plik.sql.gz> [nazwa_bazy]
Opis:
Przywraca pojedynczą bazę MySQL z pliku dumpa. Gdy nazwa bazy nie zostanie
podana, skrypt wyprowadza ją z nazwy pliku.
EOF
}
[ "${1:-}" = "--help" ] && {
usage
exit 0
}
[ $# -ge 1 ] || {
usage
exit 1
}
FILE="$1"
[ -f "$FILE" ] || {
echo "Plik nie istnieje: $FILE" >&2
exit 1
}
case "$FILE" in
*.sql|*.sql.gz|*.gz) ;;
*)
echo "Dozwolone są pliki .sql, .sql.gz lub .gz." >&2
exit 1
;;
esac
TARGET_DB="${2:-$(basename "$FILE" | sed -E 's/\.sql(\.gz)?$//; s/\.gz$//')}"
TARGET_DB="$(mysql_safe_identifier "$TARGET_DB")"
mysql_load_alt_credentials
mysql_exec mysql -e "DROP DATABASE IF EXISTS $(mysql_quote_identifier "$TARGET_DB");"
mysql_exec mysql -e "CREATE DATABASE $(mysql_quote_identifier "$TARGET_DB") CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql_restore_stream "$TARGET_DB" "$FILE"
echo "Przywracanie bazy ${TARGET_DB} zakończone."