のようなクエリはありますか
疑似コード:
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;
(ルートとして実行)
警告:MySQLにはデータベースの「所有者」などはありません。上記のクエリは、ユーザーがアクセスできるデータベースに関する情報を表示します。
mysqlデータベースとdbテーブルでユーザーに関連付けられているデータベースの数を数えることができます。これは、ユーザーによるデータベースの「所有権」に最も近いと思います。
SELECT count(DISTINCT Db) FROM db WHERE User = 'someuser';
私が知る限り、MySQL にはデータベースまたはそのオブジェクトの「所有者」という概念はありません。MS Access や MS SQL Server にはあります。これは、mysql システム テーブルのどこにも「所有者」フィールドがないことから推測します。(http://www.wideman-one.com/gw/tech/mysql/perms/index.htm)
使用することによって:
SHOW DATABASES
グローバルなSHOWDATABASES特権を持っていない限り、ある種の特権を持っているデータベースのみを表示できます。
何を達成できるかをよりよく理解するには、SHOWDATABASES構文をお読みください。
SQL を実行すると、テーブルの所有者ユーザーが表示されます。
SQLはselect * from information_schema. SCHEMA_PRIVILEGES where TABLE_SCHEMA='myUser'