FAQ - Häufig gestellte Fragen

Bitte sehen Sie sich unseren <a href=“http://www.phpmyadmin.net/home_page/docs.php“>Link-Bereich</a> auf der offiziellen phpMyAdmin Webseite an, um einen tiefergehenden Einblick in die Funktionalitäten und Schnittstellen von phpMyAdmin zu erhalten.

Server

1.1 Mein Server stürzt jedes Mal ab, wenn eine spezielle Aktion benötigt wird oder phpMyAdmin zeigt eine leere Seite oder eine Seite voller kryptischer Zeichen in meinem Browser an, was kann ich tun?

Versuchen Sie, die $cfg['OBGzip'] Richtlinie in Ihrer config.inc.php auf `false und die Richtlinie zlib.output_compression in Ihrer PHP-Konfigurationsdatei auf Off zu setzen.

1.2 Mein Apache Server stürzt ab wenn ich phpMyAdmin benutze.

Sie sollten zuerst die neuesten Versionen von Apache (und eventuell MySQL) ausprobieren. Wenn Ihr Server weiterhin abstürzt, bitten Sie die verschiedenen Apache-Supportgruppen um Hilfe.

1.3 (zurückgezogen).

1.4 Bei Verwendung von phpMyAdmin auf dem IIS wird mir die Fehlermeldung angezeigt: „Die angegebene CGI-Anwendung hat sich nicht korrekt verhalten, da sie keinen kompletten Satz von HTTP-Headern zurückgibt….“.

Sie haben einfach vergessen, die Datei install.txt aus der PHP-Distribution zu lesen. Schauen Sie sich die letzte Meldung in diesem PHP Bug Report #12061 aus der offiziellen PHP-Bug-Datenbank an.

1.5 Bei Verwendung von phpMyAdmin auf dem IIS kommt es zu Abstürzen und/oder vielen Fehlermeldungen mit dem HTTP.

Dies ist ein bekanntes Problem mit dem PHP-Filter ISAPI: es ist nicht so stabil. Bitte verwenden Sie stattdessen den Cookie-Authentifizierungsmodus.

1.6 Ich kann phpMyAdmin auf PWS nicht verwenden: es wird nichts angezeigt!

Dies scheint ein PWS-Fehler zu sein. Filippo Simoncini hat eine Umgehungslösung gefunden (zur Zeit gibt es keine bessere Lösung): Entfernen oder kommentieren Sie die DOCTYPE Deklarationen (2 Zeilen) aus dem Skript Bibliotheken/Header.class.php und index.php.

1.7 Wie kann ich einen Dump oder einen CSV-Export gzip-en? Es scheint nicht zu funktionieren.

Diese Funktion basiert auf der PHP-Funktion gzencode(), um unabhängiger von der Plattform zu sein (Unix/Windows, Abgesicherter Modues oder nicht und so weiter). Sie brauchen dafür also Zlib-Unterstützung (--with-zlib).

1.8 Ich kann eine Textdatei nicht in eine Tabelle einfügen und erhalte eine Fehlermeldung, dass der abgesicherte Modus aktiv ist.

Ihre hochgeladene Datei wird von PHP im „upload dir“, wie in php.ini definiert, gespeichert durch die Variable upload_tmp_dir (normalerweise ist der Systemvorschlag /tmp). Wir empfehlen das folgende Setup für Apache-Server, die im abgesicherten Modus laufen, um das Hochladen von Dateien zu ermöglichen, ohne dabei die Sicherheit zu beeinträchtigen:

  • erstellen Sie ein separates Verzeichnis fürs Hochladen: mkdir /tmp/php
  • geben Sie der user.group des Apache-Servers das Dateieigentum: chown apache.apache /tmp/php
  • vergeben Sie die richtige Berechtigung: chmod 600 /tmp/php
  • setze upload_tmp_dir = /tmp/php in php.ini
  • starten Sie Apache neu

1.9 (zurückgezogen).

1.10 Ich habe Probleme beim Hochladen von Dateien mit phpMyAdmin auf einem sicheren Server. Mein Browser ist Internet Explorer und ich benutze den Apache-Server.

Wie von „Rob M“ im phpWizard-Forum vorgeschlagen, fügen Sie diese Zeile zu Ihrer httpd.conf hinzu:

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Es scheint viele Probleme zwischen Internet Explorer und SSL zu lösen.

1.11 Ich bekomme eine ‚open_basedir restriction‘ beim Hochladen einer Datei aus dem Import Tab.

Seit Version 2.2.4 unterstützt phpMyAdmin Server mit open_basedir Einschränkungen. Sie müssen jedoch ein temporäres Verzeichnis erstellen und es als $cfg['TempDir'] konfigurieren. Die hochgeladenen Dateien werden dorthin verschoben und nach der Ausführung der SQL Befehle entfernt.

1.12 Ich habe mein MySQL root-Passwort verloren, was kann ich tun?

phpMyAdmin authentifiziert sich gegenüber dem von Ihnen verwendeten MySQL-Server, so dass Sie das phpMyAdmin-Kennwort nach dem Verlust auf MySQL-Ebene wiederherstellen müssen.

Das MySQL-Handbuch erklärt, wie man die Berechtigungen zurücksetzt ‚reset the permissions <https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html>`_ .

Wenn Sie einen von Ihrem Hosting-Provider installierten MySQL-Server verwenden, wenden Sie sich bitte an dessen Support, um das Passwort für Sie wiederherzustellen.

1.13 (zurückgezogen).

1.14 (zurückgezogen).

1.15 Ich habe Probleme mit mysql.user Spaltennamen.

In früheren MySQL-Versionen wurden die Spalten Benutzer und Passwort als benutzer und passwort bezeichnet. Bitte passen Sie Ihre Spaltennamen an die aktuellen Standards an.

1.16 Ich kann keine großen Dump-Dateien hochladen (Speicher-, HTTP- oder Timeout-Probleme).

Ab Version 2.7.0 wurde die Import Engine neu geschrieben und diese Probleme sollten nicht auftreten. Wenn möglich, aktualisieren Sie Ihr phpMyAdmin auf die neueste Version, um die Vorteile der neuen Importfunktionen zu nutzen.

Das erste, was überprüft werden muss (oder die Ihr Host-Provider überprüfen soll), sind die Werte von max_execution_time, upload_max_filesize, memory_limit und post_max_size` in der php.ini Konfigurationsdatei. Alle diese drei Einstellungen begrenzen die maximale Größe der Daten, die von PHP übertragen und verarbeitet werden können. Bitte beachten Sie, dass post_max_size größer als upload_max_filesize sein muss. Es gibt mehrere Umgehungslösungen, wenn Ihr Upload zu groß ist oder Ihr Hosting-Provider nicht bereit ist, die Einstellungen zu ändern:

  • Schauen Sie sich die $cfg['UploadDir'] Funktion an. Dies erlaubt es, eine Datei über scp, ftp oder Ihre bevorzugte Dateiübertragungsmethode auf den Server hochzuladen. PhpMyAdmin kann dann die Dateien aus dem temporären Verzeichnis importieren. Weitere Informationen finden Sie in der Konfiguration dieses Dokuments.

  • Mit einem Dienstprogramm (z.B. `BigDump <https://www.ozerov.de/bigdump/>``_) können Sie die Dateien vor dem Hochladen aufteilen. Wir können diese oder andere Anwendungen von Drittanbietern nicht unterstützen, wissen aber, dass Benutzer damit Erfolg haben.

  • Wenn Sie Zugriff auf die Shell (Kommandozeile) haben, verwenden Sie MySQL, um die Dateien direkt zu importieren. Sie können dies tun, indem Sie den Befehl „source“ aus MySQL heraus aufrufen:

    source filename.sql;
    

1.17 Welche Datenbankversionen unterstützt phpMyAdmin?

Für MySQL werden die Versionen 5.5 und neuer unterstützt. Für ältere MySQL-Versionen bietet unsere Downloads Seite ältere phpMyAdmin-Versionen an (die möglicherweise nicht mehr unterstützt werden).

Für MariaDB werden die Versionen 5.5 und neuer unterstützt.

1.17a Ich kann mich nicht mit dem MySQL-Server verbinden. Es wird immer die Fehlermeldung „Client unterstützt das vom Server angeforderte Authentifizierungsprotokoll nicht; erwägen Sie ein Upgrade des MySQL-Clients“ zurückgegeben

Sie haben versucht, mit einer alten MySQL-Client-Bibliothek auf MySQL zuzugreifen. Die Version Ihrer MySQL-Client-Bibliothek kann in Ihrer phpinfo()-Ausgabe überprüft werden. Im Allgemeinen sollte es mindestens die gleiche Minor-Version wie Ihr Server haben - wie in 1.17 Welche Datenbankversionen unterstützt phpMyAdmin? erwähnt. Dieses Problem wird in der Regel durch die Verwendung von MySQL Version 4.1 oder neuer verursacht. MySQL hat den Authentifizierungs-Hash geändert und Ihr PHP versucht, die alte Methode zu verwenden. Die richtige Lösung ist die Verwendung der mysqli-Erweiterung mit der richtigen Client-Bibliothek für Ihre MySQL-Installation. Weitere Informationen (und einige Umgehungslösungen) finden Sie in der MySQL-Dokumentation.

1.18 (zurückgezogen).

1.19 Ich kann die Funktion „Beziehungen anzeigen“ nicht ausführen, da das Skript die verwendete Schriftart nicht zu kennen scheint!

Die TCPDF-Bibliothek, die wir für diese Funktion verwenden, benötigt einige spezielle Dateien, um Schriftarten zu verwenden. Bitte lesen Sie im TCPDF-Handbuch, um diese Dateien zu erstellen.

1.20 Ich erhalte eine Fehlermeldung über fehlende mysqli und mysql Erweiterungen.

Um eine Verbindung zu einem MySQL-Server herzustellen, benötigt PHP eine Reihe von MySQL-Funktionen namens „MySQL-Erweiterung“. Diese Erweiterung kann Teil der PHP-Distribution sein (einkompiliert), sonst muss sie dynamisch geladen werden. Sein Name ist wahrscheinlich mysqli.so oder php_mysqli.dll. phpMyAdmin hat versucht, die Erweiterung zu laden, ist aber gescheitert. Normalerweise wird das Problem durch die Installation eines Softwarepakets namens „PHP-MySQL“ oder ähnlichem gelöst.

Zur Zeit gibt es zwei Schnittstellen, die PHP als MySQL-Erweiterungen anbietet - mysql und mysqli. Das mysqli wird zuerst ausprobiert, weil es das beste ist.

Dieses Problem kann auch durch falsche Pfade in der php.ini verursacht werden oder mit falscher php.ini.

Stellen Sie sicher, dass die Erweiterungsdateien in dem Ordner existieren, auf den das extension_dir zeigt und dass die entsprechenden Zeilen in Ihrer php.ini-Datei vorhanden sind (Sie können phpinfo() verwenden, um das aktuelle Setup zu überprüfen):

[PHP]

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Apache2/modules/php/ext"

Die php.ini kann von verschiedenen Orten aus geladen werden (besonders unter Windows), also überprüfen Sie bitte, ob Sie die richtige Datei aktualisieren. Wenn Sie Apache verwenden, können Sie ihm mitteilen, dass er einen bestimmten Pfad für diese Datei verwenden soll, indem Sie die PHPIniDir Richtlinie verwenden:

LoadFile "C:/php/php5ts.dll"
LoadModule php5_module "C:/php/php5apache2_2.dll"
<IfModule php5_module>
    PHPIniDir "C:/PHP"
    <Location>
       AddType text/html .php
       AddHandler application/x-httpd-php .php
    </Location>
</IfModule>

In einigen seltenen Fällen kann dieses Problem auch durch andere in PHP geladene Erweiterungen verursacht werden, die das Laden von MySQL-Erweiterungen verhindern. Wenn etwas anderes fehlschlägt, können Sie versuchen, Erweiterungen für andere Datenbanken in php.ini auszukommentieren.

