Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

mysql-Tabellen gruppiert sichern

Alles rund um die Server (Web-, Mail-, Datenbank-, Datenaustausch-, etc.) die man unter Linux betreiben kann

Moderator: Moderatoren

Antworten
Olaf123
Member
Member
Beiträge: 219
Registriert: 21. Jun 2005, 00:49
Wohnort: Schleswig-Holstein, Kreis Segeberg
Kontaktdaten:

mysql-Tabellen gruppiert sichern

Beitrag von Olaf123 » 16. Dez 2006, 14:04

Hallo !

Ich habe eine mysql-Datenbank auf einem debian-Webserver, die aus Tabellen mit folgendem Schema besteht:

tab_1_a
tab_1_b
tab_1_c
tab_2_a
tab_2_b
tab_2_c
tab_3_a
tab_3_b
tab_4_a
...

Der Name ist also immer tab_x_y.
"x" bezeichnet die nächste zusammengehörige Gruppe. Die Gruppen haben teils unterschiedliche Anzahl "y", siehe oben: tab_1_ hat a,b,c (also 3 Tabellen), tab_3_ dagegen hat nur a,b (also 2 Tabellen).

Ich möchte diese Daten nun nicht alle in einer *.sql sichern, sondern automatisch, Gruppe für Gruppe (Gruppe 1 lesen, als sql speichern, Gruppe 2 lesen, als sql speichern usw.) nach dem Schema

tab_1.sql
tab_2.sql
tab_3.sql
...

Wie kann ich das realisieren ?
(Hinweis: es sind sehr viele Tabellen/Gruppen, das ganze läuft also mehrere Stunden)

Gruß
Olaf

Werbung:
Yehudi
Guru
Guru
Beiträge: 2152
Registriert: 21. Jan 2004, 13:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Yehudi » 16. Dez 2006, 14:56

Ich bin mir nicht sicher was Du genau meinst, auf jedenfall wäre es in der Datenbank besser untergebracht.
Hast Du schon mal versucht das ganze mit phpMyAdmin zu machen?

Hier findest Du einiges zu dem Thema Datenbanken:
http://www.linux-club.de/faq/Datenbanken

Olaf123
Member
Member
Beiträge: 219
Registriert: 21. Jun 2005, 00:49
Wohnort: Schleswig-Holstein, Kreis Segeberg
Kontaktdaten:

Beitrag von Olaf123 » 16. Dez 2006, 15:28

Hallo Yehudi !
Yehudi hat geschrieben:Ich bin mir nicht sicher was Du genau meinst, auf jedenfall wäre es in der Datenbank besser untergebracht.
Hast Du schon mal versucht das ganze mit phpMyAdmin zu machen?
Ich habs nicht in den mysql-Bereich gesetzt, da der im opensuse-Bereich des Boards ist, und ich debian auf dem Server habe (wohl wissend, dass dies für die Frage + Antwort voraussichtlich unrelevant ist)

phpMyAdmin funktioniert nicht, die Datenbank bzw. die Anzahl an Tabellen ist wesentlich zu groß, es wird nichtmal die Liste in phpmyadmin angezeigt.

Letztendlich brauche ich ein kleines Script, dass in einer Schleife alle Tabellen sichert.
Passieren soll folgendes:

aus
tab_1_a + tab_1_b + tab_1_c
soll werden
--> tab_1.sql

aus
tab_2_a + tab_2_b + tab_2_c
soll werden
--> tab_2.sql

aus
tab_3_a + tab_3_b
soll werden
--> tab_3.sql

usw...

Natürlich könnte man auch alle Tabellen von Hand sichern, aber jede Gruppe tab_x_y hat ca. 30 einzelne Tabellen, und es gibt eine sehr, sehr große Anzahl Gruppen, da müsste ich im Oktober anfangen, um im Dezember fertig zu werden ;-)

Ich benötige also
1. einen Befehl in der Art von
mysqldump -u USERNAME -p tab_1_a > tab_1_a.sql
nur halt so, dass nicht nur tab_1_a, sondern alle tab_1_(a,b,c,...) in eine tab_1.sql gesichert werden, und

2. dies nicht nur alle a,b,c.. usw beinhaltet, sondern in einer Schleife läuft, die tab_1 dann tab_2, dann tab_3 usw. abarbeitet bzw. in eine jeweilige *.sql packt. Also letztendlich ein kleines Script mit einer Schleife die ungefähr folgendes macht, ich versuchs mal mit meinen 80er-Jahre Basic-Resten (nicht mehr viel von übrig) zu stilisieren:

1. (n1)=1
2. mysqldump -u USERNAME -p PASSWORT tab_(n1)_(n2) > tab_(n1).sql
3. (n1)=(n1)+1
4. if (n1) = NICHT_MEHR_VORHANDEN then weiter zu Zeile 6
5. zurück zur Zeile 2
6. stop

Das _könnnnnte_ ich evtl. noch hinbekommen, aber spätestens bei dem Teil für _a,b,c usw. (also oben n2), der in meinem Beispiel ganz fehlt, wüsste ich nicht mehr weiter.

Gruß
Olaf

Benutzeravatar
homer65
Hacker
Hacker
Beiträge: 331
Registriert: 6. Jan 2005, 05:24
Wohnort: Bochum

Beitrag von homer65 » 18. Dez 2006, 07:30

Geht so auch nicht mit folgendem Link. Aber vielleicht hilft es trotzdem:

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast