Home  Home  Home  Kontakt  Kontakt  Kontakt  Inhalt  Inhalt  Inhalt  Blog  Blog  Blog  FAQ  FAQ  FAQ

Backup Restore

export DB="holodoc"

# -- master-data=2 nur falls binlog aktiviert
time mysqldump -u ???? -p -h localhost  \
    --master-data=2            \
    --quick                    \
    --single-transaction       \
    --events                   \
    --flush-logs               \
    --lock-tables              \
    --quote-names              \
    --set-charset              \
    --create-options           \
    --extended-insert          \
    --add-locks                \
    --disable-keys             \
    --skip-add-drop-table      \
    --no-create-db             \
    --ignore-table=mysql.event \
    --databases ${DB}  | gzip > $HOSTNAME.${DB}.master.dump.$(date +%Y%m%d_%H%M%S).sql.gz

Ergibt dann:

-- CHANGE MASTER TO MASTER_LOG_FILE='....-mysql-bin.00nnnn', MASTER_LOG_POS=nnn;
USE `....`;

CREATE TABLE `....` (
  `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,

Nur Struktur:

export DB=holodoc
time mysqldump -u ???? -p --no-data --create-options --databases $DB |
gzip > $HOSTNAME.$DB.no-data.dump.$(date +%Y%m%d_%H%M%S).sql.gz
--
SHOW DATABASES;
USE db_name;
-- hier nun 100% sicherstellen, dass das die DB ist, die überschieben werden soll
-- und nochmal: gaaaanz sicher gehen!
-- erst dann:
DROP DATABASE db_name;
-- nun sind keine Tabellen mehr vorhanden
-- die werden gleich via Restore wieder erstellt und befüllt
-- nun wir noch die DB leer angelegt
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
exit
time zcat voyager.holodoc.master.dump.20141125_212531.sql.gz | mysql -u ???? -p -d db_name -h localhost