1.22 Ich sehe das Feld „Ort der Textdatei“ nicht, daher kann ich nichts hochladen.

Dies ist sehr wahrscheinlich, weil in php.ini Ihr file_uploads Parameter nicht auf „on“ gesetzt ist.

1.23 Ich verwende MySQL auf einer Win32-Maschine. Jedes Mal, wenn ich eine neue Tabelle erstelle, werden die Tabellen- und Spaltennamen in Kleinbuchstaben geändert!

Dies geschieht, weil die MySQL-Richtlinie lower_case_table_names in der Win32-Version von MySQL standardmäßig auf 1 (ON) gesetzt ist. Sie können dieses Verhalten ändern, indem Sie einfach die Richtlinie auf 0 (OFF) ändern: bearbeiten Sie einfach Ihre my.ini Datei, die sich in Ihrem Windows-Verzeichnis befinden sollte und fügen Sie die folgende Zeile zur Gruppe [mysqld] hinzu:

set-variable = lower_case_table_names=0

Bemerkung

Wenn man diese Variable auf einem Dateisystem ohne Berücksichtigung der Groß-/Kleinschreibung auf –low-case-table-names=0 zwingt und auf MyISAM-Tabellennamen mit verschiedenen Großbuchstaben zugreift, kann es zu Indexbeschädigungen kommen.

Speichern Sie anschließend die Datei und starten Sie den MySQL-Dienst neu. Sie können den Wert dieser Richtlinie jederzeit prüfen mit der Abfrage

SHOW VARIABLES LIKE 'lower_case_table_names';

1.24 (zurückgezogen).

1.25 Ich verwende Apache mit mod_gzip-1.3.26.1a unter Windows XP, und ich bekomme Probleme, wenn ich eine SQL-Abfrage ausführe, wie z.B. undefinierte Variablen.

Ein Tipp von Jose Fandos: Schreiben Sie einen Kommentar zu den folgenden zwei Zeilen in die httpd.conf, so wie hier:

# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"

da diese Version von mod_gzip auf Apache (Windows) Probleme mit PHP-Skripten hat. Natürlich müssen Sie den Apache neu starten.

1.26 Ich habe gerade phpMyAdmin in mein Dokumentenstamm von IIS installiert, aber ich erhalte die Fehlermeldung „Keine Eingabedatei angegeben“, wenn ich versuche, phpMyAdmin auszuführen.

Das ist ein Berechtigungsproblem. Klicken Sie mit der rechten Maustaste auf den Ordner phpmyadmin und wählen Sie Eigenschaften. Klicken Sie unter dem Reiter Sicherheit auf „Hinzufügen“ und wählen Sie den Benutzer „IUSR_machine“ aus der Liste. Setzen Sie nun seine Berechtigungen und es sollte funktionieren.

1.27 Ich bekomme eine leere Seite, wenn ich eine große Seite sehen will (z.B. db_structure.php mit vielen Tabellen).

Dies wurde durch einen PHP-Bug verursacht, der auftritt, wenn die GZIP-Ausgangspufferung aktiviert ist. Wenn Sie es ausschalten (durch $cfg['OBGzip'] in config.inc.php), sollte es funktionieren. Dieser Fehler wurde in PHP 5.0.0 behoben.

1.28 Mein MySQL-Server verweigert manchmal Anfragen und gibt die Meldung ‚Errorcode‘ zurück: 13‘. Was bedeutet das?

Dies kann aufgrund eines MySQL-Fehlers passieren, wenn Datenbank-/Tabellennamen mit Großbuchstaben verwendet werden, obwohl lower_case_table_names auf 1 gesetzt ist. Um dies zu beheben, deaktivieren Sie diese Richtlinie, konvertieren Sie alle Datenbank-und Tabellennamen in Kleinbuchstaben, und schalten Sie sie wieder ein. Alternativ gibt es einen Bugfix ab MySQL 3.23.56 / 4.0.11-gamma.

1.29 Wenn ich eine Tabelle erstelle oder eine Spalte ändere, erhalte ich einen Fehler und die Spalten werden verdoppelt.

Es ist möglich, den Apache so zu konfigurieren, dass PHP Probleme bei der Interpretation von .php-Dateien hat.

Die Probleme treten auf, wenn zwei verschiedene (und widersprüchliche) Direktiven verwendet werden:

SetOutputFilter PHP
SetInputFilter PHP

und

AddType application/x-httpd-php .php

Im Fall, den wir sahen, war ein Satz von Richtlinien in /etc/httpd/conf/httpd.conf``und ein anderer Satz in ``/etc/httpd/conf/addon-modules/php.conf war. Der empfohlene Weg ist durch AddType, also einfach den ersten Satz Zeilen auskommentieren und Apache neu starten:

#SetOutputFilter PHP
#SetInputFilter PHP

1.30 Ich erhalte die Fehlermeldung „navigation.php: Fehlender Hash“.

Dieses Problem tritt bekanntlich auf, wenn auf dem Server Turck MMCache läuft, aber ein Upgrade von MMCache auf Version 2.3.21 löst das Problem.

1.31 Welche PHP-Versionen unterstützt phpMyAdmin?

Seit Release 4.5 unterstützt phpMyAdmin nur noch PHP 5.5 und neuer. Seit Release 4.1 unterstützt phpMyAdmin nur noch PHP 5.3 und neuer. Für PHP 5.2 können Sie die Versionen 4.0.x verwenden.

PHP 7 wird seit phpMyAdmin 4.6 unterstützt, PHP 7.1 seit 4.6.5, PHP 7.2 seit 4.7.4.

HHVM wird bis phpMyAdmin 4.8 unterstützt.

Ab Release 5.0 unterstützt phpMyAdmin nur noch PHP 7.1 und neuer.

1.32 Kann ich HTTP-Authentifizierung mit IIS verwenden?

