• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Algemeen
  4. ICT Nieuws

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

Mysqldump per database shell

  • Laura
  • 20 juni 2016 om 09:58
  • Laura
    Lady
    Ontvangen Reacties
    13
    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

  • Guest, wil je besparen op je domeinnamen? (ad)
  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    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
    Ontvangen Reacties
    13
    Berichten
    108
    • 21 juni 2016 om 17:20
    • #3

    Super goede aanvullingen!

    Groetjes,
    Laura
    xxx

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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. Privacy Policy
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