Hallo Wouter en anderen, Op 28-09-2021 om 12:24 schreef Wouter Verhelst:
On Thu, Sep 23, 2021 at 04:21:30PM +0200, Geert Stappers wrote:On Thu, Sep 23, 2021 at 12:27:59PM +0200, Paul van der Vlis wrote:Hallo, Ik wil MariaDB kopieren van Ubuntu naar Debian. De versie op Debian is nieuwer, maar niet veel. Wat ik wou doen is aan beide kanten MariaDB uitzetten, en dan /var/lib/mysql synchroniseren. Dan op de nieuwe machine MariaDB weer aanzetten. Bij de informatie aan het eind van dit bericht is dat nog niet gebeurd, daar heb ik de ib_logfile* bestanden verwijderd en dan start het wel weer, maar goed is het niet.Ik kwam ook een melding tegen dat inloggen als root niet lukt voor de update, terwijl het paswoord in /root/.my.cnf staat en inloggen als root vanaf de commandline lukt. Ja, ik weet het, een dump maken en weer inlezen is beter. Maar in dit geval lastig (grote database, disks erg vol). Tips zijn welkom.Doen wat je al wist: een dump maken en weer inlezen. En voor het diskruimte probleem: leen even "parkeerruimte".Of gewoon live dumpen: root@nieuwe-machine:~# ssh root@oude-machine mysqldump --all-databases | mysql Dat werkt gewoon, in mijn ervaring, en je hebt geen temporary storage nodig.
Leuk commando.Een punt was dat ik de omgeving niet heel goed kende. Ik wou liever MySQL sluiten zodat er echt geen wijzigingen meer kwamen, en bij mysqldump moet de database aan staan. Verder had het allemaal haast, er stond een machine op omvallen, en de data kopieren was getest.
Daarom toch met rysnc /var/lib/mysql gekopieerd, en daarna dit: /usr/bin/mysql_upgrade -ppasswordDit ging allemaal prima, het draait ook prima. Maar misschien toch goed om nog te gaan dumpen en in te lezen in een schoon systeem. Ik denk aan zoiets:
cp -a /var/lib/mysql /root/mysql/lib/ # ter backup cp -a /etc/mysql /root/mysql/etc/ # ter backup mysqldump --all-databases > /root/dump.sql systemctl stop mariadb systemctl purge mariadb-server-10.5 rm -r /var/lib/mysql /etc/mysql # voor de zekerheid apt install mariadb-server # installeer schoon mysql < /root/dump.sql # dump terugzettenNu moet ik zeggen dat ik normaal altijd elke database naar een apart bestand backup, bovenstaande --all-databases gebruik ik nooit. Verder drop ik een database eerst, en dan create ik hem opnieuw voordat ik de backup inlees. De rechten laat ik dan normaal zoals ze waren.
Ik neem aan dat het bijvoorbeeld de bestaande mysql database overschrijft, en dat daarin alle rechten staan.
Heeft dumpen en inlezen in een schoon systeem eigenlijk wel zin? Groeten, Paul -- Paul van der Vlis Linux systeembeheer Groningen https://www.vandervlis.nl/