Ja, diese Prozedur wurde mit phpMyAdmin 2.6.1, PHP 4.3.9 im Modus ISAPI unter term:`IIS 5.1 getestet.

  1. In Ihrer php.ini Datei, setzen Sie cgi.rfc2616_headers = 0
  2. Aktivieren Sie im Dialogfeld Website-Eigenschaften -> Datei-/Verzeichnissicherheit -> Anonymer Zugriff das Kontrollkästchen Anonymer Zugriff und deaktivieren Sie alle anderen Kontrollkästchen (d.h. deaktivieren Sie Basic authentication, Integrierte Windows-Authentifizierung und Digest, falls aktiviert). Klicken Sie auf „OK“.
  3. Wählen Sie unter Benutzerdefinierte Fehler den Bereich von 401;1 bis 401;5 und klicken Sie auf die Schaltfläche Auf Standard setzen.

Siehe auch

RFC 2616

1.33 (zurückgezogen).

1.34 Kann ich direkt auf Datenbank- oder Tabellenseiten zugreifen?

Ja. Aus dem Stand können Sie URL wie http://server/phpMyAdmin/index.php?server=X&db=database&table=table&target=script verwenden. Für Server verwenden Sie die Servernummer, die sich auf die Reihenfolge des Serverabsatzes in config.inc.php bezieht. Tabellen- und Skriptteile sind optional. Wenn Sie http://server/phpMyAdmin/database[/table][/script] URL wollen, müssen Sie einige Einstellungen vornehmen. Die folgenden Zeilen gelten nur für Apache Webserver. Stellen Sie zunächst sicher, dass Sie einige Funktionen innerhalb der globalen Konfiguration aktiviert haben. Sie müssen Options SymLinksIfOwnerMatch und AllowOverride FileInfo für das Verzeichnis aktivieren, in dem phpMyAdmin installiert ist und Sie müssen mod_rewrite aktivieren. Dann müssen Sie nur noch die folgende Datei :_term:.htaccess im Stammordner der phpMyAdmin-Installation erstellen (vergessen Sie nicht, den Verzeichnisnamen darin zu ändern):

RewriteEngine On
RewriteBase /path_to_phpMyAdmin
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]

1.35 Kann ich HTTP-Authentifizierung mit Apache CGI verwenden?

Ja, Sie müssen jedoch die Authentifizierungsvariable an CGI übergeben, indem Sie die folgende Rewrite-Regel verwenden:

RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

1.36 Ich erhalte die Fehlermeldung „500 Internal Server Error“.

Es kann viele Erklärungen dazu geben und ein Blick in die Fehlerprotokolldatei Ihres Servers könnte einen Hinweis geben.

1.38 Kann ich phpMyAdmin auf einem Server verwenden, auf dem Suhosin aktiviert ist?

Ja, aber die Standardkonfigurationswerte von Suhosin sind dafür bekannt, dass sie bei einigen Operationen Probleme verursachen, z.B. beim Bearbeiten einer Tabelle mit vielen Spalten und ohne primary key oder mit Text-primary key.

Die Suhosin-Konfiguration kann in einigen Fällen zu Fehlfunktionen führen und kann nicht vollständig vermieden werden, da phpMyAdmin eine Art Anwendung ist, die große Mengen von Spalten in einer einzelnen HTTP-Anfrage übertragen muss, was Suhosin zu verhindern versucht. Generell alle suhosin.request.*, suhosin.post.* und suhosin.get.* Richtlinien können sich negativ auf die Benutzerfreundlichkeit von phpMyAdmin auswirken. Sie können immer in Ihren Fehlerprotokollen finden, welche Einschränkung das Fallenlassen der Variablen verursacht hat, so dass Sie das Problem diagnostizieren und die entsprechende Konfigurationsvariable anpassen können.

Die Standardwerte für die meisten Suhosin-Konfigurationsoptionen funktionieren in den meisten Szenarien, Sie sollten jedoch mindestens die folgenden Parameter anpassen:

Um die Sicherheit weiter zu verbessern, empfehlen wir auch diese Änderungen:

Sie können die Warnung auch mit der Option $cfg[‚SuhosinDisableWarning‘] deaktivieren.

1.39 Wenn ich versuche, eine Verbindung über https herzustellen, kann ich mich einloggen, aber dann wird meine Verbindung wieder auf http umgeleitet. Was kann dieses Verhalten verursachen?

Dies liegt daran, dass PHP-Skripte nicht wissen, dass die Seite https verwendet. Je nach verwendetem Webserver sollten Sie ihn so konfigurieren, dass er PHP über die URL und das verwendete Schema informiert.

Stellen Sie zum Beispiel im Apache sicher, dass Sie SSLOptions und StdEnvVars in der Konfiguration aktiviert haben.

1.41 Wenn ich eine Datenbank betrachte und nach ihren Rechten frage, erhalte ich eine Fehlermeldung über eine unbekannte Spalte.

Die Berechtigungstabellen des MySQL-Servers sind nicht aktuell, Sie müssen den Befehl mysql_upgrade auf dem Server ausführen.

1.42 Wie kann ich verhindern, dass robots auf phpMyAdmin zugreifen?

Sie können verschiedene Regeln zu .htaccess hinzufügen, um den Zugriff basierend auf dem User-Agent-Feld zu filtern. Dies ist recht einfach zu umgehen, könnte aber zumindest einige Roboter daran hindern, auf Ihre Installation zuzugreifen.

RewriteEngine on

# Allow only GET and POST verbs
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]

# Ban Typical Vulnerability Scanners and others
# Kick out Script Kiddies
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]

# Ban Search Engines, Crawlers to your administrative panel
# No reasons to access from bots
# Ultimately Better than the useless robots.txt
# Did google respect robots.txt?
# Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in" -wiki -forum -forums -questions intext:"Cookies must be enabled"
RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-IT-Markt-Crawler|heritrix|ibm.com\cs/crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~crawler|SynooBot|crawleradmin.t-info@telekom.de|TurnitinBot|voyager|W3.SiteSearch.Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC]
RewriteRule .* - [F]

1.43 Warum kann ich die Struktur meiner Tabelle mit Hunderten von Spalten nicht anzeigen?

Weil das memory_limit Ihres PHPs zu niedrig ist, passen Sie es in php.ini an.

1.44 Wie kann ich die installierte Größe von phpMyAdmin auf der Festplatte reduzieren?

Einige Benutzer haben darum gebeten, die Größe der phpMyAdmin-Installation reduzieren zu können. Dies wird nicht empfohlen und könnte zu Verwirrung über fehlende Funktionen führen, ist aber möglich. Eine Liste von Dateien und den entsprechenden Funktionen, die sich nach dem Entfernen gravierend verschlechtern, beinhalten:

  • ./vendor/tecnickcom/tcpdf Ordner (Export nach PDF)
  • Ordner ./locale/ oder unbenutzte Unterordner (Schnittstellenübersetzungen)
  • Alle unbenutzten Designs in ./themes/
  • ./js/vendor/jquery/src/ (aus Lizenzgründen enthalten)
  • ./js/line_counts.php (entfernt in phpMyAdmin 4.8)
  • ./doc/ (Dokumentation)
  • ./setup/ (Setup-Skript)
  • ./examples/
  • ./sql/ (SQL-Skripte zur Konfiguration der erweiterten Funktionalität)
  • ./js/vendor/openlayers/ (GIS-Visualisierung)

Konfiguration

2.1 Die Fehlermeldung „Warnung: Header-Informationen können nicht hinzugefügt werden - Header wurden bereits von …. gesendet“ wird angezeigt, was ist das Problem?

Bearbeiten Sie Ihre config.inc.php Datei und stellen Sie sicher, dass es weder vor dem <?php Tag am Anfang noch nach dem ?> tag am Ende nichts gibt (d.h. keine Leerzeilen, keine Leerzeichen, keine Zeichen…).

2.2 phpMyAdmin kann keine Verbindung zu MySQL herstellen. Was ist denn los?

Entweder gibt es einen Fehler in Ihrem PHP-Setup oder Ihr Benutzername/Passwort ist falsch. Versuchen Sie, ein kleines Skript zu erstellen, das mysql_connect verwendet und prüfen Sie, ob es funktioniert. Wenn dies nicht der Fall ist, haben Sie vielleicht noch nicht einmal MySQL-Unterstützung in PHP einkompiliert.

2.3 Die Fehlermeldung „Warnung: MySQL-Verbindung fehlgeschlagen: Kann keine Verbindung zum lokalen MySQL-Server über den Socket ‚/tmp/mysql.sock‘ (111) herstellen….“ wird angezeigt. Was kann ich tun?

Die Fehlermeldung kann auch lauten: Error #2002 - Der Server antwortet nicht (oder der Socket des lokalen MySQL-Servers ist nicht korrekt konfiguriert).

Zuerst müssen Sie feststellen, welcher Socket von MySQL verwendet wird. Um dies zu tun, verbinden Sie sich mit Ihrem Server und gehen Sie in das MySQL bin-Verzeichnis. In diesem Verzeichnis sollte sich eine Datei namens mysqladmin befinden. Geben Sie ./mysqladmin variables ein, das sollte Ihnen eine Menge Informationen über Ihren MySQL-Server liefern, einschließlich des Sockets (z.B. /tmp/mysql.sock). Sie können auch Ihren ISP nach den Verbindungsinformationen fragen oder, wenn Sie Ihren eigenen Server hosten, eine Verbindung über den ‚mysql‘ Kommandozeilen-Client herstellen und ‚status‘ eingeben, um den Verbindungstyp und die Socket- oder Portnummer in Erfahrung zu bringen.

Dann müssen Sie PHP mitteilen, dass es diesen Socket verwenden soll. Sie können dies für das gesamte PHP in der php.ini tun oder für phpMyAdmin nur in der config.inc.php. Beispiel: $cfg['Servers'][$i]['socket'] Bitte stellen Sie auch sicher, dass die Rechte dieser Datei für Ihren Webserver lesbar sind.

Auf meiner RedHat-Kiste ist der Socket von MySQL /var/lib/mysql/mysql.sock. In deiner php.ini gibt es eine Zeile

mysql.default_socket = /tmp/mysql.sock

ändern in

mysql.default_socket = /var/lib/mysql/mysql.sock

Dann starten Sie den Apache neu und es wird funktionieren.

Beachten Sie auch den entsprechenden Abschnitt der MySQL-Dokumentation.

2.4 Mein Browser zeigt nichts an, wenn ich versuche, phpMyAdmin zu starten, was kann ich tun?

Versuchen Sie, in der Konfigurationsdatei von phpMyAdmin die Richtlinie $cfg['OBGzip'] auf false zu setzen, es könnte helfen. Sehen Sie sich auch Ihre PHP-Versionsnummer an: wenn sie „b“ oder „alpha“ enthält, bedeutet das, dass Sie eine Testversion von PHP verwenden. Das ist keine so gute Idee, bitte aktualisieren Sie auf eine einfache Revision.

2.6 Ich erhalte einen „Access denied for user: ‚root@localhost‘ (Using password: YES)“-Fehler beim Zugriff auf einen MySQL-Server auf einem Host, der auf meinen localhost port-forwarded ist.

Wenn Sie einen Port auf Ihrem localhost verwenden, den Sie per Port-Weiterleitung auf einen anderen Host umleiten, löst MySQL den localhost nicht wie erwartet auf. Erklärung von Erik Wasser: Die Lösung ist: Wenn Ihr Host „localhost“ ist, versucht MySQL (auch das Kommandozeilen-Tool mysql) immer, die Socket-Verbindung zu benutzen, aus Beschleunigungsgründen. Das funktioniert in dieser Konfiguration mit Portweiterleitung nicht. Wenn Sie „127.0.0.0.1“ als Hostname eingeben, ist alles in Ordnung und MySQL verwendet die TCP-Verbindung.

2.7 Designs verwenden und erstellen

Siehe Designs.

2.8 Ich erhalte „Fehlende Parameter“ Fehler, was kann ich tun?

Nachfolgend ein paar Punkte zur Prüfung:

  • In config.inc.php versuchen Sie die Anweisung config:option:`$cfg[‚PmaAbsoluteUri‘] leer zu lassen. Siehe auch ref:`faq4_7.
  • Vielleicht haben Sie eine defekte PHP-Installation oder Sie müssen Ihren Zend Optimizer aktualisieren. Siehe <https://bugs.php.net/bug.php?id=31134>.
  • Wenn Sie Hardened PHP mit der ini-Direktive `varfilter.max_request_variables auf den Standardwert (200) oder einen anderen niedrigen Wert setzen, könnten Sie diesen Fehler erhalten, wenn Ihre Tabelle eine hohe Menge an Spalten hat. Passen Sie diese Einstellung entsprechend an. (Danke an Klaus Dorninger für den Hinweis).
  • In der :file:php.ini` Richtlinie ``arg_separator.input, wird ein Wert von „;“ diesen Fehler verursachen. Ersetzen Sie es durch „&;“.
  • Wenn Sie Suhosin verwenden, möchten Sie vielleicht die request limits erhöhen.
  • Das Verzeichnis der in der php.ini angegebenen Richtlinie session.save_path existiert nicht oder ist schreibgeschützt (dies kann durch bug im PHP Installer verursacht werden).

2.9 Einen Fortschrittsbalken für den Upload sehen

Um einen Fortschrittsbalken während des Uploads sehen zu können, muss Ihr Server die Erweiterung `APC <https://secure.php.net/manual/en/book.apc.php>``_, die Erweiterung `uploadprogress <https://pecl.php.net/package/uploadprogress>``_ haben oder Sie müssen PHP 5.4.0 oder höher verwenden. Außerdem muss die JSON-Erweiterung in Ihrem PHP aktiviert sein.

Wenn Sie APC verwenden, müssen Sie apc.rfc1867 in Ihrer php.ini auf on setzen.

Wenn Sie PHP 5.4.0 oder höher verwenden, müssen Sie session.upload_progress.enabled` auf 1 in Ihrer php.ini setzen. Ab phpMyAdmin Version 4.0.4 wurde der sitzungsbasierte Upload-Fortschritt jedoch wegen seines problematischen Verhaltens vorübergehend deaktiviert.

Siehe auch

RFC 1867

Bekannte Einschränkungen

3.1 Bei Verwendung der HTTP-Authentifizierung kann sich ein Benutzer, der sich abgemeldet hat, nicht mehr mit dem gleichen Nicknamen anmelden.

Dies hängt mit dem von phpMyAdmin verwendeten Authentifizierungsmechanismus (Protokoll) zusammen. Um dieses Problem zu umgehen, schließen Sie einfach alle geöffneten Browserfenster und gehen Sie zurück zu phpMyAdmin. Sie sollten sich wieder einloggen können.

3.2 Beim Dumpen einer großen Tabelle in komprimierter Form erhalte ich einen Speicherlimitfehler oder einen Zeitlimitfehler.

Komprimierte Dumps werden im Speicher erstellt und sind daher auf das Speicherlimit von php beschränkt. Für gzip/bzip2-Exporte kann dies seit 2.5.4 mit $cfg['CompressOnFly'] gelöst werden (standardmäßig aktiviert). Zip-Exporte können so nicht behandelt werden, wenn Sie also Zip-Dateien für größere Dumps benötigen, müssen Sie eine andere Lösung finden.

3.3 Bei InnoDB-Tabellen verliere ich Fremdschlüsselbeziehungen, wenn ich eine Tabelle oder Spalte umbenenne.

Dies ist ein InnoDB-Bug, siehe <https://bugs.mysql.com/bug.php?id=21704>.

3.4 Ich kann keine Dumps importieren, die ich mit dem mysqldump-Tool erstellt habe, das mit der MySQL-Server-Distribution geliefert wird.

Das Problem ist, dass ältere Versionen von mysqldump ungültige Kommentare wie diesen erstellt haben:

-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54

Der ungültige Teil des Codes ist die horizontale Linie aus Bindestrichen, die einmal in jedem mit mysqldump erstellten Dump erscheint. Wenn Sie Ihren Dump ausführen wollen, müssen Sie ihn in gültiges MySQL umwandeln. Das heißt, Sie müssen nach den ersten beiden Bindestrichen der Zeile ein Leerzeichen einfügen oder ein # davor: -- ------------------------------------------------------------------------------- oder #---------------------------------------------------------------------

3.5 Bei der Verwendung verschachtelter Ordner werden mehrere Hierarchien falsch dargestellt.

Bitte beachten Sie, dass Sie die Trennzeichenfolge nicht mehrfach ohne Zwischenzeichen oder am Anfang/Ende Ihres Tabellennamens verwenden sollten. Wenn Sie müssen, denken Sie darüber nach, einen anderen TableSeparator zu verwenden oder diese Funktion zu deaktivieren.

3.6 (zurückgezogen).

3.7 Ich habe eine Tabelle mit vielen (>100) Spalten und wenn ich versuche, die Tabelle zu durchsuchen, erhalte ich eine Reihe von Fehlern wie „Warning: unable to parse url“. Wie kann das behoben werden?

Ihre Tabelle hat weder einen primary key noch einen unique key, also müssen wir einen langen Ausdruck verwenden, um diese Zeile zu identifizieren. Das verursacht Probleme mit der Parse_url-Funktion. Die Problemumgehung besteht darin, einen primary key oder unique key zu erzeugen.

3.8 Ich kann keine (anklickbaren) HTML-Formulare in Spalten verwenden, in die ich eine MIME-Transformation eingefügt habe!

Aufgrund eines umgebenden Formular-Containers (bei mehrzeiligen Löschschaltflächen) können keine verschachtelten Formulare in die Tabelle gestellt werden, in der phpMyAdmin die Ergebnisse anzeigt. Sie können jedoch jedes Formular innerhalb einer Tabelle verwenden, wenn Sie den übergeordneten Formular-Container mit dem Ziel tbl_row_delete.php behalten und einfach Ihre eigenen Eingabeelemente einfügen. Wenn Sie ein benutzerdefiniertes Submit-Eingabefeld verwenden, wird sich das Formular erneut an die angezeigte Seite senden, wo Sie die $HTTP_POST_VARS in einer Transformation prüfen können. Ein Tutorial zur effektiven Nutzung von Transformationen finden Sie auf der offiziellen phpMyAdmin-Homepage unter Link section.

3.9 Ich erhalte Fehlermeldungen, wenn ich „–sql_mode=ANSI“ für den MySQL-Server verwende.

Wenn MySQL im ANSI-Kompatibilitätsmodus läuft, gibt es einige große Unterschiede in der Struktur von SQL (siehe <https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html>). Vor allem wird das Anführungszeichen („) als Bezeichner-Anführungszeichen und nicht als String-Anführungszeichen interpretiert, was viele interne phpMyAdmin-Operationen zu ungültigen SQL-Anweisungen macht. Es gibt keine Abhilfe für dieses Verhalten. Neuigkeiten zu diesem Artikel werden in `Ausgabe #7383 <https://github.com/phpmyadmin/phpmyadmin/issues/7383>``_ veröffentlicht.

