Amazon Relational Database Service
User Guide

Creating a DB Instance Running the MySQL Database Engine

The basic building block of Amazon RDS is the DB instance. The DB instance is where you create your MySQL databases.

Important

Before you can create or connect to a DB instance, you must complete the tasks in Setting Up for Amazon RDS.

For an example that walks you through the process of creating and connecting to a sample DB instance, see Creating a MySQL DB Instance and Connecting to a Database on a MySQL DB Instance.

Note

If you are using the console, a new console interface is available for database creation. Choose either the New Console or the Original Console instructions based on the console that you are using. The New Console instructions are open by default.

New Console

You can create a DB instance running MySQL with the AWS Management Console with Easy Create enabled or not enabled. With Easy Create enabled, you specify only the DB engine type, DB instance size, and DB instance identifier. Easy Create uses the default setting for other configuration options. With Easy Create not enabled, you specify more configuration options when you create a database, including ones for availability, security, backups, and maintenance.

Note

For this example, Standard Create is enabled, and Easy Create isn't enabled. For information about creating a MySQL DB instance with Easy Create enabled, see Creating a MySQL DB Instance and Connecting to a Database on a MySQL DB Instance.

To create a MySQL DB instance

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the upper-right corner of the AWS Management Console, choose the AWS Region in which you want to create the DB instance.

  3. In the navigation pane, choose Databases.

  4. Choose Create database.

  5. In Choose a database creation method, choose Standard Create.

  6. In Engine options, choose MySQL.

    
							Engine options
  7. In Templates, choose the template that matches your use case. If you choose Production, the following are also chosen in a later step:

    • Multi-AZ failover option

    • Provisioned IOPS storage option

    • Enable deletion protection option

    We recommend these features for any production environment.

  8. To enter your master password, do the following:

    1. In the Settings section, open Credential Settings.

    2. Clear the Auto generate a password check box.

    3. (Optional) Change the Master username value and enter the same password in Master password and Confirm password.

    By default, the new DB instance uses an automatically generated password for the master user.

  9. For the remaining sections, specify your DB instance settings. For information about each setting, see Settings for MySQL DB Instances.

  10. Choose Create database.

    If you chose to use an automatically generated password, the View credential details button appears on the Databases page.

    To view the master user name and password for the DB instance, choose View credential details.

    
						Master user credentials after automatic password generation.

    To connect to the DB instance as the master user, use the user name and password that appear.

    Important

    You can't view the master user password again. If you don't record it, you might have to change it. If you need to change the master user password after the DB instance is available, you can modify the DB instance to do so. For more information about modifying a DB instance, see Modifying a DB Instance Running the MySQL Database Engine.

  11. For Databases, choose the name of the new MySQL DB instance.

    On the RDS console, the details for the new DB instance appear. The DB instance has a status of creating until the DB instance is created and ready for use. When the state changes to available, you can connect to the DB instance. Depending on the DB instance class and storage allocated, it can take several minutes for the new instance to be available.

    
						My DB instances details
Original Console

To launch a MySQL DB instance

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. In the top right corner of the AWS Management Console, choose the AWS Region in which you want to create the DB instance.

  3. In the navigation pane, choose Databases.

    If the navigation pane is closed, choose the menu icon at the top left to open it.

  4. Choose Create database to open the Select engine page.

    
						Select engine
  5. In the Select engine window, choose MySQL, and then choose Next.

  6. The Choose use case page asks if you are planning to use the DB instance you are creating for production. If you are, choose Production - MySQL. If you choose Production - MySQL, the following are also chosen in a later step:

    • Multi-AZ failover option

    • Provisioned IOPS storage option

    • Enable deletion protection option

    We recommend these features for any production environment.

  7. Choose Next to continue. The Specify DB details page appears.

    On the Specify DB details page, specify your DB instance information. For information about each setting, see Settings for MySQL DB Instances.

    
						Specify DB details
  8. Choose Next to continue. The Configure advanced settings page appears.

    On the Configure advanced settings page, provide additional information that Amazon RDS needs to launch the DB instance. For information about each setting, see Settings for MySQL DB Instances.

  9. Choose Create database.

  10. On the final page, choose View DB instance details.

On the RDS console, the details for the new DB instance appear. The DB instance has a status of creating until the DB instance is created and ready for use. When the state changes to available, you can connect to the DB instance. Depending on the DB instance class and storage allocated, it could take several minutes for the new instance to be available.


				My DB instances list
AWS CLI

