Fórum Root.cz
Hlavní témata => Server => Téma založeno: rooobertek 26. 11. 2022, 21:50:50
-
Ahojte, na lokálnom stroji mám asi 20GB databázu mariadb a webovú aplikáciu. Robím teraz taký ošemetný import, ktorý zapisuje do veľa tabuliek a potreboval by som skúsiť import, otestovať čo to spravilo, vrátiť zmeny v databáze, upraviť si kód, spustiť import znova... A tak dokola. Import dumpu trvá vyše pol hodiny, takže to je vopruz.
Máte niekto overený spôsob? Virtuálny stroj a snapshot? Docker? Kópia /var/lib/mysql? Niečo lepšie?
-
Ak tam mas len DML tak transakcia, do povodneho stavu sa vratis pomocou rollback... ak tam mas DDL tak smola, mysql to nevie...
-
na lokálnom stroji mám
...
Kópia /var/lib/mysql?
Toto jsem používal a funguje to celkem dobře. Je to krapet "ošklivé", hrabat marii takhle do střev, ale funkční.
-
na lokálnom stroji mám
...
Kópia /var/lib/mysql?
Toto jsem používal a funguje to celkem dobře. Je to krapet "ošklivé", hrabat marii takhle do střev, ale funkční.
Pokud se to udělá při vypnuté databázi, tak by to mělo být úplně v pohodě (pro libovolnou db). Aby se zabránilo kopírování všech dat, lze použít rsync. Jen je potřeba si ověřit, že se kopíruje celá db. V Postgresu se mohou db objekty uložit i do jiných než default adresářů skrze tablespace
-
Případně mariabackup (fork xtrabackup od Percony, ten mi funguje velice pěkně). Ale pokud lze DB shodit, je nejjednodušší/nejrychlejší nakopírovat rovnou soubory.
-
co tak to ladit na BTRFS snapshotech?
-
Dnes som chvíľu skúšal aj btrfs, ale medzitým mi napadlo celkom elegantné riešenie:
docker kill project-mariadb
docker rm project-mariadb
docker volume rm projectdb
cd /var/lib/docker/volumes/
mv _projectdb_copy projectdb
docker stop project-mariadb
docker run -d --restart unless-stopped --name project-mariadb -v projectdb:/var/lib/mysql -p 127.0.0.9:3306:3306 mariadb:10.10
echo "Db is starting. Copying files for the next use:"
cp -ra _project_template _projectdb_copy