Wie "show databases", die gehören zu einem bestimmten Benutzer in MySQL?

"show databases" zeigt alle Datenbanken, in denen Sie (angemeldeter Benutzer) haben einige Privilegien.

Gibt es eine Möglichkeit zu zeigen, dass alle Datenbanken, die wo-user "xxx" hat einige Rechte?

Bearbeiten:
Ich habe einen Benutzer "mickey":

mysql> show grants for mickey;
+-------------------------------------------------------------------------------------------------------+
| Grants for mickey@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'mickey'@'%' IDENTIFIED BY PASSWORD '*B9E506CBC9D7D8352A3C02DBC94677A5DEF491B8' |
| GRANT ALL PRIVILEGES ON `mickey\_%`.* TO 'mickey'@'%'                                                 |
+-------------------------------------------------------------------------------------------------------+

Benutzer mickey darf, erstellen/löschen von Datenbanken und Tabellen mit dem Namen "mickey_%". Das herausfiltern dieser Datenbanken ist einfach, aber nur, weil seine Datenbanken haben den Präfix "mickey_".

es ist eine Datenbanken namens "mickey_example2", wo mickey hat alle Privilegien. Ich bin nicht in der Lage zu finden diese Datenbank information_schema oder mysql db.

- Und dies ist die einzige information, die über 'mickey' in information_schema.USER_PRIVILEGES:

mysql> SELECT * FROM information_schema.USER_PRIVILEGES WHERE GRANTEE LIKE '%mickey%';
+--------------+---------------+----------------+--------------+
| GRANTEE      | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------+---------------+----------------+--------------+
| 'mickey'@'%' | def           | USAGE          | NO           |
+--------------+---------------+----------------+--------------+

MySql-Handbuch sagt:

MySQL implementiert Datenbanken als Verzeichnisse im data-Verzeichnis, also
diese Anweisung listet einfach nur die Verzeichnisse in diesem Verzeichnis aus. Jedoch, die
die Ausgabe kann auch die Namen der Verzeichnisse, die dem nicht entsprechen
aktuelle Datenbanken.

was für mich bedeutet, dass es nicht um beliebige Informationen (über die bestehenden Datenbanken) verfügbar in information_schema, vor allem, wenn die Datenbank leer ist.

InformationsquelleAutor toktok | 2012-08-14
Schreibe einen Kommentar