To create a MySQL DB instance by using the AWS CLI, call the create-db-instance command with the parameters below. For information about each setting, see Settings for MySQL DB Instances.

  • --db-instance-identifier

  • --db-instance-class

  • --db-security-groups

  • --db-subnet-group

  • --engine

  • --master-user-name

  • --master-user-password

  • --allocated-storage

  • --backup-retention-period

The following example creates a MySQL DB instance named mydbinstance.

For Linux, OS X, or Unix:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --db-instance-class db.m1.small \ --engine MySQL \ --allocated-storage 20 \ --master-username masterawsuser \ --master-user-password masteruserpassword \ --backup-retention-period 3

For Windows:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --db-instance-class db.m3.medium ^ --engine MySQL ^ --allocated-storage 20 ^ --master-username masterawsuser ^ --master-user-password masteruserpassword ^ --backup-retention-period 3

This command should produce output similar to the following:

DBINSTANCE mydbinstance db.m3.medium mysql 20 sa creating 3 **** n 5.6.40 SECGROUP default active PARAMGRP default.mysql5.6 in-sync
RDS API

To create a MySQL DB instance by using the Amazon RDS API, call the CreateDBInstance operation with the parameters below. For information about each setting, see Settings for MySQL DB Instances.

  • AllocatedStorage

  • BackupRetentionPeriod

  • DBInstanceClass

  • DBInstanceIdentifier

  • DBSecurityGroups

  • DBSubnetGroup

  • Engine

  • MasterUsername

  • MasterUserPassword

The following example creates a MySQL DB instance named mydbinstance.

https://rds.us-west-2.amazonaws.com/ ?Action=CreateDBInstance &AllocatedStorage=20 &BackupRetentionPeriod=3 &DBInstanceClass=db.m3.medium &DBInstanceIdentifier=mydbinstance &DBName=mydatabase &DBSecurityGroups.member.1=mysecuritygroup &DBSubnetGroup=mydbsubnetgroup &Engine=mysql &MasterUserPassword=masteruserpassword &MasterUsername=masterawsuser &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140213/us-west-2/rds/aws4_request &X-Amz-Date=20140213T162136Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=8052a76dfb18469393c5f0182cdab0ebc224a9c7c5c949155376c1c250fc7ec3

Settings for MySQL DB Instances

For details about settings that you use when you create a MySQL DB instance, see the following table.

Setting Setting Description
Allocated storage

The amount of storage to allocate for your DB instance (in gigabytes). In some cases, allocating a higher amount of storage for your DB instance than the size of your database can improve I/O performance.

For more information, see Amazon RDS DB Instance Storage.

Auto minor version upgrade

Enable auto minor version upgrade to enable your DB instance to receive preferred minor DB engine version upgrades automatically when they become available. Amazon RDS performs automatic minor version upgrades in the maintenance window.

Availability zone

The Availability Zone for your DB instance. Use the default value of No Preference unless you want to specify an Availability Zone.

For more information, see Regions and Availability Zones.

Backup retention period

The number of days that you want automatic backups of your DB instance to be kept. For any nontrivial DB instance, set this value to 1 or greater.

For more information, see Working With Backups.

Backup window

The time period during which Amazon RDS automatically takes a backup of your DB instance. Unless you have a specific time that you want to have your database backed up, use the default of No Preference.

For more information, see Working With Backups.

Copy tags to snapshots

This option copies any DB instance tags to a DB snapshot when you create a snapshot.

For more information, see Tagging Amazon RDS Resources.

Database authentication

The database authentication option you want to use.

Choose Password authentication to authenticate database users with database passwords only.

Choose Password and IAM DB authentication to authenticate database users with database passwords and user credentials through IAM users and roles. For more information, see IAM Database Authentication for MySQL and PostgreSQL.

Database name

The name for the database on your DB instance. The name must contain 1 to 64 alphanumeric characters. If you don't provide a name, Amazon RDS doesn't create a database on the DB instance that you are creating.

To create additional databases on your DB instance, connect to your DB instance and use the SQL command CREATE DATABASE. For more information, see Connecting to a DB Instance Running the MySQL Database Engine.

Database port

The port that you want to access the DB instance through. MySQL installations default to port 3306. If you use a DB security group with your DB instance, this port value must be the same one that you provided when creating the DB security group.

The firewalls at some companies block connections to the default MySQL port. If your company firewall blocks the default port, enter another port for your DB instance.

DB engine version

The version of MySQL that you want to use.

DB instance class

