2016-06-26 22 views
3

Läuft WAMP localhost server Mit PHP 5.6.18 und MySQL 5.7.11

Im Projekt, dass ich jetzt arbeiten muss ich einige Spalten Daten Formular information_schema. COLUMNS Tabelle, aber information_schema DB ist komplett leer - 0 Zeilen für jede Tabelle in diesem DB

Für zusätzliche Informationen - Ich habe 10 verschiedene DB auf diesem MySQL, einige sind importiert einige werden von Grund auf in phpmyadmin gemacht.
Also ich bin komplett verloren - versucht zu google aber kein Glück.

Vielleicht vermisse ich etwas Wesentliches und Triviales wie eine Konfiguration von MySQL?mysql information_schema leer und nicht bevölkert

Antwort

0

Manchmal kann dies Problem sein, wenn Sie kopieren und die Ordner der Datenbank in mysql-Ordner einfügen. Kopiere nicht so. Der beste Weg, um die Datenbanken zu exportieren mit "Export" -Befehl in "phpmyadmin" oder verwenden Sie "mysqldump" -Befehl in mysql Befehlszeilenclient, um die Daten zu kopieren oder Daten von einem zum anderen zu exportieren. Es wird "yourdata.sql" -Datei an der last, Sie können diese Daten mit "Export-Befehl in" phpmyadmin "importieren. In Ihrer Methode ist erfolgreich für" MyISAM "-Datenbank-Treiber in mysql. Moderne mysql Server Standard-Datenbanktreiber ist" InnoDB "und es nicht erfolgreich beim Kopieren der Datenbankdaten Ordner auf einem anderen Computer Wenn Sie eine Kopie der vorherigen Kopie der Datenbanken von dem alten Computer haben, versuchen Sie, die Datei "yourdata.sql" über die Exportmethode in der Webschnittstelle "phpmyadmin" zu exportieren

+0

Ich habe keine Ordner im MySQL-Ordner verschoben, und ich importiere immer Datenbanken über phpmyadmin Import-Funktion, und alle Datenbanken, die ich importiert habe, stammten aus phpmyadmin exportierten mysql-Dump-Dateien - .sql –

+0

Haben Sie versucht, den Befehlszeilen-Client in mysql. Wenn die Datenbanken und Tabellen mithilfe des Befehlszeilenclients mysql angezeigt werden können, ist das kein Problem. Sie können Ihren Entwicklungsprozess fortsetzen. Manchmal wird der Fehler in der Installation von wamp auftreten. – kaviranga

+0

Datenbanken und Tabellen sind in MySQL und sind in Ordnung, Problem ist, dass "information_schema" leer ist - es gibt keine Informationen über meine anderen Datenbanken in MySQL, die ich aus phpmyadmin importiert und gemacht habe –

1

Führen Sie diese Abfrage aus:

mysql> SHOW GRANTS;

Dies zeigt Ihnen, dass Sie sich entweder nicht als der Benutzer anmelden, den Sie verwenden möchten, oder dass diesem Benutzer Berechtigungen für die fraglichen Tabellen fehlen.

In diesem Fall hat der Benutzer möglicherweise überhaupt keine Berechtigungen. MySQL hat eine spezielle Berechtigung namens USAGE, die leicht täuschend benannt erscheinen mag, wenn Sie nicht wissen, was es bedeutet. Es bedeutet, dass Sie den Server "benutzen" können - das heißt, Sie können sich einloggen. Aber das ist alles, was es bedeutet. Wenn Sie nur das Privileg USAGE ON *.* besitzen, bedeutet dies, dass Sie berechtigt sind, sich beim Server anzumelden, aber keine Berechtigungen für irgendetwas anderes.

Die information_schema ist in das Berechtigungssystem integriert. Sie können keine Informationen zu Datenbankobjekten anzeigen, für die Sie keine Berechtigungen haben. Eine leere information_schema.columns Tabelle schlägt ein Berechtigungsproblem für den Benutzer vor, den Sie verwenden, um eine Verbindung mit dem Server herzustellen.

+0

Ich habe diese Antwort - GRANT alle Privilegien auf *. * 'Root' @ 'Localhost' so was bedeutet es, dass ich Information_schema Daten nicht verwenden und sehen kann? Wie ändere ich diese Erlaubnis? –

+0

Dieser Benutzer sollte in der Lage sein, alles zu sehen. Von hier, von genau dem gleichen Ort, wo Sie dieses Ergebnis erhalten haben, erscheint information_schema.columns noch leer? Was ist mit 'SHOW DATABASES;'? –

+0

Ich sehe, dass Kommentare nicht erlauben asterix - seine Asterix Punkt asterix zwischen ON und TO –