3.10 Homonyme und kein Primärschlüssel: wenn die Ergebnisse eines SELECTs mehr als eine Spalte mit dem gleichen Wert anzeigen (z.B. SELECT lastname from employees where firstname like 'A%' und zwei „Smith“-Werte angezeigt werden), kann ich nicht sicher sein, dass ich die gewünschte Zeile bearbeite.

Bitte stellen Sie sicher, dass Ihre Tabelle einen primary key hat, damit phpMyAdmin ihn für die Bearbeiten- und Löschen-Links verwenden kann.

3.11 Die Anzahl der Zeilen für InnoDB-Tabellen ist nicht korrekt.

phpMyAdmin verwendet eine schnelle Methode, um die Anzahl der Zeilen zu ermitteln und diese Methode gibt nur eine ungefähre Anzahl im Falle von InnoDB-Tabellen zurück. Siehe $cfg['MaxExactCount'], um diese Ergebnisse zu modifizieren, aber das könnte einen ernsthaften Einfluss auf die Performance haben. Man kann jedoch die ungefähre Anzahl der Zeilen durch eine genaue Anzahl ersetzen, indem man einfach auf die ungefähre Anzahl klickt. Dies kann auch für alle Tabellen auf einmal geschehen, indem Sie auf die unten angezeigte Zeilensumme klicken.

3.12 (zurückgezogen).

3.13 Ich erhalte einen Fehler bei der Eingabe von USE gefolgt von einem db-Namen, der einen Bindestrich enthält.

Die Tests, die ich mit MySQL 5.1.49 durchgeführt habe, zeigen, dass die API diese Syntax für das USE-Kommando nicht akzeptiert.

3.14 Ich kann eine Tabelle nicht durchsuchen, wenn ich nicht das Recht habe, SELECT auf eine der Spalten auszuführen.

Dies war von Anfang an eine bekannte Einschränkung von phpMyAdmin und wird in Zukunft wahrscheinlich nicht mehr gelöst werden.

3.15 (zurückgezogen).

3.16 (zurückgezogen).

3.17 (zurückgezogen).

3.18 Wenn ich eine CSV-Datei importiere, die mehrere Tabellen enthält, werden diese in einer einzigen Tabelle zusammengefasst.

Es gibt keine zuverlässige Möglichkeit, Tabellen im Format CSV zu unterscheiden. Vorläufig müssen Sie CSV Dateien, die mehrere Tabellen enthalten, zu trennen.

3.19 Wenn ich eine Datei importiere und phpMyAdmin die passende Datenstruktur bestimmen lasse, verwendet es nur int, dezimal und varchar Typen.

Derzeit kann das Import-Typ-Erkennungssystem diese MySQL-Typen nur Spalten zuweisen. In Zukunft werden wahrscheinlich noch weitere hinzukommen, aber vorerst müssen Sie die Struktur nach dem Import Ihren Wünschen bearbeiten. Außerdem sollten Sie beachten, dass phpMyAdmin die Größe des größten Eintrags in einer bestimmten Spalte als Spaltengröße für den entsprechenden Typ verwendet. Wenn Sie wissen, dass Sie dieser Spalte größere Elemente hinzufügen werden, sollten Sie die Spaltengrößen entsprechend anpassen. Dies geschieht aus Gründen der Effizienz.

3.20 Nach dem Upgrade sind einige Lesezeichen verschwunden oder ihr Inhalt kann nicht angezeigt werden.

Irgendwann hat sich der Zeichensatz zum Speichern von Lesezeicheninhalten geändert. Es ist besser, Ihr Lesezeichen aus der neueren phpMyAdmin-Version neu zu erstellen.

3.21 Ich kann mich nicht mit einem Benutzernamen anmelden, der Unicode-Zeichen wie á enthält.

Dies kann passieren, wenn der MySQL-Server nicht so konfiguriert ist, dass er UTF-8 als Standardzeichensatz verwendet. Dies ist eine Einschränkung der Interaktion zwischen PHP und dem MySQL-Server; es gibt keine Möglichkeit für PHP, den Zeichensatz vor der Authentifizierung zu definieren.

ISPs, Mehrbenutzer-Installationen

4.1 Ich bin ein ISP. Kann ich eine zentrale Kopie von phpMyAdmin einrichten oder muss ich diese für jeden Kunden installieren?

Seit Version 2.0.3 können Sie eine zentrale Kopie von phpMyAdmin für alle Ihre Benutzer einrichten. Die Entwicklung dieses Features wurde freundlicherweise von der NetCologne GmbH unterstützt. Dies erfordert eine korrekt eingerichtete MySQL-Benutzerverwaltung und phpMyAdmin term:`HTTP oder Cookie-Authentifizierung.

4.2 Wie kann man phpMyAdmin vor bösartigem Zugriff schützen?

Das hängt von Ihrem System ab. Wenn Sie einen Server betreiben, auf den andere Personen nicht zugreifen können, genügt es, den mit Ihrem Webserver mitgelieferten Verzeichnisschutz zu verwenden (bei Apache können Sie z.B. .htaccess Dateien verwenden). Wenn andere Personen Telnet-Zugriff auf Ihren Server haben, sollten Sie phpMyAdmins term:`HTTP oder Cookie-Authentifizierungsfunktionen verwenden.

Vorschläge:

  • Auf Ihre config.inc.php Datei sollte chmod 660 angewendet werden.
  • Alle Ihre phpMyAdmin-Dateien sollten chown -R phpmy.apache sein, wobei phpmy ein Benutzer ist, dessen Passwort nur Ihnen bekannt ist, und apache die Gruppe ist, unter der der Apache läuft.
  • Befolgen Sie die Sicherheitsempfehlungen für PHP und Ihren Webserver.

4.3 Ich erhalte Fehler, wenn ich eine Datei nicht in /lang oder in /libraries einbinden kann.

Überprüfen Sie die Datei:php.ini, oder bitten Sie Ihren Systemadministrator, dies zu tun. Der include_path muss „.“ enthalten, und open_basedir, falls verwendet, muss es „.“ und „./lang“ enthalten, um den normalen Betrieb von phpMyAdmin zu ermöglichen.

4.4 phpMyAdmin gibt bei Verwendung der HTTP-Authentifizierung immer „Zugriff verweigert“.

