• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Algemeen
  4. ICT Nieuws

Forum

  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 1 oktober 2026 om 11:11
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55
  • [PROJECT] Gamekeuring.nl - Hét onafhankelijke keuringsplatform voor maffiagames & RPG's!

    frio 22 september 2026 om 16:40
  • Ictscripters / Koen

    Aaron 22 september 2026 om 15:07
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Lijno 19 september 2026 om 19:37
  • Kweekrijk - van stekje tot Imperium

    Lijno 14 september 2026 om 23:00
  • Crimora.nl

    Jeffrey.Hoekman 8 september 2026 om 18:49

Marktplaats

  • 295 Nieuwe Domeinnamen September 2026

    shiga 1 oktober 2026 om 19:09
  • Straatbaas.eu – complete Nederlandstalige en Engelstalige online maffia-RPG

    Jeroen.G 1 oktober 2026 om 17:48
  • [TE KOOP] CloutClubRPG.nl – Complete Maffia Rap & Street Clout RPG (Kant-en-klaar concept)

    gameBR 29 september 2026 om 16:45

Mysqldump per database shell

  • Laura
  • 20 juni 2016 om 09:58
  • Laura
    Lady
    Berichten
    108
    • 20 juni 2016 om 09:58
    • #1

    Sommigen onder ons gebruiken wel eens mysqldump om hun databases te backuppen.
    Maar als jullie net als mij zijn, haten jullie het dat dit allemaal in 1 groot bestand wordt gedumpt.
    Je dient dus of een apart commando te draaien per database, of je dient dit super bestand nadien te splitsen (onbegonnen werk).


    Echter kan dit veel eenvoudiger: er is een commando om elke database naar een apart bestand te backuppen.
    Ideaal dus als je backups wil maken van je websites en toch ze eenvoudig kunnen herstellen.
    Bovendien stelt dit je in staat om slechts 1 database te herstellen ipv ze allemaal.

    Bash
    mysql -N -e 'show databases' | while read dbname; do mysqldump --complete-insert --routines --triggers --single-transaction "$dbname" > "$dbname".sql; done


    Als output krijg je netjes een bestand per database:

    Code
    ls -alh *.sql
    
    
    -rw-r--r-- 1 root root  44M Aug 24 22:39 db1.sql
    -rw-r--r-- 1 root root  44M Aug 24 22:39 db2.sql


    Je kan natuurlijk ook eenvoudig bepalen in welke map deze database backups (dumps) moeten worden geplaatst:

    Bash
    mysql -N -e 'show databases' | while read dbname; do mysqldump --complete-insert --routines --triggers --single-transaction "$dbname" > /home/dump/databases/"$dbname".sql; done

    Hiermee plaats je ze bv in de map /home/dump/databases.

    Natuurlijk gebruik je hiermee heel wat ruimte.
    Daarom pak ik ze persoonlijk graag terug in via gzip:

    Code
    mysql -N -e 'show databases' | while read dbname; do mysqldump --complete-insert --routines --triggers --single-transaction "$dbname" > "$dbname".sql; [[ $? -eq 0 ]] && gzip "$dbname".sql; done


    Herstellen van je databanken
    Niet onbelangrijk, maar soms wil je deze databanken terug gaan herstellen.
    Bv: als je verhuist naar een andere server.

    Bash
    $ for sql in *.sql; do dbname=${sql/\.sql/}; echo -n "Now importing $dbname ... "; mysql $dbname < $sql; echo " done."; done 
    
    
    De output komt dan per database tabel er netjes onder:
    Now importing db1 ...  done.
    Now importing db2 ...  done.

    Noot: soms dien je wel not te authenticeren (in te loggen) voordat de database backup begint.


    Korte lijntjes shell code dus om je leven veel eenvoudiger te maken.

    Groetjes,
    Laura
    xxx

  • Gast, wil je besparen op je domeinnamen? (ad)
  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 20 juni 2016 om 18:19
    • #2

    Enkele kanttekeningen:
    --single-transaction werkt alleen voor databases met (enkel) tabellen met de InnoDB engine. Gebruik voor MyISAM-gebaseerde databases --lock-tables


    Daarnaast wil je er waarschijnlijk ook voor zorgen dat er geen actieve gebruikers in het systeem/de systemen bezig zijn op het moment van het maken van de backup(s). Bijvoorbeeld door downtime aan te kondigen en te zorgen dat deze systemen op die tijdstippen ook niet toegankelijk zijn.

    Het gebruik van > backup.sql (dus het gebruik van het groter-dan-teken) kan op sommige systemen voor problemen zorgen. Beter is wellicht het gebruiken van -r <file> of --result-file=<file>.

    Citaat van Laura

    Noot: soms dien je wel not te authenticeren (in te loggen) voordat de database backup begint.

    Dit kun je ondervangen door het uitlezen van een .cnf bestand middels --defaults-file=/path/to/db.cnf

    Hiermee voorkom je ook dat wachtwoorden gelogd worden (als je van plan was om gemakshalve deze credentials op te nemen in je shellscript wat misschien een minder goed idee is).

  • Laura
    Lady
    Berichten
    108
    • 21 juni 2016 om 17:20
    • #3

    Super goede aanvullingen!

    Groetjes,
    Laura
    xxx

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design