有没有类似的查询
伪代码:
SELECT databases FROM mysql.databases WHERE owner = 'myUser'
或任何可以完成这项工作的查询?
有没有类似的查询
伪代码:
SELECT databases FROM mysql.databases WHERE owner = 'myUser'
或任何可以完成这项工作的查询?
SELECT COUNT(*) FROM information_schema.SCHEMATA;
(以问题中的用户身份运行)
SELECT count(*) FROM (
SELECT DISTINCT TABLE_SCHEMA FROM information_schema.SCHEMA_PRIVILEGES WHERE GRANTEE LIKE("'USERNAME'%") GROUP BY TABLE_SCHEMA
) AS baseview;
(以root身份运行)
警告:在 MySQL 中没有数据库的“所有者”之类的东西,上述查询将显示有关用户具有某种访问权限的数据库的信息。
据我所知,在 MySQL 中没有数据库或其对象的“所有者”的概念,就像在 MS Access 和 MS SQL Server 中一样。我从 mysql 系统表中任何地方都缺少“所有者”字段来推测这一点。(http://www.wideman-one.com/gw/tech/mysql/perms/index.htm)
可以统计mysql数据库和db表中一个用户关联了多少个数据库。这是我能想到的最接近用户对数据库的“所有权”。
SELECT count(DISTINCT Db) FROM db WHERE User = 'someuser';
您运行 sql,然后您会看到表的所有者用户。
sql是select * from information_schema. SCHEMA_PRIVILEGES where TABLE_SCHEMA='myUser'
仅显示所有数据库使用
SELECT * FROM information_schema.SCHEMATA;