ApsaraDB RDS for MySQL では、特権アカウントと標準アカウントの 2 種類のアカウントが提供されており、それぞれに固定された一連の MySQL 権限が割り当てられています。以下の表には、サポートされるすべての権限が一覧表示されています。この表に記載されていない権限は付与できません。
アプリケーションには、必要最小限の権限を持つ標準アカウントをご利用ください。特権アカウントは、管理タスク専用に予約してください。
アカウントと権限
特権アカウント
特権アカウントは、選択した権限モード(読み取り専用、読み書き、DDL 専用、DML 専用)に関係なく、常に同一の完全な権限セットを持ちます:
ALTER、ALTER ROUTINE、CREATE、CREATE VIEW、CREATE ROUTINE、CREATE USER、CREATE TEMPORARY TABLES、DELETE、DROP、EVENT、EXECUTE、INDEX、INSERT、LOCK TABLES、PROCESS、RELOAD、REFERENCES、REPLICATION SLAVE、REPLICATION CLIENT、SELECT、SHOW VIEW、TRIGGER、UPDATE
標準アカウント
標準アカウントに付与される権限は、アカウント作成時または変更時に選択した権限モードによって異なります:
| 権限モード | 権限 |
|---|---|
| 読み取り専用 | REPLICATION SLAVE、REPLICATION CLIENT、SELECT、SHOW VIEW |
| 読み書き | ALTER、ALTER ROUTINE、CREATE、CREATE TEMPORARY TABLES、CREATE VIEW、CREATE ROUTINE、DELETE、DROP、EVENT、EXECUTE、INSERT、INDEX、LOCK TABLES、PROCESS、REFERENCES、REPLICATION SLAVE、REPLICATION CLIENT、SELECT、SHOW VIEW、TRIGGER、UPDATE |
| DDL 専用 | ALTER、ALTER ROUTINE、CREATE、CREATE VIEW、CREATE TEMPORARY TABLES、CREATE ROUTINE、DROP、INDEX、LOCK TABLES、PROCESS、REPLICATION SLAVE、REPLICATION CLIENT、SHOW VIEW |
| DML 専用 | CREATE TEMPORARY TABLES、DELETE、EVENT、EXECUTE、INSERT、LOCK TABLES、PROCESS、REPLICATION SLAVE、REPLICATION CLIENT、SELECT、SHOW VIEW、TRIGGER、UPDATE |
権限の説明
| 権限 | 説明 |
|---|---|
ALTER | 既存のテーブルの構造を変更します(列やインデックスの追加、変更、削除を含む)。 |
ALTER ROUTINE | ストアドプロシージャおよび関数を変更または削除します。 |
CREATE | データベース、テーブル、インデックス、その他のスキーマオブジェクトを作成します。 |
CREATE ROUTINE | ストアドプロシージャおよび関数を作成します。 |
CREATE TEMPORARY TABLES | セッションの存続期間のみ有効な一時テーブルを作成します。 |
CREATE USER | データベースアカウントの作成、名前の変更、削除、および管理を行います。 |
CREATE VIEW | ビューの作成および変更を行います。 |
DELETE | テーブルから行を削除します。 |
DROP | データベース、テーブル、ビュー、その他のスキーマオブジェクトを削除します。 |
EVENT | イベントスケジューラ内のイベントを作成、変更、および削除します。 |
EXECUTE | ストアドプロシージャおよび関数を実行します。 |
INDEX | 既存のテーブルに対してインデックスを作成または削除します。 |
INSERT | テーブルに新しい行を挿入します。 |
LOCK TABLES | SELECT 権限を持つテーブルに対して、明示的なテーブルロックを取得します。 |
PROCESS | インスタンス上で実行中のすべてのアクティブスレッドおよび接続に関する情報を表示します。 |
REFERENCES | 外部キー制約を作成します。 |
RELOAD | FLUSH 文を実行して、権限テーブル、ログ、およびキャッシュを再読み込みします。 |
REPLICATION CLIENT | レプリケーションのステータスおよび構成(プライマリサーバーおよびレプリカサーバーの位置情報など)を照会します。 |
REPLICATION SLAVE | プライマリサーバーからのバイナリログイベントを読み取る権限です(レプリケーション機能を有効化するために必須)。 |
SELECT | テーブルから行を読み取ります。 |
SHOW VIEW | SHOW CREATE VIEW を使用して、ビューの定義を表示します。 |
TRIGGER | テーブル上のトリガーを作成、削除、および実行します。 |
UPDATE | テーブル内の既存の行を変更します。 |
よくある質問
特権アカウントを標準アカウントに変更できますか?
いいえ。特権アカウントは、変更や標準アカウントへのスペックダウンができない固定の権限を持っています。予期しない権限変更(例:意図しない REVOKE)が発生した場合は、「特権アカウントの権限をリセットする」を実行して元に戻します。特権アカウントが不要になった場合は、「削除する」を実行し、その後で適切なタイプの「新しいアカウントを作成する」を実行します。