MySQL

Bei Uberspace.de unterstützen wir MySQL in der Version 5 (wenn du die genaue Version wissen willst, die auf dem betreffenden Server läuft, auf dem dein Uberspace liegt, gib auf der Shell einfach mysql -V ein).

Von Haus aus legen wir dir automatisch eine Datenbank an, die genauso heißt wie dein Uberspace auch.

Zugangsdaten

Für den Zugriff auf deine Datenbank hast du einen MySQL-User, der genauso heißt wie dein Uberspace-Account; die primäre Datenbank heißt ebenfalls so.

Aus Sicherheitsgründen vergeben wir für deinen MySQL-User ein separates Passwort, das unabhängig von allen anderen genutzten Passwörtern steht. Das von uns vergebene Passwort findest du in der .my.cnf in deinem Home-Verzeichnis. Diese Konfigurationsdatei wird auch automatisch eingelesen, wenn du den Befehl mysql auf der Shell verwendest - so musst du dein Passwort nicht von Hand eingeben. Und so sieht's aus (das Passwort aus dem Beispiel haben wir natürlich längst wieder geändert ;-):

[mathilde@argon ~]$ cat .my.cnf
## 2010-12-12 /usr/local/sbin/uberspace-account-create.sh 
[client]
password=lywranAzaj
port=3306
user=mathilde
socket=/var/lib/mysql/mysql.sock

Der MySQL-Server läuft auf dem gleichen Server wie dein Uberspace. Benutze also bitte einfach localhost, wenn du nach einem Servernamen gefragt wirst - das wird in den meisten Konfigurationsdateien ohnehin vorgeschlagen sein.

Ein direkter Zugang von außen auf den MySQL-Server ist aus Sicherheitsgründen nicht möglich. Wenn du von deinem Rechner aus direkten Zugriff brauchst, so geht dies nur über einen SSH-Tunnel. Bitte wende dich an uns, wenn du dazu Hilfe benötigst.

Passwort ändern

Möchtest du dein Passwort selbst ändern, so kannst du das mit dem SQL-Befehl SET PASSWORD = PASSWORD(“…“) tun. So sähe das auf der MySQL-Shell aus:

[mathilde@argon ~]$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 52775
Server version: 5.0.77-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SET PASSWORD = PASSWORD("PlybCatAs5");
Query OK, 0 rows affected (0.07 sec)

Du kannst bzw. solltest es anschließend auch in deiner .my.cnf anpassen, damit du dich weiterhin mit Eingabe von mysql mit dem MySQL-Server verbinden kannst, ohne explizit ein Passwort von Hand eingeben zu müssen.

Hast du dein Passwort bereits versehentlich in der .my.cnf geändert, ohne es zuvor auch mit SET PASSWORD wirklich zu setzen, und kommst jetzt nicht mehr an die Datenbank heran? Wenn dein Uberspace wenigstens schon einen Tag bei uns liegt und insofern einen Backup-Zyklus mitgemacht hat, kannst du das bisherige Passwort aus dem Backup entnehmen - so könnte das aussehen:

[mathilde@argon ~]$ grep ^password /backup/daily.0/home/$USER/.my.cnf 
password=PlybCatAs5

Ansonsten melde dich bitte einfach beim Support, und wir setzen dir ein ganz neues MySQL-Passwort.

Adminer

Wir stellen dir ein zentral installiertes Adminer bereit, mit dessen Hilfe du deine Datenbanken webbasiert verwalten kannst. Du findest es unter dem Namen adminer auf dem Server, unter dem sich auch dein Uberspace befindet. Liegt dieser also z.B. auf unserem Server helium, so findest du Adminer unter https://adminer.helium.uberspace.de/ - aus Sicherheitsgründen lassen wir hier nur SSL-verschlüsselte Verbindungen zu, da hierbei ja deine Zugangsdaten per Browser übermittelt werden. Viele User ziehen Adminer gegenüber phpMyAdmin vor, aber letzteres bieten wir natürlich ebenfalls:

phpMyAdmin

Wir stellen dir ein zentral installiertes phpMyAdmin bereit, mit dessen Hilfe du deine Datenbanken webbasiert verwalten kannst. Du findest es unter dem Namen pma auf dem Server, unter dem sich auch dein Uberspace befindet. Liegt dieser also z.B. auf unserem Server helium, so findest du phpMyAdmin unter https://pma.helium.uberspace.de/ - aus Sicherheitsgründen lassen wir hier nur SSL-verschlüsselte Verbindungen zu, da hierbei ja deine Zugangsdaten per Browser übermittelt werden.

