php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.12.2004, 10:21  
Gast
 
Beiträge: n/a
Standard Update DB-Struktur auf mehreren Servern ?

Hallo alle,

ich habe mit einer Anwendung eine mysql-DB mit etwa 20 Tabellen am Laufen. In den Tabellen sind z.T. bis 500000 Sätze. Nun muss ich die DB Struktur für einige der Tabellen ändern (neue Felder). Dies auf mehreren Servern. Es ist nicht der gleiche Stand auf allen Servern (ich habe manche in den letzten Wochen schonmal manuell angepasst).

Bisher habe ich vor einer Änderung einen kompletten mysqldump gemacht und den hinterher 3x reingezogen (wegen den Constraints ...). Das dauert ewig Aber der Dump scheint mir die Tabellen ja nicht in ´intelligenter Reihenfolge´ (also so, dass er mit einmal reinfeuern geladen werden könnte) abzulegen.

Frage(n):

- Gibt es eine Möglichkeit, mysqldump zu überreden, die Tabellen in einer Reihenfolge, die auf 1x eingelesen werden kann abzulegen?
- Wie macht Ihr Eure DB-Strukturänderuzngen?
Auch so,- oder gibts da was Besseres? Ich habe auch schon überlegt, ALTER-Table-Statements zu erzeugen. Aber ich weiss ja eben nicht, wie die vorhandene Tabelle aussieht. Im Extremfall ist sie bislang noch nichteinmal da ....


In großer Hoffnung auf Eure Rückmeldungen - schonmal vielen Dank!

Viele Grüße

Frank
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.12.2004, 10:30  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard Re: Update DB-Struktur auf mehreren Servern ?

Zitat:
Zitat von Frankhd
Auch so,- oder gibts da was Besseres? Ich habe auch schon überlegt, ALTER-Table-Statements zu erzeugen. Aber ich weiss ja eben nicht, wie die vorhandene Tabelle aussieht. Im Extremfall ist sie bislang noch nichteinmal da ....
Die Definition der Tabellen krigst du mit
Code:
SHOW CREATE TABLE tabelle
, aus der du den ALTER TABLE-Befehl ableiten kannst. Ich denke das ist in diesem Fall sicher die bessere Idee, als alle Daten zu dumpen, auch wenn ich deine Probleme mit mysqldump nicht verstehe.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 09.12.2004, 10:46  
Gast
 
Beiträge: n/a
Standard

Hallo lazydog,

Dank für Deine Antwort.

1.) Mein mysqldump-Problem: Hier werden die Inhalte aller Tabellen in alphabet. Reihenfolge der Tabellennamen auf Platte geschrieben. Nun kann ich die Tabellen aber nicht in dieser Reihenfolge wieder einlesen, da dann ConstraintsFehler auftreten, wenn die Tabellen, von denen die, die im Alphabet früher kommen abhängig sind noch nicht eingelesen wurden.
Deshalb muss ich es 3x einlesen (dann sind sie alle irgendwann da). Das dauert aber bei den Datenmengen ewig ...

2.) Zu Deiner Antwort nachgefragt: Mit dem von Dir genannten Befehl bekomme ich den Create für die alte Tabelle,- den für die neue Struktur habe ich auch schon. Verstehe ich es recht, dass ich nun mit einem Programm die ´Differenzen´ beider Statements rausarbeiten müsste und darauf basierend einen AlterTable erzeuge ....? Oder geht´s evtl. einfacher?

Dank + Gruß


Frank
  Mit Zitat antworten
Alt 09.12.2004, 11:27  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich glaube nicht, dass es sich lohnt, ein Programm zu schreiben, das die Diffrenzen ausarbeitet. Für zwanzig Tabellen (wahrscheinlich sind es ja weniger) bist du sicher schneller, wenn du das manuell machst und dann die Befehle in eine Datei schreibst, die du auf jedem Server ausführen kannst.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 09.12.2004, 11:45  
Gast
 
Beiträge: n/a
Standard

Hm,- ich bin mit dem AlterTable nicht so vetraut und möchte daher nochmal nachfragen:

Kann ich ein AlterTable-Statement so schreiben, dass es auf jeden Fall funktioniert,- egal auf welche genaue Struktur es bei der Quelltabelle trifft (weil die ja nicht alle gleich sind auf allen Servern)? -> Das wäre natürlich dann das einfachste ...

Grüße - Frank
  Mit Zitat antworten
Alt 09.12.2004, 12:17  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das müsste eigentlich gehen, wenn du ein Attribut einfügen willst, das schon existiert, erhälst du einfach eine Fehlermeldung. Ich habe aber auch noch nicht alle Möglichkeiten des Befehls benutzt.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Update / syntaxfehler prinzli Datenbanken 7 24.11.2007 21:24
INSERT.. ON DUPLICATE KEY UPDATE cycap Datenbanken 3 26.10.2007 13:08
UPDATE mit Subquery cycap Datenbanken 6 27.09.2007 14:25
mysql timestamp funktioniert nicht auf allen servern? zwerg PHP Tipps 2006 1 22.03.2006 20:48
zwei SQL-Befehle (SELECT UND UPDATE) auf einmal vollziehen. Datenbanken 3 09.03.2006 16:34
UPDATE count nach Link Aufruf ? PHP Tipps 2006 9 22.01.2006 14:53
per Update eine zahl ehöhen lassen Datenbanken 3 04.07.2005 16:37
Update in mysql funzt nicht maeck PHP Tipps 2005-2 4 27.06.2005 22:52
[Erledigt] Mehrere Datenbanken auf verschiedenen Servern Datenbanken 2 15.05.2005 22:28
mysql update query mit mehreren Tabellen funktioniert nicht PHP-Fortgeschrittene 5 08.01.2005 16:29
Update per Cronjob (where Feld = Wort) Apfeltyp PHP Tipps 2004-2 3 14.12.2004 18:25
[Erledigt] UPDATE mit ' im Text Datenbanken 2 09.11.2004 20:07
[Erledigt] UPDATE = NO Update aber kein fehler..dringend hilfe suchend Datenbanken 2 25.09.2004 16:28
php update PHP Tipps 2004 2 24.09.2004 01:07
[Erledigt] UPDATE Syntax problem Datenbanken 6 17.08.2004 16:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/datenbanken/13836-update-db-struktur-auf-mehreren-servern.html, locate updatedb mehrere datenbanken

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.