Dies kann mehrere Gründe haben:

  • $cfg['Servers'][$i]['controluser'] und/oder :config:option:`$cfg[‚Servers‘][$i]sind falsch.
  • Der Benutzername und das Passwort, die Sie im Anmeldedialog angeben, sind ungültig.
  • Sie haben bereits einen Sicherheitsmechanismus für das phpMyAdmin- Verzeichnis eingerichtet, z.B. eine .htaccess Datei. Dies würde die Authentifizierung von phpMyAdmin stören, also entfernen Sie sie.

4.5 Ist es möglich, eigene Datenbanken erstellen zu lassen?

Ab Version 2.2.5 können Sie in der Benutzerverwaltung einen Wildcard-Datenbanknamen für einen Benutzer eingeben (z.B. „joe%“) und die gewünschten Rechte vergeben. Zum Beispiel würde das Hinzufügen von SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER einen Benutzer seine Datenbank(en) erstellen/verwalten lassen.

4.6 Wie kann ich die Host-basierten Authentifizierungszusätze verwenden?

Wenn Sie bereits Regeln aus einer alten .htaccess Datei haben, können Sie diese nehmen und einen Benutzernamen zwischen den 'deny'/'allow' und 'from' Zeichenketten hinzufügen. Die Verwendung des Platzhalters für den Benutzernamen '%'‘‘ wäre hier ein großer Vorteil, wenn Ihre Installation für die Verwendung geeignet ist. Dann können Sie diese aktualisierten Zeilen einfach in die $cfg['Servers'][$i]['AllowDeny']['rules'] Array einfügen.

Wenn Sie ein vorgefertigtes Beispiel wollen, können Sie dieses Fragment ausprobieren. Er verhindert, dass sich der ‚root‘-Benutzer von anderen Netzwerken als dem privaten IP Netzwerkblock aus anmeldet.

//block root from logging in except from the private networks
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
    'deny root from all',
    'allow root from localhost',
    'allow root from 10.0.0.0/8',
    'allow root from 192.168.0.0/16',
    'allow root from 172.16.0.0/12',
);

4.7 Das Authentifizierungsfenster wird mehr als einmal angezeigt, warum?

Dies geschieht, wenn Sie einen ::URL verwenden, um phpMyAdmin zu starten, der sich von dem in Ihrer $cfg['PmaAbsoluteUri'] gesetzten unterscheidet. Zum Beispiel fehlendes "www", oder die Eingabe mit einem `term:`IP Adresse, obwohl ein Domain-Name in der Konfigurationsdatei definiert ist.

4.8 Welche Parameter kann ich in der URL verwenden, die phpMyAdmin startet?

Wenn Sie phpMyAdmin starten, können Sie die Parameter db, pma_username`, pma_password und `server verwenden. Dieser letzte kann entweder den numerischen Hostindex (aus $i der Konfigurationsdatei) oder einen der in der Konfigurationsdatei vorhandenen Hostnamen enthalten. Die Verwendung von pma_username und pma_password wurde zusammen mit der Verwendung von ‚cookie‘ auth_type getestet.

Zum Beispiel kann die direkte Anmelde-URL als https://example.com/phpmyadmin/?pma_username=user&pma_password=password konstruiert werden.

Warnung

Die Übergabe von Passwort und Benutzername in der URL ist unsicher und sollte nicht in Produktionsumgebungen verwendet werden.

Browser oder Client-OS

5.1 Ich erhalte einen Speicherfehler und meine Steuerelemente sind nicht funktionsfähig, wenn ich versuche, eine Tabelle mit mehr als 14 Spalten zu erstellen.

Wir konnten dieses Problem nur unter Win98/98SE reproduzieren. Beim Testen unter WinNT4 oder Win2K konnten wir problemlos mehr als 60 Spalten erstellen. Ein Workaround besteht darin, eine kleinere Anzahl von Spalten zu erstellen, dann zu Ihren Tabelleneigenschaften zurückzukehren und die anderen Spalten hinzuzufügen.

5.2 Mit Xitami 2.5b4 verarbeitet phpMyAdmin keine Formularfelder.

Dies ist kein phpMyAdmin-Problem, sondern ein bekannter Xitami-Fehler: das passiert mit jedem Skript/Website, das Formulare verwendet. Upgraden oder Downgraden Sie Ihren Xitami-Server.

5.3 Ich habe Probleme mit Konqueror (phpMyAdmin 2.2.2).

Mit Konqueror 2.1.1: einfache Dumps, Zip- und Gzip-Dumps funktionieren, außer dass der vorgeschlagene Dateiname für den Dump immer ‚tbl_dump.php‘ ist. Die bzip2-Dumps scheinen nicht zu funktionieren. Mit Konqueror 2.2.1: einfache Dumps funktionieren; Zip-Dumps werden in das temporäre Verzeichnis des Benutzers gelegt, so dass sie vor dem Schließen von Konqueror verschoben werden müssen, sonst verschwinden sie. gzip-Dumps geben eine Fehlermeldung aus. Tests müssen noch mit Konqueror 2.2.2 durchgeführt werden.

5.5 (zurückgezogen).

5.6 (zurückgezogen).

5.7 Ich aktualisiere meinen Browser und komme zurück zur Startseite.

Einige Browser unterstützen einen Rechtsklick in den Frame, den Sie aktualisieren möchten, tun Sie dies einfach im richtigen Frame.

5.8 Mit Mozilla 0.9.7 habe ich Probleme beim Senden einer Abfrage, die in der Abfragebox geändert wurde.

Sieht aus wie ein Mozilla-Fehler: 0.9.6 war OK. Wir werden ein Auge auf zukünftige Mozilla-Versionen haben.

5.9 Mit Mozilla 0.9.? bis 1.0 und Netscape 7.0-PR1 kann ich kein Leerzeichen im SQL-Query-Editierbereich eingeben: die Seite scrollt nach unten.

Dies ist ein Mozilla-Bug (siehe Bug #26882 unter BugZilla).

5.10 (zurückgezogen).

5.11 Extended-ASCII-Zeichen wie deutsche Umlaute werden falsch dargestellt.

Bitte stellen Sie sicher, dass Sie den Zeichensatz Ihres Browsers auf die Sprachdatei eingestellt haben, die Sie auf der Startseite von phpMyAdmin ausgewählt haben. Alternativ können Sie auch den automatischen Erkennungsmodus ausprobieren, der von den neuesten Versionen der meisten Browser unterstützt wird.

5.12 Mac OS X Safari-Browser ändert Sonderzeichen in „?“.

Dieses Problem wurde von einem Mac OS X Benutzer gemeldet, der hinzufügt, dass Chimera, Netscape und Mozilla dieses Problem nicht haben.

5.13 (zurückgezogen)

5.14 (zurückgezogen)

5.15 (zurückgezogen)

5.16 Mit dem Internet Explorer erhalte ich „Access is denied“ Javascript-Fehler. Oder ich kann phpMyAdmin nicht unter Windows laufen lassen.

Bitte überprüfen Sie die folgenden Punkte:

  • Vielleicht haben Sie Ihre $cfg['PmaAbsoluteUri'] Einstellung in config.inc.php definiert auf eine IP Adresse und Sie starten phpMyAdmin mit einem URL, der einen Domainnamen enthält, oder umgekehrt.
  • Die Sicherheitseinstellungen im IE und/oder Microsoft Security Center sind zu hoch, wodurch die Ausführung von Skripten blockiert wird.
  • Die Windows Firewall blockiert Apache und MySQL. Sie müssen HTTP ports (80 oder 443) und MySQL port (normalerweise 3306) in der „in“ und „out“ Richtung erlauben.

5.17 Mit Firefox kann ich keine Datenzeilen oder eine Datenbank löschen.

Viele Benutzer haben bestätigt, dass das Tabbrowser Extensions Plugin, das sie in ihrem Firefox installiert haben, das Problem verursacht.

5.18 (zurückgezogen)

5.19 Ich bekomme JavaScript-Fehler in meinem Browser.

Es wurden Probleme mit einigen Kombinationen von Browser-Erweiterungen gemeldet. Um Fehler zu beheben, deaktivieren Sie alle Erweiterungen und leeren Sie dann Ihren Browser-Cache, um zu sehen, ob das Problem verschwindet.

5.20 Ich erhalte Fehler bei der Verletzung der Content Security Policy.

Wenn Sie Fehler erhalten wie:

Refused to apply inline style because it violates the following Content Security Policy directive

Dies wird in der Regel durch eine Software verursacht, die fälschlicherweise Content Security Policy Header neu schreibt. Normalerweise wird dies durch einen Antiviren-Proxy oder Browser-Addons verursacht, die solche Fehler verursachen.

Wenn Sie diese Fehler sehen, deaktivieren Sie den HTTP-Proxy im Antivirus oder deaktivieren Sie den Content Security Policy Rewriting dort. Wenn das nicht hilft, versuchen Sie, die Browser-Erweiterungen zu deaktivieren.

Alternativ kann es auch ein Serverkonfigurationsproblem sein (wenn der Webserver so konfiguriert ist, dass er Content Security Policy-Header ausgibt, können sie die von phpMyAdmin überschreiben).

Programme, von denen bekannt ist, dass sie diese Art von Fehlern verursachen:

  • Kaspersky Internet Security

5.21 Ich erhalte Fehler über potenziell unsicheren Betrieb beim Durchsuchen der Tabelle oder beim Ausführen von SQL-Abfragen.

Wenn Sie Fehler erhalten wie:

A potentially unsafe operation has been detected in your request to this site.

Dies wird in der Regel durch eine Web-Anwendungs-Firewall verursacht, die Anfragen filtert. Es versucht, SQL-Injektion zu verhindern, aber phpMyAdmin ist ein Werkzeug zur Ausführung von SQL-Abfragen, wodurch es unbrauchbar wird.

Bitte setzen Sie phpMyAdmin-Skripte auf die Whitelist in den Firewall-Einstellungen der Web-Anwendung auf oder deaktivieren Sie sie komplett für den phpMyAdmin-Pfad.

Programme, von denen bekannt ist, dass sie diese Art von Fehlern verursachen:

  • Wordfence Web Application Firewall

phpMyAdmin verwenden

6.1 Ich kann keine neuen Zeilen in eine Tabelle einfügen / Ich kann keine Tabelle erstellen - MySQL zeigt einen SQL-Fehler an.

Überprüfen Sie aufmerksam den SQL Fehler. Häufig wird das Problem durch die Angabe eines falschen Spaltentyps verursacht. Häufige Fehler sind u.a:

  • Verwendung von VARCHAR ohne Größenargument
  • Verwendung von TEXT oder BLOB mit einem Größenargument

Sehen Sie sich auch das Syntax-Kapitel im MySQL-Handbuch an, um zu bestätigen, dass Ihre Syntax korrekt ist.

6.2 Wenn ich eine Tabelle erstelle, setze ich einen Index für zwei Spalten und phpMyAdmin erzeugt nur einen Index mit diesen beiden Spalten.

Auf diese Weise wird ein mehrspaltiger Index erstellt. Wenn Sie zwei Indizes wünschen, legen Sie den ersten beim Anlegen der Tabelle an, speichern Sie, zeigen Sie dann die Tabelleneigenschaften an und klicken Sie auf den Link Index, um den anderen Index anzulegen.

6.3 Wie kann ich einen Nullwert in meine Tabelle einfügen?

Seit Version 2.2.3 gibt es ein Ankreuzfeld für jede Spalte, die null sein kann. Vor 2.2.3 mussten Sie als Spaltenwert „null“ ohne Anführungszeichen eingeben. Seit Version 2.5.5 müssen Sie die Checkbox benutzen, um einen echten NULL-Wert zu erhalten. Wenn Sie also „NULL“ eingeben, bedeutet dies, dass Sie einen wortwörtlichen Wert NULL in der Spalte haben wollen und keinen NULL-Wert (dies funktioniert in PHP4).

6.4 Wie kann ich meine Datenbank oder Tabelle sichern?

Klicken Sie auf einen Datenbank- oder Tabellennamen im Navigations-Panel: die Eigenschaften werden angezeigt. Klicken Sie dann im Menü auf „Exportieren“, um die Struktur, die Daten oder beides zu exportieren. Dadurch werden Standard SQL Anweisungen generiert, die zur Wiederherstellung Ihrer Datenbank/Tabelle verwendet werden können. Sie müssen „Als Datei speichern“ wählen, damit phpMyAdmin den resultierenden Dump zu Ihrem Computer übertragen kann. Abhängig von Ihrer PHP-Konfiguration sehen Sie Optionen zum Komprimieren des Dumps. Siehe auch die Konfigurationsvariable $cfg['ExecTimeLimit']. Weitere Hilfe zu diesem Thema finden Sie in diesem Dokument unter dem Wort „dump“.

6.5 Wie kann ich meine Datenbank oder Tabelle mit einem Dump wiederherstellen (hochladen)? Wie kann ich eine „.sql“-Datei ausführen?

Klicken Sie auf einen Datenbanknamen im Navigations-Panel: die Eigenschaften werden angezeigt. Wählen Sie „Importieren“ aus der Liste der Registerkarten im rechten Rahmen (oder „SQL“, wenn Ihre phpMyAdmin-Version älter als 2.7.0 ist). Geben Sie im Abschnitt „Speicherort der Textdatei“ den Pfad zu Ihrem Dump-Dateinamen ein, oder verwenden Sie die Schaltfläche Durchsuchen. Klicken Sie dann auf Go. Mit der Version 2.7.0 wurde die Import Engine neu geschrieben, wenn möglich wird ein Upgrade vorgeschlagen, um die Vorteile der neuen Funktionen zu nutzen. Weitere Hilfe zu diesem Thema finden Sie in diesem Dokument unter dem Wort „upload“.

Hinweis: Für Fehler beim Import von Dumps, die von älteren MySQL-Versionen in neuere MySQL-Versionen exportiert wurden, überprüfen Sie bitte 6.41 Ich bekomme Importfehler beim Importieren der aus älteren MySQL-Versionen (vor 5.7.6) exportierten Dumps in neuere MySQL-Versionen (ab 5.7.7), aber sie funktionieren gut, wenn sie wieder auf denselben älteren Versionen importiert werden?.

6.6 Wie kann ich die Relationstabelle in Query-by-example verwenden?

Hier ein Beispiel mit den Tabellen Personen, Städte und Länder, alle in der Datenbank „mydb“. Wenn Sie keine pma__relation Tabelle haben, erstellen Sie diese wie im Abschnitt Konfiguration beschrieben. Legen Sie dann die Beispieltabellen an:

CREATE TABLE REL_countries (
country_code char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (country_code)
) TYPE=MyISAM;

INSERT INTO REL_countries VALUES ('C', 'Canada');

CREATE TABLE REL_persons (
id tinyint(4) NOT NULL auto_increment,
person_name varchar(32) NOT NULL default '',
town_code varchar(5) default '0',
country_code char(1) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

INSERT INTO REL_persons VALUES (11, 'Marc', 'S', '');
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');

CREATE TABLE REL_towns (
town_code varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (town_code)
) TYPE=MyISAM;

INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
INSERT INTO REL_towns VALUES ('M', 'Montréal');

Zum Einrichten entsprechender Links und zum Anzeigen von Informationen:

  • in der Tabelle „REL_persons“ klicken Sie auf Struktur, dann auf Beziehungsansicht
  • für „town_code“, wählen Sie aus den Dropdowns, „mydb“, „REL_towns“, „code“ für ausländische Datenbank, Tabelle bzw. Spalte
  • für „country_code“, wählen Sie aus den Dropdowns, „mydb“, „REL_countries“, „country_code“ für ausländische Datenbank, Tabelle bzw. Spalte
  • in der Tabelle „REL_towns“ klicken Sie auf Struktur, dann auf Beziehungsansicht
  • Wählen Sie unter „anzuzeigende Spalte auswählen“ die Option „Beschreibung“
  • wiederholen Sie die beiden vorherigen Schritte für die Tabelle „REL_countries“

Testen Sie dann wie folgt:

  • Klicken Sie im Navigationsbereich auf Ihren db-Namen
  • Wählen Sie „Abfrage“
  • Tabellen verwenden: Personen, Städte, Länder
  • Klicken Sie auf „Abfrage aktualisieren“
  • Wählen Sie in der Spaltenzeile persons.person_name und klicken Sie auf das Kontrollkästchen „Anzeigen“
  • Tun Sie das gleiche für die Städte- und Länderbeschreibungen in den anderen 2 Spalten
  • Klicken Sie auf „Abfrage aktualisieren“ und Sie werden in der Abfragebox sehen, dass die richtigen Joins generiert wurden
  • Klicken Sie auf „Anfrage absenden“

6.7 Wie kann ich die Funktion „Spalte anzeigen“ verwenden?

Ausgehend vom vorherigen Beispiel erstellen Sie die pma__table_info wie im Abschnitt Konfiguration beschrieben, durchsuchen dann die Tabelle Ihrer Personen und bewegen die Maus über einen Orts- oder Ländercode. Siehe auch 6.21 Wie kann ich im Bearbeitungs-/Einfügemodus eine Liste der möglichen Werte für eine Spalte sehen, die auf einer fremden Tabelle basiert? für eine zusätzliche Funktion, die „Spalte anzeigen“ ermöglicht: eine Dropdown-Liste der möglichen Werte.

6.8 Wie kann ich ein PDF-Schema meiner Datenbank erstellen?

Zuerst müssen die Konfigurationsvariablen „relation“, „table_coords“ und „pdf_pages“ ausgefüllt werden. Dann müssen Sie über Ihr Schema-Layout nachdenken. Welche Tabellen gehen auf welche Seiten?

  • Wählen Sie Ihre Datenbank im Navigationsbereich aus.
  • Wählen Sie „Operationen“ in der oberen Navigationsleiste.
  • Wählen Sie „PDF Seiten bearbeiten“ am Ende der Seite.
  • Geben Sie einen Namen für die erste PDF Seite ein und klicken Sie auf Go. Wenn Sie möchten, können Sie das „automatische Layout“ verwenden, das alle Ihre verknüpften Tabellen auf die neue Seite setzt.
  • Wählen Sie den Namen der neuen Seite (stellen Sie sicher, dass das Optionsfeld Bearbeiten markiert ist) und klicken Sie auf Los.
  • Wählen Sie eine Tabelle aus der Liste aus, geben Sie ihre Koordinaten ein und klicken Sie auf Speichern. Die Koordinaten sind relativ; Ihr Diagramm wird automatisch an die Seite angepasst. Bei der ersten Platzierung von Tabellen auf der Seite, wählen Sie einfach beliebige Koordinaten - sagen wir 50x50. Nachdem Sie auf Speichern geklickt haben, können Sie das Element mit dem Befehl „ref:wysiwyg korrekt positionieren.
  • Wenn Sie sich Ihren PDF ansehen möchten, klicken Sie zuerst auf die Schaltfläche Speichern unter der Liste der Tabellen und Koordinaten, um alle dort vorgenommenen Änderungen zu speichern. Scrollen Sie dann ganz nach unten, wählen Sie die gewünschten Optionen aus und klicken Sie auf Los.
  • Internet Explorer für Windows schlägt möglicherweise einen falschen Dateinamen vor, wenn Sie versuchen, ein generiertes PDF zu speichern. Beim Speichern eines generierten PDF ist darauf zu achten, dass der Dateiname mit „.pdf“ endet, z.B. „schema.pdf“. Browser auf anderen Betriebssystemen und andere Browser unter Windows haben dieses Problem nicht.

6.9 phpMyAdmin ändert den Typ einer meiner Spalten!

Nein, es ist MySQL, das `silent column type changing <https://dev.mysql.com/doc/refman/5.7/en/silent-column-changes.html>``_ macht.

