
Gain hands-on experience managing MySQL on the AWS cloud, from on-premises replication to RDS migration, with EC2 replicas, RDS backups, multi-AZ, read replicas, and blue-green deployment.
Access the course git repository for all steps and future pdf snippets. Adjust playback speed and minimize distractions while watching the lesson, and connect on LinkedIn if you have ideas.
Develop your MySQL DBA interview readiness with behavioral and technical questions and answers tied to course topics. End-of-section quizzes reinforce learning as upcoming weeks add more interview content.
Set up an on premises mysql on DigitalOcean machines as primary and replica, with Red Hat Enterprise Linux 9 and MySQL Community Server, enable git base replication for cloud migration.
Bob, a seasoned database administrator, guides a cloud migration from on-premises MySQL to AWS RDS using a parallel EC2 replica, S3 backups, and rollback planning.
Create two digital ocean droplets running Red Hat Enterprise Linux 9 in a databases project, named primary and replica, with SSH key authentication and private networking.
Disable SELinux on two VMs, update the host file with private IPs and aliases primary.db.local and replica.db.local, and verify connectivity with ping.
Install MySQL server community edition on primary and replica VMs using a tar bundle of 8.0.35 on Red Hat Enterprise Linux, enable and start the service, and verify port 3306.
Secure mysql on red hat linux nine vm by running mysql_secure_installation on primary, set root password, remove anonymous users, config editor, create bob dba and replication admin, then flush privileges.
Set up gtid-based replication between a primary and replica MySQL by performing a cold backup, transferring the datadir over ssh, and configuring server-id and binlog settings.
Test gtid-based replication by creating a database, table, and rows on the primary, then verify the replica reflects the transactions and uuids match.
Execute the first checkpoint by migrating the on-prem MySQL replica to an EC2 cloud replica, backing up to S3, and provisioning an AWS RDS MySQL with multi-AZ options and failback.
Set up on-premises MySQL with two VMs, removed anonymous users and the test database, restricted root to localhost, and tested git-based replication; next, extend to AWS EC2.
Set up an AWS EC2 replica within a VPC, install Red Hat Linux and MySQL, restore the on-prem backup, and configure Git-based replication to the cloud.
Learn how AWS VPC secures resources with an internet gateway, NACL, and security groups, then deploy EC2 for MySQL replication across three availability zones.
Create a prod VPC with public subnets, an internet gateway, DNS resolution, and a MySQL security group for SSH and MySQL traffic, then launch an EC2 cloud replica.
Install MySQL server community edition on an EC2 instance by downloading, extracting tar, and installing rpm packages with yum local install; enable and start mysqld, and verify systemctl and netstat.
Restore a cold backup from an on-premises replica to an EC2 instance, copy backups with SCP, configure a cloud replica with server id three, and start MySQL to enable replication.
Learn to configure gtid-based replication between an EC2 cloud replica and an on-premises primary MySQL, including bin logs, server-id, gtid-mode, enforce-gtid-consistency, and report-host setups.
Build a VPC with IGW, launch an EC2 instance, install Red Hat and MySQL, replicate on-prem data to EC2, and prepare backups to S3 for the target RDS.
Learn to back up a MySQL database on EC2 with a hard backup, transfer to S3, and restore to RDS via AWS CLI, IAM, and Percona XtraBackup.
Back up MySQL from the EC2 instance as a hot backup, store it in S3, and prepare an IAM user with the AWS CLI to enable restoration to RDS.
Install AWS CLI v2 on Red Hat Enterprise Linux 9 to enable terminal access to S3 from EC2, and configure it with an IAM user’s access key and secret key.
Configure the AWS CLI with your access key id and secret access key, store them in ~/.aws/credentials, verify identity, and access VPCs and back up to S3.
Learn to manage s3 buckets using the aws cli and s3 api, including creating and deleting buckets, putting objects, and copying ec2 backups to s3 with a simple workflow.
Learn to perform a hot backup of MySQL 8.0.35 on EC2 using Percona extra backup, install on Red Hat Enterprise Linux 9, and prepare the backup for shipping to S3.
Learn to take a hot backup using the extra backup tool from Percona, prepare and verify the backup locally, then copy to S3 while MySQL runs.
Copy the hard backup from the local EC2 instance to the S3 bucket under backups, verify the upload, and prepare for restoring an RDS from S3.
Install and configure the AWS CLI, create an IAM user and group, and manage S3 backups and an EC2 replica; then restore an RDS instance from the S3 backup.
Introduces relational data services (ds) in AWS cloud dba, and creates ds from scratch or from S3 backups using IAM role, db subnet group, parameter group, db vpc security group.
Explore AWS RDS for MySQL, a fully managed relational database service in the cloud, and identify its prerequisites and core components for setting up an RDS instance.
Explore AWS RDS terminology, including S3 prefixes, IAM roles, DB instance classes, VPC and subnet groups, engine types and versions, security groups, storage types, and multi-AZ versus single-AZ configurations.
Create an RDS instance by restoring from an S3 backup, selecting MySQL and a version, with an IAM role for S3 access, GP3 storage, auto grow, and VPC security.
Create an IAM role for the RDS service to access S3 backups, configure trust for DS, and attach a full-access S3 policy.
Learn what a DB subnet group is and why you create it before deploying RDS. It covers a VPC with subnets across three AZs for private RDS placement.
Create a db subnet group for the rds instance in the prod vpc, selecting three availability zones and corresponding subnets to enable a multi-az rds deployment.
Create a dedicated security group for the RDS instance in the prod VPC, allow only MySQL inbound traffic, and emphasize separate security groups per resource to enable safe deletions.
Learn how to use DB parameter groups in AWS RDS, create custom groups from default families, modify and reset parameters, and manage them via the console or AWS CLI.
Create a custom prod parameter group for your RDS MySQL 8.0 instance, edit dynamic and static parameters, and note reboot needs as AWS edits the underlying my.cnf.
Create a MySQL RDS instance by restoring a backup from an S3 bucket, selecting the gold data protectors backups folder, and configuring engine, storage, VPC, security, encryption, and maintenance settings.
Introduce ds concepts and components like iam role, db subnet group, parameter group, and security group, and guide creation of an rds instance backed by s3 backups for replication.
Explore the restored RDS instance, review its configuration and region details, then prepare it for git-based replication and configure it as a cloud replica using new procedures.
Explore the RDS interface after restoring a MySQL community edition instance in us-east-1 from an S3 backup, including endpoint access, security groups, backups, maintenance, and monitoring.
Set up an RDS instance as a replica for GTID-based replication by configuring the parameter group to enable git mode and git enforce consistency, then reboot the instance.
Configure an AWS RDS MySQL instance as a replica of an on-premises setup using RDS set external master with auto position, then verify replica status.
Configure an RDS cloud replica, reset it to set up an external master, and use RDS_start_replication with the auto position store procedure to manage MySQL data as a service.
Master the aws cli to manage aws resources, replacing the management console, by creating, backing up, restoring from S3, and spinning up a new RDS instance, then destroying the stack.
Demonstrates restoring an RDS for MySQL from an S3 backup via AWS CLI, wiring a staging VPC with subnets, internet gateway, route table, and security groups for a multi-AZ deployment.
Explore how the AWS CLI structures commands with a service, verb, component, and parameters to create, modify, or delete resources across EC2, VPC, and RDS.
Configure the AWS CLI with the staging profile using the provided access keys, region us-east-1, and JSON output; verify identity with sts get-caller-identity and manage multiple environments.
Create a staging VPC with CIDR 10.10.0.0/16 in us-east-1 using the AWS CLI, IPv4 only, then create a staging IGW and attach it to the VPC, validating via jq.
Create three subnets in a single vpc across three availability zones using /24 cidrs (10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24), tag as public staging, using the aws cli and verify they are available.
Create a route table in your VPC, add a route to the internet via the internet gateway, and attach the table to subnets to make them public.
Attach subnets to a route table to create public subnets, using the AWS EC2 associate route table to subnet command, and verify associations in the console and CLI.
Create an RDS staging security group in the staging VPC and enable inbound port 3306 from the internet for MySQL and MySQL Aurora.
Define a db subnet group for aws rds with a group name, group description, and subnet IDs. This subnet group uses rds subnets across availability zones and shows as active.
Create a db parameter group using the aws rds create db parameter group command, specifying the parameter group name, family (mysql 8.0), and description, then view the new group's arn.
Create an IAM role with Amazon S3 full access to let an RDS instance access a backup in S3, using a trust policy and AWS CLI.
Demonstrates restoring an RDS for MySQL from an S3 backup using AWS CLI, configuring VPC DNS, security groups, and connectivity to the restored endpoint.
Configure an RDS replica of an external master by restoring from S3, then use stored procedures to reset external master, set auto position, enable jitted mode, and start replication.
Learn how to tear down a multi-az rds deployment by stopping replication, resetting the external master, and deleting the ds instance with the AWS CLI, cleaning up all resources.
Master wiping an AWS environment with the AWS CLI by deleting RDS instances, parameter group, db subnet group, S3 buckets, security groups, route tables, and the VPC.
Master using the aws cli over the management console for administrative tasks, guided by official documentation. Gain confidence to handle any aws cloud task with a configured aws cli.
Migrate an on-prem MySQL primary to AWS RDS by backing up to S3, promoting RDS as primary, cutting over the app, and upgrading replicas with replication filtering.
Remove the EC2 replica by stopping it, disabling MySQL d, and terminating the instance; then delete the attached volume, key pair, and security group, noting binary logs retention and backup.
Point an on-premises replica to an RDS instance by halting replication, letting transactions bypass, and promoting the RDS as primary while configuring binary log retention.
Set replication filters to skip internal schemas from the replica, and purge unneeded gtid transactions to ensure only production data replicates to the RDS.
Learn the step-by-step process to cut over a production database from on premises to RDS, including maintenance mode, read-only switch, and the CNAME update.
Learn to perform a minor MySQL version upgrade on a replica by stopping the replica, upgrading from 8.0.35 to 8.0.39, preserving configuration, and verifying replica status with show replicas.
Diagnose a MySQL replication error on aws rds by inspecting performance schema, ignoring the rds heartbeat, creating missing ds_sysinfo and heartbeat tables, and purging GTIDs to restore replication.
demonstrates a major MySQL upgrade on premises replica to 8.0.4, while the RDS primary stays on 8.0.35; includes downloading the archive, reinstalling RPM packages, and verifying replica status.
Eliminate the on premises replica by creating an AWS RDS read replica from prod in us-east-1 via CLI, using same parameter group and subnet group with a dedicated security group.
Configure and troubleshoot an Amazon RDS MySQL read replica, verify the endpoint and security rules, and monitor replication status to ensure up-to-date data and understand single-AZ limitations.
We recap performing EC2 replica tasks, promoting the on‑premises replica to RDS, cutting over the app, upgrading replicas, applying replication filters, and creating a read‑only replica with the AWS CLI.
Explore managing an RDS MySQL instance via the web interface, certificates, and event monitoring. Learn provisioning recommendations, RDS proxy for connection pooling, backups, and snapshots, plus Query Editor usage.
Explore the RDS management console to view DB instances, snapshots, parameter and subnet groups, primary and replica setups, and monitor using the query editor and performance insights.
Learn how RDS events are recorded and how to subscribe to receive email alerts for events across all instances, including reboots, failovers, and restorations.
Learn how RDS certificates secure client to instance TLS/SSL connections, how to renew an expired certificate, and how to rotate certificates with minimal downtime by modifying the DB instance.
Explore AWS RDS recommendations in the console to enable enhanced monitoring, improve reliability with multi-az, and apply actionable insights or informational guidance for optimal performance.
Explain option groups and custom engine concepts in RDS, noting custom engine versions apply to Oracle and SQL Server, not MySQL, and recommend using parameter groups instead.
Compare on-demand and reserve instances for AWS RDS to save costs using three-year upfront pricing, while recognizing spot instances are unreliable for production workloads.
Explore zero ETL integration that connects an OLTP source to an OLAP target in Redshift, defining the source, target, and the replication with transformations.
Deploy the RDS instance within your own virtual private cloud (vpc) using the default network, aligning with supported platforms, and configure the vpc cidr range, subnets, and security group.
Learn how the RDX proxy pools connections from multiple applications and presents a single managed connection to the RDS instance, with authentication via secret manager.
Configure EC2 as a bastion host to securely access an RDS instance inside the same VPC, using private security groups and SSH into EC2 before connecting with a MySQL client.
Review the Amazon RDS for MySQL overview, the interface, certificates, and event logging with email subscriptions. Explain proxies, subnet groups, option groups, and reserved instances, plus upcoming backups.
Demonstrate practical AWS RDS administration by modifying read replicas, promoting them to writer, converting a single database to a multi-az cluster, and managing reboots and failovers.
Create a separate prod replica parameter group from the prod parameter group, apply the change immediately, reboot the replica, and verify replication remains intact.
Upgrade the read replica's MySQL version in Amazon RDS via the console or CLI, verify compatibility checks, monitor events, and confirm the replica runs 8.0.39 ahead of the primary's 8.0.35.
Promote a read only RDS replica to a read and write primary. Create two primary instances, and verify the endpoint, ensuring read only is off.
Convert a standalone primary to a multi-az db instance for automatic failover and increased data redundancy with a non-readable standby.
Temporarily stop a Multi-AZ or single RDS instance for up to seven days, with optional snapshot and manual restart; compute costs pause, storage costs may continue.
Learn how to delete a stopped RDS multi-AZ DB instance, confirm with written consent, decide on final snapshot or backups, and understand multi-AZ pricing for three instances.
Convert a standalone RDS into a multi-az DB cluster with a writer and two readers across three AZs, managing endpoints, backups, and cluster parameter groups.
Learn how rebooting an individual reader in a multi-az db cluster preserves fault tolerance via the reader endpoint, while the cluster handles writer failover.
Learn how to perform a cluster-level failover in a multi-AZ db cluster to safely promote a writer to a reader, enabling maintenance without affecting other members.
Learn how to create a read replica from a multi-AZ DB cluster, promote it to writer, and manage failover, backups, and replication for OLTP to OLAP workflows.
Promote a replica from a multi-az db cluster to a writer, turning it into a standalone primary, then delete the cluster after enabling automated backups.
Master multi-az topologies in AWS RDS by learning to modify, promote, upgrade, and convert read replicas and clusters, boosting confidence in cloud DBA operations.
AWS Cloud DBA Course Overview
Welcome to this amazing course on Cloud MySQL Database Administration. You will learn all aspects of MySQL Server, including setting GTID-based Master/Slave Replication, creating an EC2 MySQL replica, migrating the backup to AWS S3 bucket, and creating an RDS DB instance from the "Restore from S3" method.
Creating & managing Multi-AZ DB instance, Multi-AZ DB cluster, RDS Read Replicas.
Managing RDS Automated Backups, Copying/Upgrading/Migrating/Exporting/Replication DB Snapshots.
Upgrading your RDS instance by leveraging Blue/Green Deployments.
Performance Tuning & Enhanced Monitoring of the RDS instance
Learning about RDS for MySQL's new features
All with real-world, practical exercises & examples.
Topics Covered in AWS Cloud DBA Course
MySQL Community Server installation on Red Hat Enterprise Linux
GTID-based Replication Setup
AWS Virtual Private Cloud (VPC), Subnets, Security Group, IGW
AWS Command Line Interface Tool (AWS CLI)
XtraBackup
AWS S3 buckets
RDS for MySQL
DB Subnet Groups
DB Parameter Groups
Multi-AZ DB Instance & Clusters
RDS Read Replicas
RDS Automated Backups & DB Snapshots
RDS Events
RDS Proxy
Performance Insight & Enhanced Monitoring
Blue/Green Deployments
Data Migration Services (AWS DMS)
Course Content
Course Introduction
On-Premises MySQL Setup
Setting Up AWS EC2 Replica
AWS S3 Setup
Creating AWS RDS for MySQL
Setting Up RDS Replica
AWS CLI MasterClass
Application Migration to RDS for MySQL
Multi-AZ RDS Setup
RDS Backup & Recovery
RDS Monitoring & Performance Tuning
Amazon RDS for MySQL Features
AWS Data Migration Services (DMS)
Course Wrap-Up
Course Prerequisites
Basic understanding of any RDBMS, especially MySQL. It is highly recommended that, prior to enrolling in this course, you should have taken the Becoming a Production MySQL DBA course.
Who is this course for
Database Administrators
Cloud Administrators
Junior DBAs
MySQL Database Administrators
COURSE UPDATES:
* DBA interview questions added per section
* AWS Database Migration Services (DMS)