9

のようなクエリはありますか

疑似コード:

SELECT databases FROM mysql.databases WHERE owner = 'myUser'

または仕事をするクエリはありますか?

4

6 に答える 6

11
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;

(ルートとして実行)

警告:MySQLにはデータベースの「所有者」などはありません。上記のクエリは、ユーザーがアクセスできるデータベースに関する情報を表示します。

于 2012-06-03T00:46:28.617 に答える
1

mysqlデータベースとdbテーブルでユーザーに関連付けられているデータベースの数を数えることができます。これは、ユーザーによるデータベースの「所有権」に最も近いと思います。

SELECT count(DISTINCT Db) FROM db WHERE User = 'someuser'; 
于 2012-06-03T00:51:20.470 に答える
1

私が知る限り、MySQL にはデータベースまたはそのオブジェクトの「所有者」という概念はありません。MS Access や MS SQL Server にはあります。これは、mysql システム テーブルのどこにも「所有者」フィールドがないことから推測します。(http://www.wideman-one.com/gw/tech/mysql/perms/index.htm)

于 2012-06-03T00:42:51.530 に答える
0

使用することによって:

SHOW DATABASES

グローバルなSHOWDATABASES特権を持っていない限り、ある種の特権を持っているデータベースのみを表示できます。

何を達成できるかをよりよく理解するには、SHOWDATABASES構文をお読みください。

于 2012-06-03T00:44:37.380 に答える
0

SQL を実行すると、テーブルの所有者ユーザーが表示されます。

SQLはselect * from information_schema. SCHEMA_PRIVILEGES where TABLE_SCHEMA='myUser'

information_schema.SCHEMATA の詳細

于 2014-09-04T08:19:44.843 に答える