AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

MySQL が実行されている Amazon RDS DB インスタンスの別の管理者ユーザーを作成する方法を教えてください。

所要時間1分
0

MySQL DB インスタンスの Amazon Relational Database Service (Amazon RDS) の管理者アカウント権限を持つ別のユーザーを作成したいと考えています。

解決策

デフォルトでは、MySQL を実行する RDS DB インスタンスには 1 つの管理者アカウントがあります。ただし、管理者アカウントと同じアクセス許可を持つ新しいユーザーを作成することができます。これらのアクセス許可を持つ新しいユーザーを作成するには、次の手順を実行します。

  1. RDS MySQL インスタンスに接続します

  2. SHOW GRANTS コマンドを実行して、管理者アカウントで現在利用可能なアクセス許可のリストを取得します。次に、後で使用するアクセス許可のリストをコピーします。

    mysql> SHOW GRANTS for admin_username;

    次の例のような出力が返されます。

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Grants for admin@% |
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'admin'@'%' WITH GRANT OPTION |
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

    **注:**上記のメッセージでは、管理者アカウントのユーザー名は admin です。

  3. 新しいユーザーを作成するには、次の CREATE USER コマンドを実行します。

    mysql> CREATE USER 'new_admin_user'@'%' IDENTIFIED BY 'password';

    **注:**new_admin_userpassword を、使用しているユーザー名とパスワードに置き換えます。

  4. ステップ 2 で取得した許可のリストを新しいユーザーに付与するには、GRANT コマンドを実行します。
    **注:**MySQL 5.7 には次の許可が適用されます。

    mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_admin_user'@'%' WITH GRANT OPTION;

    **注:**アクセス許可は MySQL の異なるメジャーバージョン間で変更される場合があります

    これで、新しいユーザーには管理者アカウントと同じアクセス許可が付与されます。

関連情報

MySQL DB インスタンスの一般的な DBA タスク

ユーザーが IAM の認証情報を使用して Amazon RDS for MySQL の DB インスタンスを認証できるようにするにはどうすればよいですか?