Artikel-Schlagworte: „MySQL“
PHP 5.3 unter Debian Lenny
PHP 5.2.6-4 ist die letzte Version welche für Debian Lenny im Moment zur Verfügung steht. Möchte man dennoch das schnellere PHP 5.3 oder die neuen Möglichkeiten davon nutzen, kann man auch ältere Systeme mit Debian Lenny nachrüsten.
Dazu gibt es zum Glück das DotDeb Repository wo die Debian Pakete verfügbar sind.
Als Erstes bearbeiten wir die /etc/apt/sources.list und fügen folgende Zeilen hinzu:
deb http://packages.dotdeb.org oldstable all
deb-src http://packages.dotdeb.org oldstable alldeb http://php53.dotdeb.org oldstable all
deb-src http://php53.dotdeb.org oldstable all
Als Nächstes müssen wir den GnuPG Schlüssel noch laden und speichern mit folgendem Befehl:
Diesen Beitrag weiterlesen »
WordPress MySQL Performance
Im WordCamp habe ich diverse Diskussionsrunden besucht, worunter auch blogWERK anwesend war. Es wurde erwähnt das blogWERK die Datenbanken welche standardmässig per MyISAM betrieben werden auf InnoDB umstellen und dadurch eine bessere Performance und weniger CPU Zeit erhalten.
Dies widerspricht grundsätzlich dem InnoDB und MyISAM Datengerüst, bin jedoch der Letzte, welcher dies nicht testen würde. Aus diesem Grund habe ich ein kleines PHP Script geschrieben, welches die komplette WordPress Datenbank automatisch mutiert:
Diesen Beitrag weiterlesen »
MySQL Backup per PHP Script
Oftmals hat man die eigenen Webseiten auf einem Hostingpaket, wo man keine root Rechte hat um die MySQL Datenbanken mit dem Befehl mysqldump zu sichern.
Dann muss man entweder den Hoster um ein Backup bitten oder greift zu anderen Möglichkeiten.
Bei folgenden Script benötigt man ein User, welcher alle Datenbanken sieht, die man Backuppen möchte:
<?php
$dbhost = "localhost";
$dbuser = "username";
$dbpwd = "password";
$dbname = "datenbank";
$dbbackup = "/absoluter/pfad/zum/erstellen/vom/backup.sql";
error_reporting(0);
set_time_limit(0);
// ab hier nichts mehr ändern
$conn = mysql_connect($dbhost, $dbuser, $dbpwd) or die(mysql_error());
mysql_select_db($dbname);
$f = fopen($dbbackup, "w");
$tables = mysql_list_tables($dbname);
while ($cells = mysql_fetch_array($tables))
{
$table = $cells[0];
fwrite($f,"DROP TABLE `".$table."`;\n");
$res = mysql_query("SHOW CREATE TABLE `".$table."`");
if ($res)
{
$create = mysql_fetch_array($res);
$create[1] .= ";";
$line = str_replace("\n", "", $create[1]);
fwrite($f, $line."\n");
$data = mysql_query("SELECT * FROM `".$table."`");
$num = mysql_num_fields($data);
while ($row = mysql_fetch_array($data))
{
$line = "INSERT INTO `".$table."` VALUES(";
for ($i=1;$i<=$num;$i++)
{
$line .= "'".mysql_real_escape_string($row[$i-1])."', ";
}
$line = substr($line,0,-2);
fwrite($f, $line.");\n");
}
}
}
fclose($f);
?>
Hat man die gehighlighteten Linien angepasst, kann im Browser das PHP File aufgerufen werden und die backup.sql Datei wird erstellt, sofern der Ordner Schreibrechte hat, in dem das Backup angelegt werden sollte.
Und schon hat man ein Backup einer Datenbank per PHP realisiert.
Möchte man mehrere Datenbanken auf einen Schlag backuppen, kann dies sehr einfach gemacht werden, indem Diesen Beitrag weiterlesen »
Optimierung und Bereinigung der MySQL Datenbanken
Wie auch bei Festplatten des eigenen PC, können bei Datenbanken Fehler oder Fragmentierungen auftreten.
Auch wenn der grösste Performanceverlust meist bei falsch gesetzten Indexes liegt, so spielt die Optimierung der Tabellen auch eine kleine Rolle.
Aus diesem Grund habe ich ein einfaches PHP Skript gemacht Diesen Beitrag weiterlesen »
MySQL Datenbank Replikation
Eine Datenbank Replikation braucht man eigentlich selten, doch für sehr wichtige Applikationen wo möglichst kein Downtime auftreten soll bei Hardware Fehlern, eignet sich eine Datenbank Replikation.
Eine Replikation ist jedoch kein Backup, da beide Datenbanken ohne Verzögerungen den gleichen Stand haben. Wenn Daten aus der Master DB gelöscht werden, so sind diese zeitgleich auf der Slave DB gelöscht.
Diese Tutorial ist für Debian Lenny geschrieben, sollte aber für alle Linux Versionen sehr ähnlich ablaufen. Unsere Datenbank heisst exampledb.
Als Erstes nehmen wir die Konfiguration am Master vor. Wir müssen zulassen, das der Slave Server auf die Datenbank kommt und passen dazu Diesen Beitrag weiterlesen »



