pred par mjeseci napisao sam skriptu za backup baze koja se činila da ok radi. Sad smo nešto selili s jednog servera na drugi, i kad sam napravio restore backupa, ispalo je da su svi viewovi zapravo pretvoreni u tablice. Tražim rješenje već neko vrijeme, ali nisam uspio pronaći. Ima li pomoći? Kako natjerati mysqldump da exporta definiciju view-a, a ne podatke koji se dobiju queryem na isti?
Ideja je dobiti van fajl koji mogu jednostavno bez nekih 3rd party alata restorati bilo gdje i da dobijem isto stanje kao i tamo odakle je backup uzet.
#!/bin/bash
OUTFOLDER="/mysqldump/"
OUTFILE="$1_`date +%Y-%m-%d_%H-%M-%S.%N`.sql.gz"
mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` $1 --single-transaction --routines --skip-comments | grep -v "50013 DEFINER"| sed -r -e 's/DEFINER=`.+`@`.+`\s//' | gzip > "$OUTFOLDER$OUTFILE"
n=0
until [ $n -ge 5 ]
do
scp -P 2222 "$OUTFOLDER$OUTFILE" [email protected]:"/shares/backups/db/" && break
n=$[$n+1]
>&2 echo "Retry no: $n"
sleep 15
done
rm -f "$OUTFOLDER$OUTFILE"
Hvala!
https://www.agronomija.info/
Failure is not an option. It comes bundled with your Microsoft product.