Zugriff auf MySQL-/MariaDB-Datenbanken
Diese Hinweise gelten für den neuen MariaDB-Server, nicht für bestehende Datenbanken!
Wer im Webserverpark einen Webspace für eine Einrichtung der Universität betreibt, kann „auf Zuruf“ eine MySQL-/MariaDB-Datenbank erhalten.
In aller Regel werden Ihnen zu einer solchen Datenbank drei Angaben zur Verfügung gestellt: Der Datenbankname DATABASE
, die Datenbanknutzerkennung USERNAME
und das zugehörige Passwort PASSWORD
. In aller Regel werden DATABASE
und USERNAME
identisch sein.
Als Zeichensatz wird der vollständige Unicode-Zeichensatz utf8mb4 voreingestellt und als Sortierreihenfolge die Standard-Unicode-Collation utf8mb4_unicode_ci.
Der Server mit dem Dienstnamen mysql.uni-muenster.de
nutzt eine private IP-Adresse und ist daher nur aus dem lokalen Rechnernetz der WWU erreichbar. Wer sich außerhalb dieses Rechnernetzes befindet, muss vorher eine VPN-Verbindung, einen SSH-Tunnel, eine Remote-Desktop-Verbindung oder Ähnliches aufbauen.
Gegenüber dem alten Server veränderte Einstellungen sind unten fett gedruckt.
Normalfall: Verschlüsselte Verbindung per TLS
Dieser Zugang kann aus dem lokalen Rechnernetz der WWU genutzt werden.
Im Webserverpark sollte als ROOTCERT
die Datei /www/data/sys/pem/all-rootca.pem
angegeben werden.
Auf anderen Rechnern sollte vorher die Datei https://www.uni-muenster.de/WWUCA/all-rootca.pem herunterladen und die abgespeicherte Datei als ROOTCERT
angegeben werden.
phpMyAdmin-Zugang
Kommandozeilen-Zugang
mysql \
--host mysql.uni-muenster.de \
--user USERNAME \
--password \
--ssl-ca ROOTCERT \
DATABASE
Zugang mit PHP-Skripten mittels MySQLi
$conn=mysqli_init();
mysqli_options($conn,MYSQLI_OPT_CONNECT_TIMEOUT,5);
mysqli_ssl_set($conn,null,null,'ROOTCERT',null,null);
if(mysqli_real_connect(
$conn,
'mysql.uni-muenster.de',
'USERNAME',
'PASSWORD',
'DATABASE',
3306,
MYSQLI_CLIENT_SSL
)){
# Anmeldung erfolgreich
# .....
mysqli_close($conn);
}else{
# Fehlerbehandlung
# .....
}
Zugang mit PHP-Skripten mittels PDO
try{
$pdo=new PDO(
'mysql:host=mysql.uni-muenster.de;port=3306;dbname=DATABASE',
'USERNAME',
'PASSWORD',
array(
PDO::ATTR_TIMEOUT => 5,
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => true,
PDO::MYSQL_ATTR_SSL_CA => 'ROOTCERT',
)
);
# Anmeldung erfolgreich
# .....
} catch(PDOException $e){
# Fehlerbehandlung
# .....
}
unset($pdo);
Nur falls unbedingt nötig: Verschlüsselte Verbindung per SSH-Tunnel
Der SSH-Tunnel kann nur aus dem Webserverpark genutzt werden und nur nach entsprechener Freischaltung der Datenbanknutzerkennung.
Geben Sie dazu als Hostname 127.0.0.1
und als Portnummer 9906
an.
Falls kein Eingabefeld für eine Portnummer vorhanden ist, geben Sie als Hostname 127.0.0.1:9906
an.
Sowohl die Freischaltung der Datenbanknutzerkennung als auch die Nutzung des Tunnels haben unerwünschte Nebenwirkungen, daher sollte diese Alternative nur dann in Betracht gezogen werden, falls die verwendete Software zu alt oder zu dumm ist, um TLS-geschützte Verbindungen aufzubauen.
Migration vom alten MySQL-Server
Auf dem Upload-Server (siehe Pflege eines Webspaces mit SSH / SCP / SFTP) funktionieren folgende beiden Befehle, um eine Datenbank vom alten MySQL-Server in eine Datei zu schreiben und diese Datei in den neuen MySQL-Server zu importieren:
mysqldump --databases \
--host 127.0.0.1 \
--user OLDUSERNAME --password \
DATABASE >DATABASE.sql
mysql \
--ssl-ca /www/data/sys/pem/all-rootca.pem \
--host mysql.uni-muenster.de \
--user USERNAME --password \
DATABASE <DATABASE.sql