|
|
|
|
|
|
|
Michael Beier Fachmann

Anmeldungsdatum: 15.01.2004 Beiträge: 549 Wohnort: Wien
|
Verfasst am: Do 28 Okt, 2004 11:22 Titel: MySql DB optimieren |
|
|
|
Hallo,
es gibt ja im phpmyadmin einen schönen Punkt
"Optimieren Tabelle"
Da bei einigen Shops immer massig an ungebrauchten Sessions vorhanden sind und die DB nach dem Optimieren immer um ca. 4 MB kleiner ist (trotz 2-3x in der Woche händisches optimieren) würde ich das gerne über irgendein Contrib oder so zeitlich steuern (so 1x um z.b. 4:30 Uhr in der früh)
JEtzt hab ich 2 Möglichkeiten:
bei einem meiner Provider muss/müsste ich einen Befehl eingeben ins Contrab (ja keine ahnung *gg*)
beim anderen eine url
beim 2ten würd ich natürlich noch irgendein php script brauchen, welches die DB dann auch wirklich optimiert, beim ersten Provider sollts so irgendwie gehen, wenn man wüsste, welchen "Befehl" man im Contrab eintragen soll.
please help *g* _________________ S: Themenrelevante Freunde für Shop (Haushalt) und Gesundheit
B: mich, stundenweise |
|
| Nach oben |
|
|
Michael Beier Fachmann

Anmeldungsdatum: 15.01.2004 Beiträge: 549 Wohnort: Wien
|
Verfasst am: Di 02 Nov, 2004 08:32 Titel: |
|
|
|
raufschieb
sagts mal - keiner eine idee ? *g* _________________ S: Themenrelevante Freunde für Shop (Haushalt) und Gesundheit
B: mich, stundenweise |
|
| Nach oben |
|
|
Lightmaster-AH Fachmann


Anmeldungsdatum: 28.01.2004 Beiträge: 508
|
Verfasst am: Di 02 Nov, 2004 13:56 Titel: |
|
|
|
ACHTUNG! EDIT! DAS VORHERIGE SCRIPT WAR AUF MEINE DATENBANK ANGEPASST!Hier nun eine Version, die für jede Datenbank nutzbar ist, Sorry
Hallo Michi,
dieses kleine Script repariert und optimiert täglich die Datenbank. Danach macht es einen komprimierten Dump, den man dann z.B. von zu Hause täglich runterladen kann.
Erstmal die Verzeichnisse /var/backup und /var/backup/logs anlegen. Man kann auch andere verwenden, dann muss man jedoch das script anpassen.
Das Passwort muss durch das mysql-root passwort ersetzt werden. Das script kann man dann z.B. als /usr/local/bin/mysqlbackup speichern. Man sollte es auf jedenfall auf chmod 700 setzten, damit niemand das root passwort lesen kann.
Hier das Script:
| Code: | #!/bin/sh
date=`date -I`
case "$1" in
check)
echo Checking Databases ...
mysqlcheck --all-databases --auto-repair ..extended --optimize -uroot -ppassword > /var/databases/logs/check-$date.log
rm /var/databases/logs/check-current.log
ln -s /var/databases/logs/check-$date.log /var/databases/logs/check-current.log
;;
backup)
echo Saving Databases ...
mysqldump --all-databases -uroot -ppassword --opt | bzip2 -c > /var/databases/backup-$date.sql.bz2
rm /var/databases/backup-current.sql.bz2
ln -s /var/databases/backup-$date.sql.bz2 /var/databases/backup-current.sql.bz2
;;
restore)
echo Restoring Databases ...
bzcat /var/databases/backup-current.sql.bz2 | mysql -uroot -ppassword
;;
*)
echo "Usage: database {check|backup|restore}"
exit 1
esac
exit 0
|
jetzt noch wenn man möchte den Cronjob einrichten:
| Code: | | 0 3 * * * /usr/local/bin/mysqlbackup |
dieser wird täglich um 3:00 Uhr ausgeführt.
Jetzt kann man noch /var/backup per ftp oder www (.htaccess?) erreichbar machen. Dann richtet man zu Hause oder auf einem anderen Server einen cronjob ein, der jeden Tag databasebackup-current.sql.bz2 lädt.
Unter /var/backup/logs kann man die logs von mysqlcheck einsehen.
Fertig ist das automatische tägliche Backup. Ohne Zusatzkosten, es fällt nur Traffic an.
Wenn man das Backup rückspielen möchte kann man folgenden Befehl benutzen:
| Code: | | bzcat databasebackup-current.sql.bz2 | mysql -uroot -ppasswort |
Das Script führt folgende Aufgaben aus:
Es überprüft, analysiert und optimiert die Tabellen.
Dieses Script ist wie erwähnt nicht von mir!! Deshalb kann ich weitere Fragen nur "bedingt" beantworten, jedoch funktioniert es bei mir einwandfrei.
Gruß: Lightmaster-AH _________________ Esoterik
UFOs
Sumaforum
kostenlose Foren
Zuletzt bearbeitet von Lightmaster-AH am Di 02 Nov, 2004 16:45, insgesamt einmal bearbeitet |
|
| Nach oben |
|
|
Michael Beier Fachmann

Anmeldungsdatum: 15.01.2004 Beiträge: 549 Wohnort: Wien
|
Verfasst am: Di 02 Nov, 2004 14:18 Titel: |
|
|
|
hallo Light,
vorerst mal danke fürs Post.
Welche PHP Version läuft auf Deinem Server?
lg
Michi _________________ S: Themenrelevante Freunde für Shop (Haushalt) und Gesundheit
B: mich, stundenweise |
|
| Nach oben |
|
|
Lightmaster-AH Fachmann


Anmeldungsdatum: 28.01.2004 Beiträge: 508
|
Verfasst am: Di 02 Nov, 2004 14:40 Titel: |
|
|
|
Hallo Michi,
bei mir läuft PHP 4.3.4, aber es hat auch schon bei anderen Versionen funktioniert (weiss aber nicht mehr genau welche es waren). _________________ Esoterik
UFOs
Sumaforum
kostenlose Foren |
|
| Nach oben |
|
|
Michael Beier Fachmann

Anmeldungsdatum: 15.01.2004 Beiträge: 549 Wohnort: Wien
|
Verfasst am: Di 02 Nov, 2004 14:58 Titel: |
|
|
|
Hallo,
hmmmm....
require("config.php");
was für eine config.php ? *lach*
desweiteren, wo wird die DB plus PW usw. vergeben ?
irgendwie scheint das ein script aus irgendeinem Progi aus zu sein, wo es eben diese Info´s hat, denn auch
$DB_site->database=$dbname;
$DB_site->server=$servername;
$DB_site->user=$dbusername;
$DB_site->password=$dbpassword;
ist ja nicht von "aussen" verfügbar *grübel*
oder steh ich auf der Leitung _________________ S: Themenrelevante Freunde für Shop (Haushalt) und Gesundheit
B: mich, stundenweise |
|
| Nach oben |
|
|
Lightmaster-AH Fachmann


Anmeldungsdatum: 28.01.2004 Beiträge: 508
|
Verfasst am: Di 02 Nov, 2004 16:46 Titel: |
|
|
|
Sorry Michi,
hatte aus dem falschen Ordner meiner Platte das Script hervorgekramt
Du hast es schon richtig erfasst, das war ein Script, welches speziell auf meine db angepasst wurde.
Habe den ersten Beitrag von mir editiert. Das Script müsste jetzt so auch bei dir laufen.
Lightmaster-AH _________________ Esoterik
UFOs
Sumaforum
kostenlose Foren |
|
| Nach oben |
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|
|