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,
DROP TABLE …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