6.10 Was passiert beim Anlegen eines Privilegs mit Unterstrichen im Datenbanknamen?

Wenn Sie keinen Backslash vor den Unterstrich setzen, handelt es sich um einen Platzhalter, und der Unterstrich bedeutet „beliebiges Zeichen“. Wenn der Datenbankname also „john_db“ lautet, erhält der Benutzer die Rechte für john1db, john2db …. Wenn Sie einen Backslash vor den Unterstrich setzen, bedeutet dies, dass der Datenbankname einen echten Unterstrich hat.

6.11 Was ist das seltsame Symbol ø in den Statistikseiten?

Es bedeutet „Durchschnitt“.

6.12 Ich möchte einige Exportoptionen verstehen.

Struktur:

  • „Add DROP TABLE“ fügt eine Zeile hinzu, die MySQL auffordert, die ‚Tabelle zu löschen<https://dev.mysql.com/doc/refman/5.7/en/drop-table.html>`_, falls sie bereits während des Imports existiert. Die Tabelle wird nach dem Export NICHT gelöscht, sie wirkt sich nur auf die Importdatei aus.
  • „If Not Exists“ erstellt die Tabelle nur, wenn sie nicht existiert. Andernfalls kann es zu einem Fehler kommen, wenn der Tabellenname zwar existiert, aber eine andere Struktur hat.
  • „Add AUTO_INCREMENT value“ stellt sicher, dass der AUTO_INCREMENT-Wert (falls vorhanden) in das Backup einbezogen wird.
  • „Tabellen- und Spaltennamen mit Backquotes einschließen“ stellt sicher, dass Spalten- und Tabellennamen, die mit Sonderzeichen gebildet wurden, geschützt sind.
  • „Add into comments“ enthält Spaltenkommentare, Relationen und MIME-Typen, die im pmadb im Dump als SQL comments (/* xxx */) gesetzt sind.

Data:

  • „Complete inserts“ fügt die Spaltennamen bei jedem INSERT-Befehl hinzu, um die Dokumentation zu verbessern (aber die resultierende Datei ist größer).
  • „Extended Inserts“ bietet eine kürzere Dump-Datei, indem es nur einmal das INSERT-Verb und den Tabellennamen verwendet.
  • „Verzögerte Inserts“ werden am besten im MySQL-Handbuch - INSERT DELAYED Syntax erklärt.
  • „Inserts ignorieren“ behandelt Fehler stattdessen als Warnung. Auch hier finden Sie weitere Informationen im MySQL-Handbuch - INSERT Syntax, aber im Grunde genommen werden damit ungültige Werte angepasst und eingefügt, anstatt dass die gesamte Anweisung fehlschlägt.

6.13 Ich möchte eine Datenbank mit einem Punkt im Namen erstellen.

Dies ist eine schlechte Idee, da in MySQL die Syntax „database.table“ die Methode ist, eine Datenbank und einen Tabellennamen zu referenzieren. Schlimmer noch, MySQL lässt Sie normalerweise eine Datenbank mit einem Punkt erstellen, aber dann können Sie weder damit arbeiten noch sie löschen.

6.14 (zurückgezogen).

6.15 Ich möchte eine BLOB-Spalte hinzufügen und einen Index darauf setzen, aber MySQL sagt „BLOB-Spalte ‚….‘ verwendet in Schlüsselspezifikation ohne Schlüssellänge“.

Der richtige Methode ist, die Spalte ohne Indizes anzulegen, dann die Tabellenstruktur anzuzeigen und den Dialog „Index anlegen“ zu verwenden. Auf dieser Seite können Sie Ihre BLOB-Spalte auswählen und eine Größe auf den Index setzen, was die Voraussetzung für die Erstellung eines Index auf einer BLOB-Spalte ist.

6.16 Wie kann ich mich einfach in einer Seite mit vielen Editierfeldern bewegen?

Sie können Ctrl+Pfeile (Option+Pfeile in Safari) verwenden, um sich auf den meisten Seiten mit vielen Editierfeldern (Tabellenstrukturänderungen, Zeilenbearbeitung, etc.) zu bewegen.

6.17 Transformationen: Ich kann meinen eigenen Mimetyp nicht eingeben! Wofür ist diese Funktion dann nützlich?

Die Definition von Mimetypen nützt nichts, wenn man sie nicht transformieren kann. Andernfalls könnten Sie einfach einen Kommentar zu der Spalte schreiben. Da die Eingabe eines eigenen Mimetyps schwerwiegende Probleme bei der Syntaxprüfung und -validierung verursacht, führt dies zu einer risikoreichen Fehleingabesituation. Stattdessen müssen Sie Mimetypen mit Funktionen oder leeren Mimetyp-Definitionen initialisieren.

Außerdem haben Sie einen kompletten Überblick über die verfügbaren Mimetypen. Wer kennt alle Mimetypen auswendig, damit er/sie sie nach Belieben eingeben kann?

6.18 Lesezeichen: Wo kann ich Lesezeichen speichern? Warum kann ich keine Lesezeichen unterhalb der Abfragebox sehen? Wozu dienen diese Variablen?

Sie müssen die Funktion phpMyAdmin-Konfigurationsspeicher für die Verwendung von Lesezeichen konfiguriert haben. Sobald Sie das getan haben, können Sie Lesezeichen in der Registerkarte SQL verwenden.

Siehe auch

Lesezeichen

6.19 Wie kann ich ein einfaches LATEX-Dokument mit exportierter Tabelle erstellen?

Sie können einfach eine Tabelle in Ihre LATEX-Dokumente einfügen, das minimale Beispieldokument sollte wie folgt aussehen (vorausgesetzt, Sie haben die Tabelle in die Datei table.tex exportiert):

\documentclass{article} % or any class you want
\usepackage{longtable}  % for displaying table
\begin{document}        % start of document
\include{table}         % including exported table
\end{document}          % end of document

6.20 Ich sehe viele Datenbanken, die nicht meine sind und kann nicht darauf zugreifen.

Sie haben eines dieser globalen Privilegien: CREATE TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Diese Privilegien ermöglichen es den Benutzern auch, alle Datenbanknamen zu sehen. Wenn Ihre Benutzer diese Rechte nicht benötigen, können Sie sie entfernen und die Liste der Datenbanken verkürzt sich.

6.21 Wie kann ich im Bearbeitungs-/Einfügemodus eine Liste der möglichen Werte für eine Spalte sehen, die auf einer fremden Tabelle basiert?

Sie müssen entsprechende Verknüpfungen zwischen den Tabellen herstellen und auch die „Anzeigespalte“ in der Fremdtabelle einrichten. Siehe 6.6 Wie kann ich die Relationstabelle in Query-by-example verwenden? für ein Beispiel. Wenn es dann 100 oder weniger Werte in der Fremdtabelle gibt, ist eine Dropdown-Liste mit Werten verfügbar. Sie sehen zwei Wertelisten, die erste Liste enthält den Schlüssel und die Anzeigespalte, die zweite Liste enthält die Anzeigespalte und den Schlüssel. Der Grund dafür ist, dass der erste Buchstabe des Schlüssels oder der Anzeigespalte eingegeben werden kann. Ab 100 Werten erscheint ein eigenes Fenster, in dem Sie die Fremdschlüsselwerte durchsuchen und auswählen können. Um die Standardgrenze von 100 zu ändern, siehe $cfg['ForeignKeyMaxLimit'].

6.22 Lesezeichen: Kann ich ein Standard-Lesezeichen automatisch ausführen, wenn ich in den Blätternmodus für eine Tabelle gehe?

Ja, wenn ein Lesezeichen die gleiche Bezeichnung wie ein Tabellenname hat und es kein öffentliches Lesezeichen ist, wird es ausgeführt.

Siehe auch

Lesezeichen

6.23 Exportieren: Ich habe gehört, dass phpMyAdmin Microsoft Excel-Dateien exportieren kann?

Sie können CSV für Microsoft Excel verwenden, das sofort einsatzbereit ist.

Geändert in Version 3.4.5: Seit phpMyAdmin 3.4.5 wird der direkte Export nach Microsoft Excel 97 und neuer nicht mehr unterstützt.

6.24 Da phpMyAdmin nun native MySQL 4.1.x Spaltenkommentare unterstützt, was passiert mit meinen in pmadb gespeicherten Spaltenkommentaren?

Die automatische Migration der Spaltenkommentare einer Tabelle im pmadb- zum nativen Stil wird immer dann durchgeführt, wenn Sie die Strukturseite für diese Tabelle aufrufen.

6.25 (zurückgezogen).

6.26 Wie kann ich einen Bereich von Zeilen auswählen?

Klicken Sie auf die erste Zeile des Bereichs, halten Sie die Umschalttaste gedrückt und klicken Sie auf die letzte Zeile des Bereichs. Dies funktioniert überall dort, wo Sie Zeilen sehen, z.B. im Blätternmodus oder auf der Seite Struktur.

