Der MySQL-Server der Zentralen Informatik

Beschrieb

MySQL ist eine einfach zu bedienende relationale Multi-User Datenbank, die auf verschiedenen Plattformen angeboten wird. Von uns wird MySQL im Rahmen des mysql-Servers angeboten und ist v.a. für den Gebrauch mit Scriptsprachen (z.B. PHP oder Perl) für eine Webanbindung geeignet.

Antrag durch Koordinator oder Webmoderator

Damit MySQL genutzt werden kann, muss bei uns eine Datenbank beantragt werden, dies geschieht direkt über ein Webformular.

Verwalten der Datenbank

Ein einfaches Tool zum Verwalten finden Sie in phpMyAdmin (das SSL-Server Zertifikat dieses Servers ist durch die CA der Universität Zürich ausgestellt, um den Hinweis darauf beim Verbindungsaufbau zu unterdrücken, empfehlen wir Ihnen, das Root-Zertifikat in Ihrem Browser einzubauen).

Backup

Automatisch

Alle Datenbanken werden in einem Rhythmus von 4 Stunden als Dump komplett gesichert und die Backups werden granuliert 12 Tage aufbewahrt. Damit haben Sie als Benutzer im Notfall Zugriff auf die entsprechenden Backups. Wichtig ist, dass im Falle eines Desasters schnell reagiert wird. Bei Bedarf senden Sie eine Mail an den Webmaster oder melden sich an unser Call Center (43333).

Manuell

Diese automatische Art des Backups birgt aber auch Risiken. Wird nicht innerhalb von 4 Stunden nach einer Störung auf das Backup zurückgegriffen, wird das Backup mit den neuen Inhalten der Datenbank überschrieben und somit muss auf ein älteres Backup zurückgegriffen werden. Deshalb empfiehlt sich z.B vor Strukturänderungen o. Ä. ein manuelles Backup, auf welches Sie jederzeit zugreifen können. Eine Beschreibung hierzu finden Sie in unserem ZInfo. Je nach Geschmack empfiehlt sich hier die MySQL Workbench oder das Programm mysqldump:

shell> mysqldump -u username -p -h mysql.uzh.ch \
--events --routines databasename > dumpfile

Restore / Import

Backups (dumps) können einfach via phpMyAdmin zurückgespielt werden (Reiter Importieren) sofern sie kleiner als 20MB sind. Backups, die grösser sind müssen mit anderen Werkzeugen importiert werden z.B. dem mysql-client (Vorsicht: Zuerst den Inhalt des Dumpfiles kontrollieren):

shell> mysql -u username -p -h mysql.uzh.ch databasename < dumpfile

oder mit der MySQL Workbench. Bei sehr grossen Backups (> 500MB) sollten sie Kontakt mit dem webmaster der UZH aufnehmen, damit der Import überwacht werden kann.

Aufruf im php-Programm

Interessant ist der Aufruf in einem php-Programm. Die Datenbank im folgenden Beispiel heisst "inventar":

<?php
// mysql Verbindung und Aufruf der Datenbank inventar

$server = "mysqlprod01.uzh.ch";  // MySQL-Server
$user   = "wwwclient";     // MySQL-User
$pass   = "";              // MySQL-Kennwort
$db     = "inventar";      // Datenbank
$conn = mysqli_connect($server, $user, $pass, $db);
if (!$conn) {
   print "connection failed.";
}
?>

Anschliessend kann z.B. die php-Funktion mysqli_query() verwendet werden, um eine SQL-Abfrage abzusetzen und den Abfrage-Report im WWW zu publizieren.

Dokumentation