2017-12-08 4 views
1

zu bearbeiten Ich weiß, Informationsschema ist nur lesbar, aber ich lief auf ein Problem. Ich habe MySQL-Datenbank importiert. Information_schema db wurde ebenfalls kopiert. Seine 'Views' Tabelle hat ein definiertes Set. Ich möchte dies ändern, da dies Probleme beim Zugriff auf einige Tabellen verursacht.Gibt es eine Möglichkeit, Information_schema in mysql

Es gibt mir Zugriff verweigert root, die alle Berechtigungen hat, und ich habe auch versucht, mysql mit --skip-Grant-Tabellen-Option, aber ohne Hilfe.

Gibt es eine Möglichkeit, den Definierer zu ändern?

Hinweis: seine InnoDB

+1

Nein. "INFORMATION_SCHEMA" kann nicht bearbeitet werden, da es sich nicht um echte gespeicherte Daten handelt. Es ist eine Projektion Ihres aktuellen Datenbank-Setups, das Zeug wie Meta-Informationen, Berechtigungsbeschreibungen usw. enthält. Es basiert auf Ihren anderen Daten, es ist keine unabhängige Sache. –

+0

Ich habe eine Alternative zu meinem ursprünglichen Problem, wo ich nicht auf ein paar Tabellen zugreifen konnte. Ich habe einen neuen Benutzer erstellt, der in meiner Benutzertabelle als Definierer festgelegt wurde und fehlt. Aber ich möchte immer noch wissen, ob es irgendeinen Weg gibt, den Definierer zu ändern, wenn das information_schema db ebenfalls gelöscht wird. –

Antwort

2

Wie in der manual erwähnt:

Innen INFORMATION_SCHEMA gibt es mehrere Nur-Lese-Tabellen. Sie sind tatsächlich Ansichten, keine Basistabellen, daher sind ihnen keine Dateien zugeordnet, und Sie können keine Trigger für sie festlegen. Außerdem gibt es kein Datenbankverzeichnis mit diesem Namen.

Daher sind sie nur lesbar und können nicht manipuliert werden.

1

Ich habe Lösung für das ursprüngliche Problem, das ich konfrontiert, nicht die Tabellen zugreifen: 1) Erstellen Sie Benutzer, die nicht erstellt wurde. 2) Es gab tatsächlich eine Ansicht, die einen Definierer hatte. Ich habe die Ansicht verworfen und mit dem Definierer als meinen eigenen Benutzer neu erstellt.

+0

Sie können auch die Syntax CREATE OR REPLACE VIEW verwenden, anstatt DROP und CREATE zu trennen, um dasselbe Ergebnis zu erzielen. –

Verwandte Themen