Hi

Gesteld dat op meerdere computers dezelfde versie van maria draait kan ik dan de map data gewoon kopieren?
Onder mijn wamp staat de map C:\wamp64\bin\mariadb\mariadb10.7.3\data\ met daarin 1 map per database.

Normaal gezien importeer ik een sql bestand met alle records maar dit lijkt me sneller :)

Jan
Dikke no-go, omdat deze niet compatibel zijn met andere versies of configuratie instellingen.

De enige snelste beste oplossing is met mysqldump via de commandline. Uit ervaring is 70 MB al in luttele seconden gedaan.
Daarom dat ik ook vermelde "dezelfde versie" :)
Voor zover ik weet heb ik geen commandline in mijn productie. (one.com)
Ik gebruik dus een eigen systeem gebaseerd op een script dat ik ergens gevonden heb.

Mijn uitvoer is dan een gewoon sql bestand zoals
DROP TABLE IF EXISTS provincies;

CREATE TABLE provincies (
  id int(11) NOT NULL AUTO_INCREMENT,
  provincie varchar(20) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO provincies VALUES("1", "Antwerpen");
INSERT INTO provincies VALUES("2", "Brussel");
INSERT INTO provincies VALUES("3", "Henegouwen");
INSERT INTO provincies VALUES("4", "Limburg");
INSERT INTO provincies VALUES("5", "Luik");
INSERT INTO provincies VALUES("6", "Luxemburg");
INSERT INTO provincies VALUES("7", "Namen");
INSERT INTO provincies VALUES("8", "Oost-Vlaanderen ");
INSERT INTO provincies VALUES("9", "Vlaams-Brabant");
INSERT INTO provincies VALUES("10", "Waals-Brabant");
INSERT INTO provincies VALUES("11", "West-Vlaanderen");


Maar dan veel meer tabellen en records :)
± 12 Mib / 40K records in 111 tabellen

Jan
Eh? Je wilt bestanden kopiëren maar hebt geen CLI? Wat is dat voor onhandige constructie... toch niet zoiets met een webinterface met daarin een file manager? Hoe moet je dan ooit een back-up dump (mysqldump, phpMyAdmin of eigen script) weer inlezen dan? Wil je die opsturen met een webformulier?, dat gaan niet lukken met middelgrote databases van een paar GB?
Ikzelf heb lokaal wel cli. one.com echter niet of toch niet dat ik weet. Hun oplossing is om het handmatig te doen via phpMyAdmin. Dat deel lukt dus. echter omslachtig. Ik werk dus met een eigen oplossing zoals al geschreven welke eveneens een goed sql bestand levert. Dat kan ik via cli of mijn eigen oplossing inlezen.

Het kopieren is/was bedoeld om tussen de meerdere lokale computer over te zetten. Gewoon over windows netwerk met een xcopy commando.

Ik zoek ook nog hoe ik het betere kan doen op een synology nas. Ook daar is er geen commandprompt, maar misschien lukt het me wel met een script.

Jan
Met telnet/ssh/putty kan je inloggen op de NAS :

https://www.synology-forum.nl/algemeen/nas-benaderen-met-ssh-winscp-putty/msg134190/#msg134190

En dan een database restore :

https://mariadb.com/kb/en/restoring-data-from-dump-files/


[size=xsmall]Toevoeging op 17/04/2022 10:00:28:[/size]

Aanvullend .

Login met SSH als root op de syno.
je bent nu in de thuismap : /var/services/homes/admin/

voor een dump :
/usr/local/mariadb10/bin/mysqldump -p -u root dvd > dvd.sql

dvd.sql staat nu in je thuismap

voor een import:
/usr/local/mariadb10/bin/mysql -p -u root dvd < dvd.sql


Om de tabellen te zien :
/usr/local/mariadb10/bin/mysqlshow -p -u root dvd
Je bent me voor adoptive solution :)
Mijn script is klaar was eigenlijk eenvoudig en draait als een taak.
Mijn uitvoer is direct en overschrijft niet. Bestandsnaam met tijd. db_20220417_103205.sql Voor restore kijk ik wat ik kan met wat hierboven staat. Ik zou een deels automatisch oplossing willen waarbij ik enkel moet selecteren welke bestand en klaar is Jan.

script
/volume5/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump -uroot -p*** db > /volume5/web2/db/httpd.private/sql/db_$(date +%Y%m%d_%H%M%S).sql
Waarbij db de juistenaam van de database is natuurlijk
Een Synology NAS gebruik ik zelf ook. Prima dingetje, heeft ook gewoon SSH.

Off-topic: voor mij is wel erg jammer dat-ie geen PostgreSQL ondersteunt (niet voor gebruikers).
Aangezien ik binnenkort een nieuwe NAS moet heb ik zitten kijken naar QNAP, die kan iets met Docker, dus dan zou ik een officiële Postgres container kunnen gebruiken: https://hub.docker.com/_/postgres
Docker schijnt ook te werken op nieuwere modellen van Synology dan die ik heb: https://www.synology.com/nl-nl/dsm/packages/Docker
Als je geen CLI mogelijkheden voor mysqldump hebt, dan kan je ook altijd kijken naar BigDump.
https://www.ozerov.de/bigdump/

Zelf ben ik wel een beetje klaar met phpMyAdmin. BigDump doet het importeren in stacks, dus je hebt geen last van time-outs bij grote databases.
Ik wist niet van het bestaan van bigdump, en als het werkt is het wel een optie. Maar het is geen standaard tool, en SSH is dat wel. Wat het beste werkt is de dump eerst kopiëren naar je server met het commando scp of WinSCP (voor wie geen Linux heeft), en dan inlezen met het commando mysql op de server zelf.
Het voordeel is dat je het kopiëren nog even kan controleren met een checksum, anders kan het soms gebeuren dat je data niet klopt zonder dat je het in de gaten hebt..
BigDump is ideaal voor wie geen toegang tot SSH oftewel de CLI heeft.

Reageren