このトピックでは、ApsaraDB RDS for MySQL インスタンスで標準アカウントの権限を変更する方法について説明します。特権アカウントの権限は、デフォルト設定にリセットすることのみが可能で、変更することはできません。
Alibaba Cloud データ管理 (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): Access denied for user 'xxxx'@'%' to database 'xxxx'
エラーメッセージが表示される場合はどうすればよいですか?
デフォルトでは、RDS インスタンスの標準アカウントには、データベースにログインするための権限のみがあります。標準アカウントを使用してデータベースを作成するには、最初に特権アカウントを使用して、標準アカウントに CREATE 権限を付与する必要があります。文の例:
GRANT CREATE ON *.* TO '<標準アカウントの名前>'@'%';
RDS インスタンスへのアクセスを拒否するにはどうすればよいですか?
RDS インスタンスの IP アドレス ホワイトリストから IP アドレスを削除し、127.0.0.1 エントリのみを保持できます。次に、RDS インスタンスを再起動します。このようにして、RDS インスタンスへのアクセスが拒否されます。
アカウントをロックできますか?
特権アカウントを使用して ALTER USER 'Username' ACCOUNT LOCK;
文を実行し、特権アカウントまたは標準アカウントをロックできます。次に、インスタンスを再起動して、RDS インスタンスへの接続を終了します。特権アカウントの権限をリセットする場合は、「特権アカウントの権限をリセットする」に記載されている手順に従ってください。
MySQL 5.6 を実行する RDS インスタンスでは、ALTER USER 'Username' ACCOUNT LOCK;
文はサポートされていません。
必要なアカウントにバイナリログファイルを表示するための権限を付与するにはどうすればよいですか?
RDS インスタンスのバイナリログファイルを表示するには、REPLICATION SLAVE
および REPLICATION CLIENT
権限が必要です。必要なアカウントが標準アカウントまたは特権アカウントであり、ApsaraDB RDS コンソールで作成されている場合、権限は自動的に付与されます。バイナリログファイルを表示できない場合は、特権アカウントを使用するか、SQL 文を実行して手動で権限を付与できます。