Ich hoste meine Websites bei Strato und empfehle Strato auch jedem, der sich für eigene Domains und/oder Webspace interessiert.
Inzwischen verwalte ich für mehrere Leute Websites, die jeweils bei Strato liegen. Was mich aber immer wieder nervt: Der Datenbankzugriff (wenn man mal kurz per phpMyAdmin nen Blick reinwerfen will):
Auf die Strato-Homepage gehen, von dämlichem Werbe-Stimmungsbild begrüßt werden, auf Login klicken, einloggen, zur Datenbankverwaltung (immerhin inzwischen zwei Klicks näher), nochmals auf "Verwaltung" klicken, dann ist man endlich im phpMyAdmin. Und macht man dort ein paar Minuten nichts, beginnt dieses Prozedere mehr oder weniger von vorne.

Eigentlich wollte ich separate phpMyAdmins bei mir lokal hosten, um auf die jeweiligen Datenbanken zugreifen zu können, aber wie es scheint, kommt man nicht auf die Datenbank, wenn von außerhalb eines Strato-Servers zugreift (ich konnte auch keine Sicherheits-Einstellung finden, die das möglich macht). Sicherheitstechnisch ja eigentlich nicht übel.

Dann halt so: phpMyAdmin für jeden Strato-Account im jeweiligen Webspace installieren.

Für jede von mir betreute Website habe ich nun eine Subdomain á la http://phpmyadmin.apfel-z.net angelegt. Die Subdomain verweist auf ein Unterverzeichnis des Webspaces, in welchem phpMyAdmin liegt.

Was die config.inc.php von phpMyAdmin betrifft, sieht diese wie folgt aus:

$cfg['Servers'][$i]['verbose']         = 'Website XYZ';
$cfg['Servers'][$i]['host']            = 'rdbms.strato.de';
$cfg['Servers'][$i]['port']            = '';
$cfg['Servers'][$i]['socket']          = '/tmp/mysql.sock';
$cfg['Servers'][$i]['connect_type']    = 'socket';
$cfg['Servers'][$i]['extension']       = 'mysqli';
$cfg['Servers'][$i]['nopassword']      = true;
$cfg['Servers'][$i]['auth_type']       = 'cookie';
$cfg['Servers'][$i]['user']            = 'U1234567'; // Datenbankuser laut Strato
$cfg['Servers'][$i]['password']        = '1234567';  // festgelegtes Passwort für Datenbankzugriff
$cfg['Servers'][$i]['hide_db']         = 'information_schema|mysql|performance_schema|phpmyadmin';

$cfg['blowfish_secret'] = '76dfg8f6g7g8d76.646321324';
$cfg['DefaultLang'] = 'de';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['PmaAbsoluteUri'] = 'http://phpmyadmin.apfel-z.net/';
$cfg['McryptDisableWarning'] = true;

Ein pma-User schien mir hier nicht machbar, da ich in der Strato-Datenbank keine weiteren Benutzer anlegen kann.

An sich war's das schon: Ãœber die eingerichtete URL gelangt man direkt zum phpMyAdmin-Login, wo man nochmals die Zugangsdaten eingibt, die man auch in der config.inc.php hinterlegt hat.

Für etwas mehr Sicherheit...

Ich greife sowieso nur von zu Hause oder vom Geschäft aus auf die Datenbank zu.
Von dem her kann es nicht schaden, phpMyAdmin durch eine .htaccess vor ungewolltem Zugriff zu schützen und nur Anfragen zu erlauben, die vom heimischen oder Firmennetzwerk kommen.
Blöd nur, dass ich zu Hause eine dynamische IP habe und man in der .htaccess keine DNS-Namen verwenden kann (kann man schon, funktioniert aber bei dynamischen Adressen nicht).

So habe ich mir ein kleines Skript geschrieben, das Folgendes macht:
Erstelle eine .htaccess-Datei, die den Zugriff auf zwei erlaubte IPs beschränkt. Nehme als erste IP die von der Firma (ist fest) und als Zweite die gerade aktuelle WAN-IP.
Lade das ganze via FTP zu allen betreffenden Strato-Accounts hoch.

Die .htaccess sieht zum Beispiel so aus:

Order Deny,Allow
Deny from all
Allow from 91.63.132.91
Allow from 194.21.174.22

Das Perl-Skript, das diese Datei erstellt und via FTP hochlädt, wird in Butler eingebunden und sieht so aus:

#!/usr/bin/perl

my $ping = `ping -c 1 apfelz.dyndns.org`; # Die dyndns-Adresse

if ($ping =~ m/apfelz\.dyndns\.org \((\d+\.\d+\.\d+\.\d+)\)/) {
        my $ip = $1;
        # .htaccess erstellen
        open(my $fh, '>', "/tmp/.htaccess") or die "Konnte .htaccess nicht erstellen $!";
        print $fh <<"EOT";
Order Deny,Allow
Deny from all
Allow from $ip
Allow from 194.21.174.22
EOT

        close $fh;
        # Auf Server laden
        `curl -silent -T /tmp/.htaccess -u apfelz\@website-abc.de:apfelzpasswort ftp://ftp.strato.de/phpmyadmin/.htaccess`;
        `curl -silent -T /tmp/.htaccess -u ftp_apfelz\@website-xyz.de:passwort123 ftp://www.website-xzy.de/phpmyadmin/.htaccess`;
        `curl -silent -T /tmp/.htaccess -u www.website123.de:ganzgeheim ftp://www.website123.de/phpmyadmin/.htaccess`;
        # ...
        `rm /tmp/.htaccess`;
        }  

(curl war für mich der Befehl der Wahl, da neu angelegte FTP-Zugänge ein @ im Benutzernamen haben, was bei anderen Tools nicht so richtig funktionieren wollte. Aber auch bei curl sollte man nicht vergessen, das @ beim Benutzernamen zu escapen: \@) Funktioniert der Zugriff auf meinen eingerichteten phpMyAdmin nicht mehr, so führe ich per Hotkey das Skript aus und schon lässt mich der Server wieder ran.