ユーザーテナントは、一般的なデータベース管理システムに相当し、一つのデータベースインスタンスと見なすことができます。これは、システムテナントが業務上のニーズに基づいて作成されます。 ユーザーテナントは、インスタンスが備えるべきすべての特性を持っており、主に以下が含まれます:
- 自分自身のユーザーを作成できます
- データベース(MySQL互換モードのみサポート)、テーブル(table)など、すべてのオブジェクトを作成できます
- 独立したシステムテーブルとシステムビューを持っています
- 独立したシステム変数を持っています
- データベースインスタンスが備えるその他の特性
すべてのユーザーデータのメタ情報はユーザーテナントに格納されているため、各テナントは独自のネームスペースを持ち、互いに隔離されておりアクセスできません。システムテナントはすべてのユーザーテナントを管理しており、システムテナントとユーザーテナント間の階層関係は以下の図のとおりです。

ユーザーテナント内で作成されたユーザーは、そのテナントにのみログイン可能であり、他のテナントからは見えません。
- MySQL互換モードのテナントでは、ビュー
mysql.userからユーザー情報を照会できます。 - Oracle互換モードのテナントでは、システムビュー
ALL_USERSからユーザー情報を照会できます。
ユーザーテナント内でテーブルを作成することができ、作成後は他のテナントからは見えません。
- MySQL互換モードのテナントでは、
information_schema.tablesビューからそのテナント内のすべてのユーザーテーブルの情報を照会できます。 - Oracle互換モードのテナントでは、
ALL_TABLESビューからそのテナント内のすべてのユーザーテーブルの情報を照会できます。
ユーザーテナントは、そのテナント内でのみ、そのテナントのシステム変数を変更できます。
- MySQL互換モードのテナントでは、
information_schema.global_variablesおよびinformation_schema.session_variablesビューからシステム変数情報を照会できます。また、SHOW VARIABLESステートメントを使用して照会することもできます。 - Oracle互換モードのテナントでは、
SHOW VARIABLESステートメントを使用して、そのテナントのすべてのシステム変数を照会できます。