DB Backup funktion funktioniert nicht |
|
DB Backup funktion funktioniert nicht |
Beitrag Nr.: 1 |
Hallo,
Also ich habs von bei WCF probiert aber da ist niemand gewillt sich das mal anzusehen, und das wurde mir auch deutlich genug gesagt / gezeigt.
Ich hoffe das ich hier hilfe bekomme !
Undzwar habe ich die DB Backup im ACP funktion von hier
eingebaut:
http://your-wbb.de/thread.php?threadid=1...light=db+backup
Leider musste ich vor 1-2 tagen feststellen als ich ein mit der ACP Funktion
erstelltes DB Backup einspielen wollte, das dieses Fehlerhaft war,
hier die phpmyadmin fehlermeldung:
Zum Glück hatte ich ebenfalls mit phpmyadmin ein Backup gemacht,
dieses funktionierte zum Glück.
Ich finde es aber umständlich und unpraktisch immer mit phpmyadmin
oder mysqldumper meine Backups machen zu müssen wenn es doch
so schön einfach via. ACP auch ginge...
Könnte sich eventuell das Plugin mal einer ansehen und ggf.
mir einen Bugfix geben, wie ich das fixxen könnte das die
Backups die ich damit erstelle dann auch funktionieren ?
|
|
08.01.2012 16:24 |
|
|
haumi
Boardbetreiber
[meine Galerie]
Dabei seit: 06.06.2009
Beiträge: 3.442
Herkunft: NRW
Postid: 10434
|
|
Hi Michael,
Bei den Backups gibt es immer einen Haken betreff der Zeichenkodierung.
Daher sollte man tunlichts bei einer Sache bleiben.
Ein Backup über das ACP ist zwar einfach, birgt jedoch große Gefahren in sich, weil man erst bei der Wiederherstellung merkt das nicht alles so ist wie man denkt.
Die Backups über das ACP und auch per phpmyadmin unterliegen dem timeout.
Das heißt, Bei Datenmengen größer (ca) 16 MB brechen diese den dounload meistens ab mit der Meldung, das du die DB erfolgreich gesichert hast.
Es ist aber nicht so.
Aus diesem Grund wurde der mysqldumper geschaffen, der dieses Übel umgeht und den Downloadprozess solange immer wieder neu generiert bis llse gesichert ist.
In deinem Fall scheint es jedoch so als wäre ein Apostroph << ' >> schuld an dem Fehler.
Wenn du dir den Fehlertext mal ansiehst, so sind die Werte innerhalb der Kommas zuwischn zwei Hochkommas gesetzt
VALUES('1','b','<b>........
Wenn nun im Text ein Hochkomma auftaucht dann weiß mysql damit nichts anzufangen, bzw schließt die Zeichenkette davor und erkennt den Text dahinter nicht mehr.
Der Fehler liegt hier in dem ncht sichtbaren Teil [...]
Es ist sinvoll diese Eingaben nach Möglichkeit zu Maskieren d. h. \' wird nicht als Steuerzeichen sondern als Hochkomma erkannt.
LG
haumi
__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.
|
|
08.01.2012 16:40 |
|
|
|
Hallo ich kenne mich gut aus mit mysql und backups
ich benutzte natürlich bei wichtigen backusp (mindestens 1x die woche)
phpmyadmin UND die ACP funktion jedoch beim täglichen backup ist
mir das etwas lästig.
Meine DB ist noch nicht wirklich groß damit gibt es keine schwierigkeiten
mit timeouts etc...
Könnte der fehler dann irgendwo hier liegen:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
$values = "";
$inhalt2 = "";
while(list($key2,$wert) = each($row)) {
$wert=addslashes($wert);
$wert=str_replace("\t","\\t",$wert);
$wert=str_replace("\r","\\r",$wert);
$wert=str_replace("\n","\\n",$wert);
$wert=str_replace("'","\'",$wert);
if($values != "") $values .= ", ";
$values .= "'".$wert."'";
|
|
habe bei your-wbb gelesen das ein user diese zeile hier löschte:
code: |
1:
2:
3:
|
$wert=str_replace("'","\'",$wert);
|
|
und es dann wohl funktionierte ?
jedoch will ich nichts falsches tun...
|
|
08.01.2012 16:56 |
|
|
|
Also wenn ich diese zeile auskommertiere
und es funktionert dann, hab ich dadurch dann sicher nix anderes kaputtgemacht ?
|
|
08.01.2012 17:19 |
|
|
|
ja das ist mir klar, aber eigentlich ersetzt man doch ' mit \' um genau diese fehler zu umgehen oder ?
|
|
08.01.2012 17:34 |
|
|
|
Hier bitte
Wird aber das selbe auslösen, ist auf meinem server und dann noch bei bplaced getestet worden von mir...
|
|
08.01.2012 18:07 |
|
|
haumi
Boardbetreiber
[meine Galerie]
Dabei seit: 06.06.2009
Beiträge: 3.442
Herkunft: NRW
Postid: 10443
|
|
danke erst mal .
ich schau denn mal und melde mich danach wieder.
Edit:
Ich glaube da ist nicht viel zu machen der Fehler ist hier zu finden:
\\'div\\'
es sieht so aus, als wäre das Hochkomma schon maskiert und durch die Zeile
$wert=str_replace("'","\'",$wert);
wird das Hochkomma nochmals maskiert, sodas letztendlich der Slash maskiert wird.
Kommentiert man $wert=str_replace("'","\'",$wert); aus dann stimmt es für diesen Fall schon.
Wenn sonst kein Hochkomma zu maskieren ist dann klappt das Ganze.
In wieweit man dem jedoch vorbeugen kann weiß ich nicht, dazu müsste ich mir den Spoiler ansehen, den ich leider nicht habe.
LG
hannes
LG
haumi
__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.
|
|
08.01.2012 18:12 |
|
|
|
das heißt eigentlich ist der eingebaute spoiler schuld ?
was passiert wenn ich bei dem spoiler code aus \' einfach ' mache dafür
aber die Zeile bestehen lasse in der Backup funktion ?
|
|
08.01.2012 18:55 |
|
|
|
soll ich den spoiler mal raussuchen und dir schicken ?
|
|
08.01.2012 19:10 |
|
|
|
also steht in der DB jetzt
'div' ODER \'div\' ???
Und ja das ist nachträglich eingebaut, hab doch oben den link zum Plugin (1ster Post) angehangen ?
kann der Fehler jetzt an der Zeile liegen wo wir gesagt haben, bzw... soll ich diese mal auskommertieren und schauen was passiert,
aber ich denke dann treten dadurch ja neue fehler auf da dann ja die ' nichtmehr mit \' ersetzt werden oder ?
|
|
09.01.2012 14:39 |
|
|
|
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
|
/***SQL-Parser***/
function microtime_float(){
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function f($str=""){
echo $str;
ob_flush();
flush();
}
function inner_string($string, $position){
$string = str_replace('\\\'', '__', $string);
$chrs = preg_split('//', $string);
for($pos = 0; $pos < $position; $pos++){
if($string{$pos} == "'") $cnt++;
}
return ($cnt % 2 == 0) ? 0 : 1;
}
/***SQL-Parser***/
|
|
Kannst du dir den Code mal ansehen und mir sagen ob der irgendwas mit einer DB Backup funktion zutun hat ? ich seh mich grad nach alternativhacks um und bin über einen Hack gestolpert der unter anderem eine DB Backup funktion besitzt, ich will diese Funktion nun gerne aus dem Hack extrahieren, bin schon fertig ich muss nur wissen ob ich diesen code brauche oder nicht...
gehört wenn in die functions.php :)
|
|
09.01.2012 17:15 |
|
|
|