Mit OpenVPN zwei Netzwerke verbinden

Das Gateway läuft perfekt im eigenen Netzwerk, doch nun möchte man noch ein anderes Netzwerk, z.B. das der Eltern, oder der Firma mit dem eigenen verbinden – Die Möglichkeit heutzutage auf kleinen PCs oder billig-Routern ein Linux, wie OpenWRT installieren zu können, macht dies relativ einfach möglich!

Continue reading Mit OpenVPN zwei Netzwerke verbinden

Backup aller mySQL Datenbanken

Ein komplettes Backup aller mysql-datenbanken lässt sich mit dem Befehl:

mysqldump -A -a -C -c -e --user=root --password=****** > dump.sql

durchführen.

Die Optionen bedeuten hier:

Kurze OptionLange OptionBedeutung
-A–all-databasesAlle Datenbanken sichern
-a–create-optionsErstellungseigenschaften der Tabelle einfügen
-C–compressDen Datenverkehr zwischen mysql Server und Client komprimieren
-c--complete-insertDie Spaltennamen in der Datei ausschreiben, also z.B.

 

INSERT INTO `table` VALUES
(1, 'Zeile1'),
(2, 'Zeile2'),
(3, 'Zeile3');
-e--extended-insertMehrere Reihen in eine Abfrage kombinieren
 
--skip-extended-insert

Da die Option --extended-insert seit längerem Standard ist, kann man mittels --skip-extended-insert
diese Option ausschalten und bekommt ein INSERT Statement pro Zeile, z.B.

INSERT INTO `table` VALUES (1, 'Zeile1');
INSERT INTO `table` VALUES (1, 'Zeile2');
INSERT INTO `table` VALUES (1, 'Zeile3');
(da diese Art sehr langsam ist, wird sie nur für kleine Tabellen oder zu Analysezwecken so empfohlen)

Hier noch eine Erklärung des Unterschieds zischen –complete-insert und –extended-insert.

Tipp

Will man das Passwort nicht unbedingt an der Konsole im Klartext eingeben, kann man mit der Zeile:

mysqldump -A -a -C -c -e --user=root --password > dump.sql

auch erreichen, dass ein Abfrage-Dialog erscheint und man das Passwort ohne Anzeige eingeben kann. (Dies funktioniert natürlich NICHT in automatischen Scripts… :D)

Dies ist für automatische Sicherungen aller Datenbanken praktisch.

Eine einzelne Datenbank kann man aber auch einfach wie folgt sichern (z.B. als „Quick Backup“ vor einem Applikations-Update):

mysqldump -u BENUTZER -p DB_NAME > db.sql

Wieder eingespielt wird das Backup mit dem Befehl:

mysql < backup-file.sql

Will man hingegen nur eine bestimmte Datenbank wieder einlesen, geschieht dies mit dem Befehl:

mysql DB_NAME < backup-file.sql

Evtl. muss man natürlich auch beim Einspielen den Benutzernamen und Passwort eingeben:

mysql --user=root --password < backup-file.sql