The configuration for your DB instance. For example, a db.m1.small instance class has 1.7 GiB memory, 1 ECU (1 virtual core with 1 ECU), 64-bit platform, and moderate I/O capacity.

If possible, choose an instance class large enough that a typical query working set can be held in memory. When working sets are held in memory, the system can avoid writing to disk, and this improves performance.

For more information, see Choosing the DB Instance Class.

DB instance identifier

The name for your DB instance. Your DB instance identifier can contain up to 63 alphanumeric characters, and must be unique for your account in the AWS Region you chose. You can add some intelligence to the name, such as including the AWS Region you chose, for example mysql-instance1.

DB parameter group

A parameter group for your DB instance. You can choose the default parameter group or you can create a custom parameter group.

For more information, see Working with DB Parameter Groups.

Deletion protection

Enable deletion protection to prevent your DB instance from being deleted. If you create a production DB instance with the AWS Management Console, deletion protection is enabled by default.

For more information, see Deleting a DB Instance.

Encryption

Enable Encryption to enable encryption at rest for this DB instance.

For more information, see Encrypting Amazon RDS Resources.

Enhanced Monitoring

Enable enhanced monitoring to enable gathering metrics in real time for the operating system that your DB instance runs on.

For more information, see Enhanced Monitoring.

License model

MySQL has only one license model, general-public-license, the general license agreement for MySQL.

Log exports

The types of MySQL database log files to generate. For more information, see MySQL Database Log Files.

Maintenance window

The 30-minute window in which pending modifications to your DB instance are applied. If the time period doesn't matter, choose No Preference.

For more information, see The Amazon RDS Maintenance Window.

Master password

The password for your master user account. The password must contain from 8 to 16 printable ASCII characters (excluding /,", a space, and @).

Master username

The name that you use as the master user name to log on to your DB instance.

For more information, and a list of the default privileges for the master user, see MySQL Security on Amazon RDS.

Multi-AZ deployment

Create a standby instance to create a passive secondary replica of your DB instance in another Availability Zone for failover support. We recommend Multi-AZ for production workloads to maintain high availability.

For development and testing, you can choose Do not create a standby instance.

For more information, see High Availability (Multi-AZ) for Amazon RDS.

Option group

An option group for your DB instance. You can choose the default option group or you can create a custom option group.

For more information, see Working with Option Groups.

Performance Insights

Enable Performance Insights to monitor your DB instance load so that you can analyze and troubleshoot your database performance.

Choose a retention period to determine how much rolling data history to keep. The default of seven days is in the free tier. Long-term retention (two years) is priced per vCPU per month.

Choose a master key to use to protect the key used to encrypt this database volume. Choose from the master keys in your account, or enter the key from a different account.

For more information, see Using Amazon RDS Performance Insights.

Public accessibility

Yes to give the DB instance a public IP address, meaning that it's accessible outside the VPC. To be publicly accessible, the DB instance also has to be in a public subnet in the VPC.

No to make the DB instance accessible only from inside the VPC.

For more information, see Hiding a DB Instance in a VPC from the Internet.

Storage autoscaling

Enable storage autoscaling to enable Amazon RDS to automatically increase storage when needed to avoid having your DB instance run out of storage space.

Use Maximum storage threshold to set the upper limit for Amazon RDS to automatically increase storage for your DB instance. The default is 1,000 GiB.

For more information, see Managing Capacity Automatically with Amazon RDS Storage Autoscaling.

Storage type

The storage type for your DB instance.

For more information, see Amazon RDS Storage Types.

Subnet group

This setting depends on the platform that you are on. If you are a new customer to AWS, keep the subnet group set to default, which is the default DB subnet group that was created for your account.

If you are creating a DB instance on the earlier E2-Classic platform, you might want your DB instance in a specific VPC. In this case, choose the DB subnet group that you created for that VPC.

Virtual Private Cloud (VPC)

This setting depends on the platform that you are on. If you are a new customer to AWS, choose the default VPC shown. If you are creating a DB instance on the earlier E2-Classic platform that doesn't use a VPC, choose Not in VPC.

For more information, see Amazon Virtual Private Cloud VPCs and Amazon RDS.

VPC security groups

If you are a new customer to AWS, Create new to create a new VPC security group. Otherwise, Choose existing, then choose from security groups that you previously created.

When you choose Create new in the RDS console, a new security group is created. This new security group has an inbound rule that allows access to the DB instance from the IP address detected in your browser.

For more information, see Working with DB Security Groups (EC2-Classic Platform).

On this page: