標準アカウントの権限を変更できます。特権アカウントの権限は変更できません。初期状態にリセットすることのみ可能です。
カスタム権限の組み合わせやテーブルレベルの権限を設定する場合は、Data Management Service (DMS) のデータベースアカウントと権限の管理機能をご利用ください。
方法 1:コンソールを使用する
インスタンスページに移動します。上部ナビゲーションバーで、RDS インスタンスが配置されているリージョンを選択し、対象の RDS インスタンスを検索してその ID をクリックします。
-
左側のナビゲーションウィンドウで、アカウント管理 をクリックします。
-
対象のアカウントを検索し、**[操作]** 列の 権限を変更 をクリックします。
-
アカウントの権限を変更 パネルで、アカウント権限を調整します。
-
データベース権限を付与または取り消すには、データベースを選択して > または < をクリックします。
-
権限が付与されたデータベース リストで、権限レベルを 読み書き (DDL + DML)、読み取り専用、DDL のみ、または DML のみ に設定します。
説明より細かい制御を行う場合は、SQL ステートメントをご使用ください。設定可能な権限の一覧は、「アカウント権限」をご参照ください。
-
-
OK をクリックします。
方法 2:DMS を使用する
DMS を通じてアカウント権限を管理できます。「データベースアカウントと権限の管理」をご参照ください。
方法 3:SQL ステートメントを使用する
前提条件
権限を付与するには、特権アカウントを使用する必要があります。
-
GRANT ステートメントを実行して、対象アカウントに権限を付与します。
説明-
GRANT ステートメントの詳細: MySQL GRANT ドキュメント。
-
付与可能な権限: 「アカウント権限」。
-
よくある質問
Q: 標準アカウントを使用してデータベースを作成できないのはなぜですか?次のエラーが返されます:ERROR 1044 (42000): Access denied for user 'xxxx'@'%' to database 'xxxx'。
A:
標準アカウントはデフォルトでログイン権限のみを持ちます。CREATE 権限を付与するには、特権アカウントを使用してください。
GRANT CREATE ON *.* TO '<standard-account-name>'@'%';
Q: ユーザーがデータベースにアクセスできないようにするにはどうすればよいですか?
A: IP アドレスホワイトリストから 127.0.0.1 以外のすべてのエントリを削除し、インスタンスを再起動します。これにより、外部からのすべてのアクセスがブロックされます。
Q: アカウントをロックできますか?
A: 特権アカウントは、自身または標準アカウントに対して ALTER USER 'username' ACCOUNT LOCK; を実行できます。その後、インスタンスを再起動して既存の接続を終了してください。特権アカウントをロック解除し、権限を復元するには、「特権アカウントの権限をリセットする」をご参照ください。
MySQL 5.6 を実行している ApsaraDB RDS for MySQL インスタンスは、ALTER USER 'username' ACCOUNT LOCK; ステートメントをサポートしていません。
Q: バイナリログ(ローカルログ)を表示する権限を付与するにはどうすればよいですか?
A: バイナリログの表示には、REPLICATION SLAVE 権限および REPLICATION CLIENT 権限が必要です。コンソールで作成された標準アカウントおよび特権アカウントは、これらの権限をデフォルトで保持しています。アクセスに失敗する場合は、特権アカウントを使用するか、SQL で手動で権限を付与してください。