Hi! im a bit confused because i have a MariaDB instance on my mini-pc so i can control things like NextCloud but some people told me i should not update my docker image of MariaDB because it can break? and other people said update it… Im unsure what to do… Some advices?

  • astutesnoot@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I just had a failed upgrade from MariaDB 10.6 to 11.1 and it was only my backup that saved me. I have a service that runs mariadb-dump every day and tars the resulting .sql file with a dated name (keeping only the previous 10 backups), so I was able to just start fresh with an empty 11.1 db and restore from yesterday’s dump.

    Here’s my backup setup:

    # /etc/systemd/system/backupdb.service
    [Unit]
    Description=auto backup mariadb daily
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/docker exec db /config/backupdb
    
    # /etc/systemd/system/backupdb.timer
    # enable with 'systemctl enable --now backupdb.timer'
    [Unit]
    Description=Periodically runs the backupdb service
    
    [Timer]
    OnCalendar=Daily
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    
    #!/bin/bash
    
    # /pool/config/db/backupdb
    # runs within the context of the container
    # /pool/config/db/ is bind mounted into /config in the container 
    # backs up to /config/backup within container
    # requires files /config/db_user and /config/db_pw to exist and be populated
    
    mkdir -p /config/backup
    cd /config/backup
    BASENAME=db.backup.$(date "+%Y.%m.%d-%H.%M.%S")
    /usr/bin/mariadb-dump -u $(cat /config/db_user) -p$(cat /config/db_pw) -x -A > $BASENAME.sql
    /usr/bin/tar -czvf $BASENAME.tar.gz $BASENAME.sql
    rm $BASENAME.sql
    while (($(ls | wc -l) > 10))
    do
    rm $(ls -t | tail -1)
    done
    

    And this was how I restored with that setup.

    cd /pool/config/mariadb/backup
    tar xvf db.backup.2023.09.22-00.00.02.tar.gz
    docker exec -it db bash
    root@db:/# mariadb -u root -p < /config/backup/db.backup.2023.09.22-00.00.02.sql
    
    • Altair12311@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Okay you are a life saver,i was getting confuse about how to do the backup process, big thanks for share all the commands needed (including the one for restore just in case) big THANKS <3