このトピックでは、ApsaraDB RDS for MySQLインスタンスの標準アカウントの権限を変更する方法について説明します。 特権アカウントの権限は、デフォルト設定にのみリセットできますが、変更することはできません。
Alibaba Cloud Data Management (DMS) のアカウント権限付与および管理機能を使用して、権限の組み合わせを定義できます。 この機能を使用して、特定のテーブルに対する権限を管理することもできます。 詳細については、「MySQLデータベースのユーザー権限の管理」をご参照ください。
方法1: ApsaraDB RDSコンソールで標準アカウントの権限を変更する
- [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、アカウント管理 をクリックします。
権限を変更する標準アカウントを見つけます。 次に、[操作] 列の 権限を変更 をクリックします。
[アカウント権限の編集] パネルで、アカウントの権限を変更します。
データベースを追加または削除する場合は、データベースを選択し、> または < アイコンをクリックします。
承認済みデータベースの権限を変更する場合は、[承認済みデータベース] セクションでデータベースを選択します。 次に、[読み取り /書き込み (DDL + DML)] 、[読み取り専用] 、[DDLのみ] 、または [DMLのみ] の権限を選択します。
説明SQL文を使用して、細粒度で権限を変更できます。 詳細は、「アカウント権限」をご参照ください。
[OK] をクリックします。
方法2: DMSコンソールで標準アカウントの権限を変更する
DMSコンソールで標準アカウントの権限を変更できます。 詳細については、「MySQLデータベースのユーザー権限の管理」をご参照ください。
方法3: SQL文を使用して標準アカウントの権限を変更する
前提条件
RDSインスタンス用に特権アカウントが作成され、権限の変更に使用されます。
GRANTステートメントを実行して、標準アカウントに権限を付与します。
説明GRANTステートメントの詳細については、「MySQLの公式ドキュメント」をご参照ください。
付与できる権限の詳細については、「アカウント権限」をご参照ください。
よくある質問
標準アカウントを使用してRDSインスタンスにデータベースを作成できないのはなぜですか。 標準アカウントを使用してRDSインスタンスにデータベースを作成すると、ERROR 1044 (42000): ユーザー 'xxxx' @ '%' からデータベース 'xxxx'
へのアクセスが拒否されたというエラーメッセージが表示された場合はどうすればよいですか?
デフォルトでは、RDSインスタンスの標準アカウントにはデータベースへのログイン権限のみがあります。 標準アカウントを使用してデータベースを作成する場合は、まず特権アカウントを使用して、標準アカウントにcreate権限を付与する必要があります。 ステートメントの例:
GRANT CREATE ON *.* TO '<標準アカウントの名前>' @ '%';
RDSインスタンスへのアクセスを拒否するにはどうすればよいですか。
RDSインスタンスのIPアドレスホワイトリストからIPアドレスを削除し、127.0.0.1エントリのみを保持できます。 次に、RDSインスタンスを再起動します。 これにより、RDSインスタンスへのアクセスが拒否されます。
アカウントをロックできますか?
特権アカウントを使用して、ALTER USER 'Username' account LOCK;
ステートメントを実行し、特権アカウントまたは標準アカウントをロックできます。 次に、インスタンスを再起動して、RDSインスタンスへの接続を終了します。 特権アカウントの権限をリセットする場合は、「特権アカウントの権限をリセットする」の手順に従ってください。
ALTER USER 'Username' ACCOUNT LOCK;
ステートメントは、MySQL 5.6を実行するRDSインスタンスではサポートされていません。