6.27 Welche Formatstrings kann ich verwenden?

Überall dort, wo phpMyAdmin Format-Strings akzeptiert, können Sie @VARIABLE@ Expansion und strftime Format-Strings verwenden. Die expandierten Variablen hängen vom Kontext ab (wenn Sie z.B. keine Tabelle ausgewählt haben, können Sie den Tabellennamen nicht erhalten), aber die folgenden Variablen können verwendet werden:

@HTTP_HOST@
HTTP-Host, auf dem phpMyAdmin läuft
@SERVER@
Name des MySQL-Servers
@VERBOSE@
Ausführlicher MySQL-Servername wie in $cfg['Server'][$i]['verbose'] definiert
@VSERVER@
Ausführlicher MySQL-Servername, falls gesetzt, sonst normal
@DATABASE@
Aktuell geöffnete Datenbank
@TABLE@
Aktuell geöffnete Tabelle
@COLUMNS@
Spalten der aktuell geöffneten Tabelle
@PHPMYADMIN@
phpMyAdmin mit Version

6.28 Wie kann ich einfach ein relationales Schema für den Export bearbeiten?

Durch Anklicken des Buttons ‚Scratchboard umschalten‘ auf der Seite, auf der Sie die x/y-Koordinaten dieser Elemente bearbeiten, können Sie ein Scratchboard aktivieren, in dem alle Ihre Elemente platziert sind. Durch Klicken auf ein Element können Sie es im vordefinierten Bereich verschieben und die x/y-Koordinaten werden dynamisch aktualisiert. Wenn Sie eine neue Position direkt in das Eingabefeld eingeben, ändert sich auch die neue Position im Scratchboard, nachdem der Cursor das Eingabefeld verlassen hat.

Sie müssen auf den ‚OK‘-Button unterhalb der Tabellen klicken, um die neuen Positionen zu speichern. Wenn Sie ein neues Element platzieren möchten, fügen Sie es zuerst der Tabelle der Elemente hinzu und ziehen Sie es dann herum.

Durch Ändern des Papierformats und der Ausrichtung können Sie auch die Größe des Scratchboards ändern. Sie können dies tun, indem Sie einfach das Dropdown-Feld unten ändern, die Größe des Scratchboards wird automatisch angepasst, ohne die aktuelle Platzierung der Elemente zu stören.

Wenn ein Element aus dem Bereich gerät, können Sie entweder das Papierformat vergrößern oder auf die Schaltfläche „Zurücksetzen“ klicken, um alle Elemente untereinander zu platzieren.

6.29 Warum erhalte ich kein Diagramm aus meiner Abfrageergebnistabelle?

Nicht jede Tabelle kann in das Diagramm aufgenommen werden. Es können nur Tabellen mit einer, zwei oder drei Spalten als Diagramm dargestellt werden. Außerdem muss die Tabelle in einem speziellen Format vorliegen, damit das Diagrammskript sie verstehen kann. Derzeit unterstützte Formate finden Sie in Diagramme.

6.30 Import: Wie kann ich ESRI Shapefiles importieren?

Ein ESRI Shapefile ist eigentlich ein Satz von mehreren Dateien, wobei die .shp-Datei Geometriedaten und die .dbf-Datei Daten zu diesen Geometriedaten enthält. Um Daten aus einer.dbf-Datei lesen zu können, muss PHP mit der dBase-Erweiterung (–enable-dbase) kompiliert sein. Ansonsten werden nur Geometriedaten importiert.

Um diese Dateien hochzuladen, können Sie eine der folgenden Methoden verwenden:

Konfigurieren Sie das Upload-Verzeichnis mit $cfg['UploadDir'], laden Sie sowohl .shp- als auch .dbf-Dateien mit dem gleichen Dateinamen hoch und wählen Sie die .shp-Datei von der Import-Seite.

