0
0
AwsHow-ToBeginner · 4 min read

How to Create a MySQL RDS Instance on AWS Easily

To create a MySQL RDS instance on AWS, use the AWS Management Console or AWS CLI to launch a new RDS database specifying MySQL as the engine. Provide details like instance size, storage, and credentials, then deploy to have a managed MySQL database ready to use.
📐

Syntax

When creating a MySQL RDS instance using AWS CLI, the basic command includes specifying the database identifier, engine type, master username, and password. You can also set instance class, allocated storage, and other options.

  • --db-instance-identifier: Name for your database instance.
  • --engine: Database engine, here it is mysql.
  • --master-username: Admin username for the database.
  • --master-user-password: Password for the admin user.
  • --db-instance-class: Size and power of the instance (e.g., db.t3.micro).
  • --allocated-storage: Storage size in GB.
bash
aws rds create-db-instance \
  --db-instance-identifier mymysqlinstance \
  --engine mysql \
  --master-username adminuser \
  --master-user-password AdminPass123 \
  --db-instance-class db.t3.micro \
  --allocated-storage 20
💻

Example

This example shows how to create a MySQL RDS instance named mymysqlinstance with 20 GB storage and a small instance class. It uses the AWS CLI command to launch the database.

bash
aws rds create-db-instance \
  --db-instance-identifier mymysqlinstance \
  --engine mysql \
  --master-username adminuser \
  --master-user-password AdminPass123 \
  --db-instance-class db.t3.micro \
  --allocated-storage 20 \
  --backup-retention-period 7 \
  --no-publicly-accessible
Output
An RDS instance creation request is submitted. The instance status will be 'creating' until ready. Use 'aws rds describe-db-instances' to check status.
⚠️

Common Pitfalls

  • Using weak or simple passwords for the master user can cause security risks.
  • Not setting --no-publicly-accessible may expose your database to the internet unintentionally.
  • Choosing an instance class too small for your workload can cause slow performance.
  • Forgetting to configure security groups to allow your application to connect will block access.

Always double-check your parameters before creating the instance.

bash
aws rds create-db-instance \
  --db-instance-identifier mymysqlinstance \
  --engine mysql \
  --master-username adminuser \
  --master-user-password 1234 \
  --db-instance-class db.t3.micro \
  --allocated-storage 20 \
  --publicly-accessible

# Wrong: weak password and public access

aws rds create-db-instance \
  --db-instance-identifier mymysqlinstance \
  --engine mysql \
  --master-username adminuser \
  --master-user-password StrongPass123! \
  --db-instance-class db.t3.micro \
  --allocated-storage 20 \
  --no-publicly-accessible

# Right: strong password and no public access
📊

Quick Reference

Here is a quick checklist when creating a MySQL RDS instance:

  • Choose a unique DB instance identifier.
  • Use mysql as the engine.
  • Set a strong master username and password.
  • Select an appropriate instance class based on workload.
  • Allocate enough storage (minimum 20 GB recommended).
  • Set --no-publicly-accessible to keep your database private.
  • Configure security groups to allow access from your app.

Key Takeaways

Use AWS CLI or Console to create a MySQL RDS instance by specifying engine, instance size, and credentials.
Always set a strong master password and disable public access for security.
Choose an instance class and storage size that fit your workload needs.
Configure security groups to allow your application to connect to the database.
Monitor the instance status after creation until it becomes available.