kaype 10 Geschrieben 21. September 2009 Melden Teilen Geschrieben 21. September 2009 Moin moin in die Runde :) hm ... jetzt bin ich etwas überfragt ob das hier richtig ist, aber da hier sicherlich eine SQL Spezis rumlaufen versuch ich es einfach mal. Ich habe eine recht umfangreiche Datenbank eines Forums (1,5gb) auf einen neuen (unseren) Server umgezogen ... der Ausgangsserver war etwas dämlich eingerichtet sodass die Domainurl ziemlich daneben war ... das soll jetzt korrigiert werden. Nun ist in dem Forum natürlich hier und dort ... bei 550.000 Postings wohl ein paar mal öfter hier und dort ... die URL direkt verlinkt worden, für angehängte Grafiken, Verweise auf alte Threads etc. Ich würde nun gerne ein simples MySQL Kommando ausführen das alle Werte X ind Tabelle A Spalte B gegen Y tauscht. Also einfach das in allen geposteten Beiträgen die alte URL gegen die neue getauscht wurde und somit alles wie gewohnt funktioniert. Kann mir da jemand einen Tipp geben? Wäre sehr dankbar :) Danke schonmal im vorraus :) grüße, Fabian (absolut kein SQL Crack) Zitieren Link zu diesem Kommentar
Lian 2.440 Geschrieben 21. September 2009 Melden Teilen Geschrieben 21. September 2009 Ich habe eine recht umfangreiche Datenbank eines Forums (1,5gb) auf einen neuen (unseren) Server umgezogen ... der Ausgangsserver war etwas dämlich eingerichtet sodass die Domainurl ziemlich daneben war ... das soll jetzt korrigiert werden. Was ist das für ein Forum? phpBB, vBulletin...? Zitieren Link zu diesem Kommentar
LukasB 10 Geschrieben 21. September 2009 Melden Teilen Geschrieben 21. September 2009 Besser wär ein entsprechender URL Rewrite im Webserver, dann klappen auch die "falschen" Links von anderen Websiten her noch. Zitieren Link zu diesem Kommentar
VirtualMachine 10 Geschrieben 21. September 2009 Melden Teilen Geschrieben 21. September 2009 hallo, 1. Tabelle ausfindig machen wo die links gespeichert sind 2. Update Tabelle SET Linkfeld=new_url where linkfeld=alte_url fertig... funktioniert aber nicht wenn hinter der url der name des bildes direkt angehängt ist...( http://www.weissnicht.de/images/bild1.jpg) da muss dann ein script her ( z.b. php ) ich denke der rewrite geht schneller und bietet mehr vorteile... :) Zitieren Link zu diesem Kommentar
Lian 2.440 Geschrieben 21. September 2009 Melden Teilen Geschrieben 21. September 2009 Lukas hat schon den richtigen Hinweis gegeben: Wenn die ehemalige Domain noch funktioniert, sollte man mit einer .htaccess und entsprechenden Rewrite Rules arbeiten. Ansonsten so in der Art: UPDATE tabelleA SET spalteB = replace(spalteB,'alteurl', 'neueurl') WHERE spalteB LIKE '%alteurl%' http://dev.mysql.com/doc/refman/5.1/de/replace.html Vorher testen bzw. Backup fahren. Zitieren Link zu diesem Kommentar
kaype 10 Geschrieben 22. September 2009 Autor Melden Teilen Geschrieben 22. September 2009 Danke für die hinweise. Das mit dem rewrite funktioniert nicht da die bisherigen hoster das ding auf einem Stratoserver liegen hatten der eine interne URL xyz123.serverkompetenz.net hat :suspect: :suspect: :suspect: Der fliegt nun raus weil unerträglich lahm, die neue Domain war bisher nur eine weiterleitung auf die o.g. Domain sodass wenn man im forum gesurft hat auch in der Adresszeile immer das o.g. stand ... etwas dämlich eingerichtet aber das kann ich nun nicht mehr ändern, es soll halt nur in Zukunft "richtig" sein. Das Phorum basiert auf der Forensoftware "phorum", die ist immerhin so schlau das sie die angehängten Grafikken die in Postings verwendet wurden dynamisch ändert, die Angehängten Bilder funktionieren also nach wie vor. Mir geht es halt nur darum das wenn in älteren Threads auf andere Threads verwiesen wurde (Guck doch mal bei xyz123.serverkompetenz.net/thread123 ... da hatten wir das Problem schon mal) auf dem neuen Webspace halt durch ein script das xyz123.serverkompetenz.net durch die neue URL ersetzt wird sodass diese Links noch funktionieren. DAs von Lian sieht ja schon sehr gut aus. Haut das so hin? Dann probier ich das nachher mal... will mir nur ungern die DB grundlos zerballern, auch wenn es nur ne Testdatenbank ist ... die 1,5GB immer wieder neu einspielen nervt dann auf dauer *g* Aktuell läuft das Forum noch auf dem alten Server und zu Testzwecken auf der neuen Domain, wegen dem Umfang und der User sollte das lieber 3x geprüft werden bevor ich den endgültigen Umzug mache. danke und grüße... Zitieren Link zu diesem Kommentar
kaype 10 Geschrieben 23. September 2009 Autor Melden Teilen Geschrieben 23. September 2009 War sogar noch einfach als das von Lian geschriebene: UPDATE phorum_messages SET body = replace(body, '<zu ersetzende URL>', '<neue URL>') Betroffene Datensätze: 1803 (die Abfrage dauerte 4.5312 sek.) Danke :) Zitieren Link zu diesem Kommentar
Lian 2.440 Geschrieben 23. September 2009 Melden Teilen Geschrieben 23. September 2009 Korrekt - die Where Clause brauchst Du nur für weitere Einschränkungen. Gerne, danke für das feedback ;) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.