Erstellen Sie ein Zip-Archiv mit .shp- und .dbf-Dateien und importieren Sie es. Damit dies funktioniert, müssen Sie config:option:`$cfg[‚TempDir‘] auf einen Pfad setzen, in den der Webserver-Benutzer schreiben kann (z.B. ./tmp').

Um das temporäre Verzeichnis auf einem UNIX-basierten System anzulegen, können Sie folgendes tun:

cd phpMyAdmin
mkdir tmp
chmod o+rwx tmp

6.31 Wie erstelle ich eine Beziehung im Designer?

Um eine Beziehung auszuwählen, klicken Sie auf: Die Anzeigespalte wird in rosa dargestellt. Um eine Spalte als Anzeigespalte zu setzen/deaktivieren, klicken Sie auf das Symbol „Spalte zur Anzeige auswählen“ und dann auf den entsprechenden Spaltennamen.

6.32 Wie kann ich die Zoom-Suchfunktion nutzen?

Die Zoom-Suchfunktion ist eine Alternative zur Tabellensuchfunktion. Es erlaubt Ihnen, eine Tabelle zu untersuchen, indem Sie ihre Daten in einem Streudiagramm darstellen. Sie finden diese Funktion, indem Sie eine Tabelle auswählen und auf die Registerkarte Suchen klicken. Eine der Unterregisterkarten auf der Seite Table Search ist Zoom Search.

Betrachten wir die Tabelle REL_persons in 6.6 Wie kann ich die Relationstabelle in Query-by-example verwenden? als Beispiel. Um die Zoom-Suche nutzen zu können, müssen zwei Spalten ausgewählt werden, z.B. id und town_code. Die ID-Werte werden auf der einen Achse und die Werte des Ortscodes auf der anderen Achse dargestellt. Jede Zeile wird als Punkt in einem Streudiagramm dargestellt, basierend auf der ID und dem Ortscode. Neben den beiden anzuzeigenden Feldern können Sie zwei weitere Suchkriterien aufnehmen.

Sie können wählen, welches Feld als Beschriftung für jeden Punkt angezeigt werden soll. Wenn eine Anzeigespalte für die Tabelle gesetzt wurde (siehe 6.7 Wie kann ich die Funktion „Spalte anzeigen“ verwenden?), wird diese als Label verwendet, sofern Sie nichts anderes angeben. Sie können auch die maximale Anzahl von Zeilen auswählen, die im Diagramm angezeigt werden sollen, indem Sie diese im Feld „Max rows to plot“ angeben. Wenn Sie sich für Ihre Kriterien entschieden haben, klicken Sie auf „Go“, um das Diagramm anzuzeigen.

Nachdem das Diagramm erstellt wurde, können Sie mit dem Mausrad in das Diagramm hinein- und herauszoomen. Zusätzlich ist die Schwenkfunktion aktiviert, um durch das Diagramm zu navigieren. Sie können bis zu einer bestimmten Detailtiefe vergrößern und mit dem Schwenken Ihr Interessengebiet finden. Ein Klick auf einen Punkt öffnet eine Dialogbox, in der die Feldwerte der durch den Punkt dargestellten Datenzeile angezeigt werden. Sie können die Werte bei Bedarf bearbeiten und auf Senden klicken, um eine Update-Abfrage zu starten. Grundlegende Anweisungen zur Benutzung können durch Klicken auf den Link „Wie nutzen?“ direkt über dem Diagramm eingesehen werden.

6.33 Wie kann ich beim Durchsuchen einer Tabelle einen Spaltennamen kopieren?

Die Auswahl des Spaltennamens zum Kopieren innerhalb der Kopfzelle der Tabelle ist schwierig, da die Spalten eine Neuanordnung durch Ziehen der Kopfzellen sowie das Sortieren durch Klicken auf den verknüpften Spaltennamen unterstützen. Um einen Spaltennamen zu kopieren, doppelklicken Sie auf den leeren Bereich neben dem Spaltennamen, wenn der Tooltip Sie dazu auffordert. Es erscheint ein Eingabefeld mit dem Spaltennamen. Sie können den Spaltennamen in diesem Eingabefeld mit der rechten Maustaste anklicken, um ihn in die Zwischenablage zu kopieren.

6.34 Wie kann ich die Favoriten-Tabellen-Funktion verwenden?

Die Funktion „Favoriten-Tabellen“ ist der Funktion „Aktuelle Tabellen“ sehr ähnlich. Sie können damit eine Verknüpfung für die häufig verwendeten Tabellen einer beliebigen Datenbank im Navigations-Panel hinzufügen. Sie können einfach zu einer beliebigen Tabelle in der Liste navigieren, indem Sie diese aus der Liste auswählen. Diese Tabellen werden im lokalen Speicher Ihres Browsers gespeichert, wenn Sie Ihren phpMyAdmin Configuration Storage nicht konfiguriert haben. Ansonsten werden diese Einträge im phpMyAdmin Configuration Storage gespeichert.

WICHTIG: In Abwesenheit von phpMyAdmin Configuration Storage können Ihre Favoriten-Tabellen in verschiedenen Browsern unterschiedlich sein.

Um eine Tabelle zur Favoritenliste hinzuzufügen, klicken Sie einfach auf den grauen Stern vor einem Tabellennamen in der Liste der Tabellen einer Datenbank und warten Sie, bis er gelb wird. Um eine Tabelle aus der Liste zu entfernen, klicken Sie einfach auf den gelben Stern und warten Sie, bis er wieder grau wird.

Mittels $cfg['NumFavoriteTables'] in Ihrer config.inc.php können Sie die maximale Anzahl der im Navigationsbereich angezeigten Favoriten-Tabellen festlegen. Sein Standardwert ist 10.

6.35 Wie kann ich die Bereichssuche nutzen?

Mit Hilfe der Bereichssuche kann man einen Wertebereich für bestimmte Spalten angeben, während man eine Suche in einer Tabelle aus der Registerkarte „Suche“ durchführt.

Um diese Funktion zu nutzen, klicken Sie einfach auf die Operatoren BETWEEN oder NOT BETWEEN aus der Operator-Auswahlliste vor dem Spaltennamen. Wenn Sie eine der obigen Optionen wählen, erscheint ein Dialogfeld, in dem Sie nach dem „Minimum“ und „Maximum“ für diese Spalte gefragt werden. Nur der angegebene Wertebereich wird bei BETWEEN berücksichtigt und bei NOT BETWEEN vom Endergebnis ausgeschlossen.

Hinweis: Die Bereichssuche funktioniert nur mit den Datentyp-Spalten Numerisch und Datum.

6.36 Was sind zentrale Spalten und wie kann ich diese Funktion nutzen?

Wie der Name schon sagt, ermöglicht die Funktion Zentrale Spalten die Pflege einer zentralen Liste von Spalten pro Datenbank, um ähnliche Namen für dasselbe Datenelement zu vermeiden und die Konsistenz des Datentyps für das selbe Datenelement zu gewährleisten. Sie können die zentrale Liste der Spalten verwenden, um ein Element zu einer beliebigen Tabellenstruktur in dieser Datenbank hinzuzufügen, die das Schreiben ähnlicher Spaltennamen und Spaltendefinitionen erspart.

Um eine Spalte zur zentralen Liste hinzuzufügen, gehen Sie auf die Seite der Tabellenstruktur, markieren Sie die Spalten, die Sie aufnehmen möchten und klicken Sie dann einfach auf „Zu zentralen Spalten hinzufügen“. Wenn Sie alle eindeutigen Spalten aus mehr als einer Tabelle aus einer Datenbank hinzufügen möchten, gehen Sie zur Seite der Datenbankstruktur, überprüfen Sie die einzubindenden Tabellen und wählen Sie dann „Spalten zur zentralen Liste hinzufügen“.

Um eine Spalte aus der zentralen Liste zu entfernen, gehen Sie auf die Seite Tabellenstruktur, markieren Sie die zu entfernenden Spalten und klicken Sie dann einfach auf „Aus zentralen Spalten entfernen“. Wenn Sie alle Spalten aus mehr als einer Tabelle aus einer Datenbank entfernen möchten, gehen Sie auf die Seite Datenbankstruktur, überprüfen Sie die zu berüchsichtigenden Tabellen und wählen Sie dann „Spalten aus der zentralen Liste entfernen“.

Um die zentrale Liste anzuzeigen und zu verwalten, wählen Sie die Datenbank aus, für die Sie die zentralen Spalten verwalten möchten, und klicken Sie dann im oberen Menü auf „Zentrale Spalten“. Sie werden zu einer Seite weitergeleitet, auf der Sie Optionen zum Bearbeiten, Löschen oder Hinzufügen neuer Spalten zur zentralen Liste haben.

6.37 Wie kann ich die Funktion Tabellenstruktur verbessern verwenden?

Die Funktion Tabellenstruktur verbessern hilft, die Tabellenstruktur auf die dritte Normalform zu bringen. Dem Benutzer wird ein Assistent präsentiert, der während der verschiedenen Schritte der Normalisierung Fragen zu den Elementen stellt und eine neue Struktur wird entsprechend vorgeschlagen, um die Tabelle in die Erste/Zweite/Dritte Normalform zu bringen. Beim Start des Assistenten kann der Benutzer auswählen, bis zu welcher Normalform er die Tabellenstruktur normalisieren möchte.

Hier ist eine Beispieltabelle, mit der Sie alle drei Normalformen (erste, zweite und dritte) testen können.

CREATE TABLE `VetOffice` (
 `petName` varchar(64) NOT NULL,
 `petBreed` varchar(64) NOT NULL,
 `petType` varchar(64) NOT NULL,
 `petDOB` date NOT NULL,
 `ownerLastName` varchar(64) NOT NULL,
 `ownerFirstName` varchar(64) NOT NULL,
 `ownerPhone1` int(12) NOT NULL,
 `ownerPhone2` int(12) NOT NULL,
 `ownerEmail` varchar(64) NOT NULL,
);

Die obige Tabelle ist nicht in der ersten Normalform, da kein primary key existiert. Der Primärschlüssel sollte (petName,`ownerLastName`,`ownerFirstName`) sein. Wird der Begriff:primary key wie vorgeschlagen gewählt, ist die resultierende Tabelle nicht in der zweiten und dritten Normalform, da die folgenden Abhängigkeiten bestehen.

(OwnerLastName, OwnerFirstName) -> OwnerEmail
(OwnerLastName, OwnerFirstName) -> OwnerPhone
PetBreed -> PetType

Das heißt, OwnerEmail hängt von OwnerLastName und OwnerFirstName ab. OwnerPhone ist abhängig von OwnerLastName und OwnerFirstName. PetType hängt von PetBreed ab.

6.38 Wie kann ich auto-inkrementierte Werte neu zuweisen?

Einige Benutzer bevorzugen aufeinanderfolgende AUTO_INCREMENT-Werte; dies ist nach dem Löschen von Zeilen nicht immer der Fall.

Hier sind die Schritte, um dies zu erreichen. Dies sind manuelle Schritte, da sie eine manuelle Überprüfung an einer Stelle beinhalten.

  • Stellen Sie sicher, dass Sie exklusiven Zugriff auf die Tabelle haben, um sie neu anzuordnen
  • Entfernen Sie in der Spalte primary key (z.B. id) die Einstellung AUTO_INCREMENT
  • Löschen Sie Ihren Primärschlüssel unter Struktur > Indizes
  • Erstellen Sie eine neue Spalte future_id als Primärschlüssel, AUTO_INCREMENT
  • Durchsuchen Sie Ihre Tabelle und vergewissern Sie sich, dass die neuen Inkremente Ihren Erwartungen entsprechen
  • Löschen Sie Ihre alte id-Spalte
  • Benennen Sie die Spalte future_id in id um
  • Verschieben Sie die neue id-Spalte über Struktur > Spalten verschieben

6.39 Wofür ist die Option „Berechtigungen anpassen“ beim Umbenennen, Kopieren oder Verschieben einer Datenbank, Tabelle, Spalte oder Prozedur?

Beim Umbenennen/Kopieren/Verschieben einer Datenbank/Tabelle/Spalte/Prozedur passt MySQL die ursprünglichen Berechtigungen für diese Objekte nicht selbst an. Durch Auswahl dieser Option passt phpMyAdmin die Berechtigungstabelle so an, dass die Benutzer die gleichen Rechte auch für die neuen Elemente haben.

Zum Beispiel: ein Benutzer ‚bob‘@‘localhost‘ hat die ‚SELECT‘-Berechtigung auf eine Spalte namens ‚id‘. Wenn diese Spalte nun in ‚id_new‘ umbenannt wird, würde MySQL die Spaltenprivilegien nicht an den neuen Spaltennamen anpassen. phpMyAdmin kann diese Anpassung für Sie automatisch vornehmen.

Anmerkungen:

  • Bei der Anpassung der Berechtigungen für eine Datenbank werden auch die Berechtigungen aller datenbankbezogenen Elemente (Tabellen, Spalten und Prozeduren) an den neuen Namen der Datenbank angepasst.
  • Ebenso werden beim Anpassen von Berechtigungen für eine Tabelle auch die Berechtigungen aller Spalten innerhalb der neuen Tabelle angepasst.
  • Beim Anpassen der Berechtigungen muss der Benutzer, der die Operation ausführt, die folgenden Berechtigungen haben:
    • SELECT, INSERT, UPDATE, DELETE Berechtigungen auf folgenden Tabellen: mysql.`db`, mysql.`spalten_priv`, mysql.`tables_priv`, mysql.`procs_priv`
    • FLUSH-Berechtigung (GLOBAL)

Wenn Sie also die Datenbank/Tabelle/Spalte/Prozedur beim Umbenennen/Kopieren/Verschieben dieser Objekte nachbilden wollen, stellen Sie sicher, dass Sie diese Option aktiviert haben.

6.40 Ich sehe das Kontrollkästchen „Bind parameters“ auf der Seite „SQL“. Wie schreibe ich parametrisierte SQL-Abfragen?

Ab Version 4.5 ermöglicht phpMyAdmin die Ausführung von parametrisierten Abfragen auf der Seite „SQL“. Parameter sollten einen Doppelpunkt (:) vorangestellt werden und wenn das Kontrollkästchen „Bind parameters“ aktiviert ist, werden diese Parameter identifiziert und Eingabefelder für diese Parameter angezeigt. Die in diesem Feld eingegebenen Werte werden in der Abfrage vor der Ausführung ersetzt.

6.41 Ich bekomme Importfehler beim Importieren der aus älteren MySQL-Versionen (vor 5.7.6) exportierten Dumps in neuere MySQL-Versionen (ab 5.7.7), aber sie funktionieren gut, wenn sie wieder auf denselben älteren Versionen importiert werden?

Wenn Sie Fehler wie #1031 - Table storage engine for ‚table_name‘ doesn’t have this option beim Import der von MySQL-Servern vor 5.7.7 exportierten Dumps in neue MySQL-Serverversionen ab 5.7.7 erhalten, kann es sein, dass ROW_FORMAT=FIXED von InnoDB-Tabellen nicht unterstützt wird. Außerdem würde der Wert von innodb_strict_mode festlegen, ob dies als Warnung oder als Fehler gemeldet wird.

Seit MySQL Version 5.7.9 ist der Standardwert für innodb_strict_mode ON und würde daher einen Fehler erzeugen, wenn eine solche CREATE TABLE- oder ALTER TABLE-Anweisung auftritt.

Es gibt zwei Möglichkeiten, solche Fehler beim Import zu vermeiden:

  • Ändern Sie den Wert von innodb_strict_mode auf OFF, bevor Sie den Import starten und schalten Sie ihn nach dem erfolgreichen Abschluss des Imports ein.
  • Dies kann auf zwei Arten erreicht werden:
    • Gehen Sie zur Seite ‚Variablen‘ und bearbeiten Sie den Wert von innodb_strict_mode
    • Führen Sie die Abfrage SET GLOBAL `innodb_strict_mode = ‚[Wert]‘` aus

Nach dem Import wird vorgeschlagen, den Wert von innodb_strict_mode auf den ursprünglichen Wert zurückzusetzen.

phpMyAdmin-Projekt

7.1 Ich habe einen Fehler gefunden. Wie informiere ich die Entwickler?

Unser Issues Tracker befindet sich unter <https://github.com/phpmyadmin/phpmyadmin/issues>. Für Sicherheitsfragen lesen Sie bitte die Anweisungen unter <https://www.phpmyadmin.net/security>, um die Entwickler direkt per E-Mail zu kontaktieren.

7.2 Ich möchte die Nachrichten in eine neue Sprache übersetzen oder eine bestehende Sprache aktualisieren, wo fange ich an?

Übersetzungen sind sehr willkommen. Alles, was Sie brauchen, sind Sprachkenntnisse. Das einfachste ist, unseren `Online-Übersetzungsservice <https://hosted.weblate.org/projects/phpmyadmin/>``_ zu nutzen. Sie können alle Möglichkeiten zum Übersetzen im translate Abschnitt auf unserer Website ausprobieren.

7.3 Ich möchte bei der Entwicklung von phpMyAdmin helfen. Wie soll ich vorgehen?

Wir freuen uns über jeden Beitrag zur Entwicklung von phpMyAdmin. Sie können über alle Möglichkeiten, einen Beitrag zu leisten, auf unserer Website unter <https://www.phpmyadmin.net/contribute/>`_ lesen.

Sicherheit

8.1 Wo erhalte ich Informationen über die Sicherheitswarnungen für phpMyAdmin?

Bitte beachten Sie <https://www.phpmyadmin.net/security/>.

8.2 Wie kann ich phpMyAdmin vor Brute-Force-Angriffen schützen?

Wenn Sie den Apache-Webserver verwenden, exportiert phpMyAdmin Informationen über die Authentifizierung in die Apache-Umgebung und kann in Apache-Protokollen verwendet werden. Derzeit stehen zwei Variablen zur Verfügung:

userID
Benutzername des aktuell aktiven Benutzers (er muss nicht angemeldet sein).
userStatus
Status des aktuell aktiven Benutzers, einer von: `ok (Benutzer ist angemeldet), mysql-denied (MySQL verweigerte Benutzeranmeldung), allow-denied (Benutzer verweigert durch allow/deny-Regeln), root-denied (root wird in der Konfiguration verweigert), empty-denied (leeres Passwort wird verweigert).

Die LogFormat Richtlinie für Apache kann wie folgt aussehen:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n"   pma_combined

Sie können dann beliebige Protokollanalysewerkzeuge verwenden, um mögliche Einbruchsversuche zu erkennen.

8.3 Warum gibt es Pfadangaben beim direkten Laden bestimmter Dateien?

Dies ist ein Serverkonfigurationsproblem. Aktivieren Sie niemals display_errors auf einer Produktions-Site.

8.4 CSV-Dateien, die aus phpMyAdmin exportiert wurden, könnten einen Formel-Injektionsangriff ermöglichen.

Es ist möglich, eine CSV Datei zu erzeugen, die beim Import in ein Tabellenkalkulationsprogramm wie Microsoft Excel die Ausführung beliebiger Befehle ermöglicht.

Die von phpMyAdmin erzeugten CSV-Dateien könnten möglicherweise Text enthalten, der von einem Tabellenkalkulationsprogramm als Formel interpretiert werden würde, aber wir glauben nicht, dass es das richtige Verhalten ist, diese Felder zu escapen. Es gibt keine Möglichkeit, zwischen einer gewünschten Textausgabe und einer Formel, die escaped werden soll, zu unterscheiden und CSV ist ein Textformat, in dem Funktionsdefinitionen sowieso nicht interpretiert werden sollten. Wir haben dies ausführlich diskutiert und sind der Meinung, dass es stattdessen in der Verantwortung des Tabellenkalkulationsprogramms liegt, solche Daten korrekt zu analysieren und zu bereinigen.

Google hat auch eine ähnliche Ansicht.

Synchronisierung

9.1 (zurückgezogen).

9.2 (zurückgezogen).