Portál AbcLinuxu, 8. května 2025 02:37
mysqldump -u root --password=heslo databaze > databaze.sql
Ale ja bych rad vyzalohoval vsechno najednou, vcetne tech useru: to je ta databaze information_schema
a mysql
?
mysqldump
je dobře, podívej se ještě na parametr -A
Ano, uživatelé a jejich práva jsou v databázi mysql. information_schema není fyzická DB, je vytvářena DB serverem.
man mysqldump
mysqldump --user=dumpuser --password=dumpuserheslo --add-drop-database --add-drop-table --add-locks -all-databases --comments --create-options --disable-keys --flush-logs --hex-blob --routines --single-transaction --max_allowed_packet=4M > secicko.sql
--lock-all-tables
a --lock-tables
se podívejte do manu :)
tak nejak to udelej a nemas problem
#!/bin/sh
MUSER="root"
MPASS="rootmysqlpasswd"
MHOST="localhost"
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
BACKUP=/var/backup/backup.$$
### Start MySQL Backup - vsechny db###
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
FILE=$BACKUP/mysql-$db.$NOW-$(date +"%H-%M-%S").gz
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
--routines
je default off, narozdíl od struktury tabulek a trigeru, nepletu-li se.FILE_RUTINES=$BACKUP/mysql-$db.$NOW-$(date +"%H-%M-%S")_rutines.gz $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS --routines --no-create-info --no-data --no-create-db --skip-opt --skip-triggers $db | $GZIP -9 > $FILE_RUTINESPřípadně --skip-triggers vynechat, již dle uvážení.
--routines
přidat jako switch jediné záloze jednotlivých DB.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.