Weitere Datenbanken

Beginnend ab dem 22. August 2011 kannst Du Dir weitere Datenbanken selbst anlegen. Früher ging das noch nicht, aber wir haben das jetzt ermöglicht und die Änderung gilt nicht nur für neue Uberspaces, sondern natürlich auch für alte.

Es gibt nur eine Einschränkung: Alle weiteren Datenbanken neben Deiner primären DB müssen mit Deinem Accountnamen gefolgt von einem „_“ beginnen. Wenn Dein Uberspace beispielsweise „gislinde“ heißt, dann könnte eine Zusatzdatenbank beispielsweise „gislinde_irgendwas“ heißen.

Solltest du mehr als eine Datenbank benötigen, so legen wir dir gerne auch weitere an, die dann sozusagen „Unter“datenbanken darstellen und deinen Accountnamen als Präfix tragen. Heißt dein Uberspace also beispielsweise gislinde, so könnte eine Zusatzdatenbank beispielsweise gislinde_irgendwas heißen. Derzeit kannst du diese zusätzlichen Datenbanken noch nicht in Eigenregie anlegen, daher wende dich einfach an uns und wir erledigen das rasch.

Zugriff von außen

Wir lassen aus Sicherheitsgründen keinen direkten Zugriff auf MySQL über das Internet zu. Möchtest du von deinem eigenen Rechner aus aber gerne „quasi direkt“ auf die Datenbank zugreifen, so kann ein SSH-Tunnel helfen. Bist du beispielsweise silvia auf dem Host neon, so ginge das so:

[someuser@somehost ~]$ ssh -L 3306:127.0.0.1:3306 silvia@neon.uberspace.de

Das war's schon! Die Option -L sorgt dafür, dass du lokal auf deinem Rechner einen Port 3306 etablierst. Dort wartet dann dein SSH-Client darauf, die Verbindung entgegenzunehmen, tunnelt sie - verschlüsselt! - zu deinem Uberspace und lässt sie dort auf 127.0.0.1:3306 enden, wo dann unser MySQL-Server auf dich wartet. Das war's schon!

Benutzt du Windows? Dann ist vermutlich PuTTY der SSH-Client deiner Wahl (siehe hierzu auch unseren Abschnitt zu SSH unter Windows). Auch mit PuTTY kannst du einfach einen Tunnel aufbauen:

  1. Gib im Willkommensfenster wie gewohnt unter „Host Name (or IP address)“ den Hostnamen des Servers ein, auf dem dein Uberspace liegt, z. B. neon.uberspace.de
  2. Wähle links im Baum-Menü den Punkt „Connection“ > „SSH“ > „Tunnels“
  3. Unter „Add new forwarded port:“ gibst du nun ein:
    • Source port: 3306
    • Destination: 127.0.0.1:3306
    • (o) Local ( ) Remote
  4. Klicke auf „Add“, um den Tunnel hinzuzufügen
  5. Wechsele links im Baum-Menü wieder den ersten Punkt „Session“
  6. Gib der Session unter „Saved Session“ einen Namen, z.B. „Uberspace w/MySQL“, und klick auf „Save“

Der letzte Schritt ist natürlich optional, bietet sich aber an, wenn du die Tunnelkonfiguration nicht jedes Mal von Neuem vornehmen möchtest.

Möchtest du nun auf MySQL zugreifen, starte einfach deine SSH-Verbindung mit dem Tunnel - ab sofort kannst du dann auf deinem lokalen Rechner auf 127.0.0.1:3306 zugreifen und erreichst darüber direkt den MySQL-Server auf deinem Uberspace-Host.

Achtung: Bist du außerdem gitolite-User, so hat gl-tool shell-add … deinen SSH-Key mit der Option no-port-forwarding in der ~/.ssh/authorized_keys eingetragen, was verhindert, dass du wie oben beschrieben einen SSH-Tunnel öffnen kannst. Du musst diese Option daher aus der betreffenden Zeile entfernen, damit der SSH-Tunnel nutzbar ist.

Entwicklung

Unsere Perl-Installation haben wir um das Modul DBD::mysql erweitert.

Unsere PHP-Installation ist mit der „MySQL Improved Extension“ mysqli kompiliert.

Unsere Python-Installation haben wir mit dem Modul mysql-python erweitert, das Unterstützung für die DB-API Spec v2 bietet.

database/mysql.txt · Zuletzt geändert: 2012/04/28 02:26 von uber
Zuletzt angesehen: start cool twofactorauth mongodb mysql
Recent changes RSS feed Driven by DokuWiki Valid XHTML 1.0 Valid CSS