<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: qudus olamide</title>
    <description>The latest articles on DEV Community by qudus olamide (@qudus_olamide_1d5d6b09476).</description>
    <link>https://dev.to/qudus_olamide_1d5d6b09476</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2143930%2Fe6bb5e9d-6415-4dbd-ab32-4bf1422e6d17.png</url>
      <title>DEV Community: qudus olamide</title>
      <link>https://dev.to/qudus_olamide_1d5d6b09476</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/qudus_olamide_1d5d6b09476"/>
    <language>en</language>
    <item>
      <title>Kubernetes ConfigMap: What It Is and Why You Need It</title>
      <dc:creator>qudus olamide</dc:creator>
      <pubDate>Fri, 03 Jan 2025 21:39:24 +0000</pubDate>
      <link>https://dev.to/qudus_olamide_1d5d6b09476/kubernetes-configmap-what-it-is-and-why-you-need-it-55mn</link>
      <guid>https://dev.to/qudus_olamide_1d5d6b09476/kubernetes-configmap-what-it-is-and-why-you-need-it-55mn</guid>
      <description>&lt;p&gt;Managing configuration effectively is crucial for building scalable and maintainable Kubernetes applications. Enter ConfigMaps—a Kubernetes-native way to handle configuration seamlessly. But why does Kubernetes call it ConfigMap, and why should you use it? Let’s dive in!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Kubernetes Calls It ConfigMap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes calls it a ConfigMap because its purpose is to map configuration data into your application in a flexible and dynamic way. The name emphasizes its function: managing configuration separately from application code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Need for ConfigMaps&lt;/strong&gt;                                                   &lt;/p&gt;

&lt;p&gt;Storing environment variables directly in files or hardcoding them in your app can be inflexible and is not considered a good practice. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Here’s why ConfigMaps are better:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Separation of Concerns&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Without ConfigMap: Hardcoding environment variables in files or application code means any changes require modifying and redeploying your application.&lt;/p&gt;

&lt;p&gt;With ConfigMap: Decouples configuration from code and deployment manifests. You can update the configuration without redeploying the app.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Centralized Configuration Management&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Manage configuration data for multiple applications or services in one place.&lt;/p&gt;

&lt;p&gt;Avoid scattering environment variables across multiple files.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Dynamic Updates&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With ConfigMap: Update the configuration dynamically if your app supports it.&lt;/p&gt;

&lt;p&gt;Without ConfigMap: Manually edit and redeploy the app to apply changes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Kubernetes-Native Integration&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ConfigMaps integrate seamlessly with Kubernetes resources like Pods and Deployments, making them ideal for managing app settings in Kubernetes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Flexible Usage&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ConfigMaps can be used in multiple ways:&lt;/p&gt;

&lt;p&gt;As environment variables.&lt;/p&gt;

&lt;p&gt;Mounted as configuration files inside containers.&lt;/p&gt;

&lt;p&gt;Accessed directly by applications.&lt;/p&gt;

&lt;p&gt;Practical Example&lt;/p&gt;

&lt;p&gt;Here’s how you can use a ConfigMap in Kubernetes:&lt;/p&gt;

&lt;p&gt;Define a ConfigMap:&lt;/p&gt;

&lt;p&gt;apiVersion: v1&lt;br&gt;
kind: ConfigMap&lt;br&gt;
metadata:&lt;br&gt;
  name: app-config&lt;br&gt;
data:&lt;br&gt;
  DATABASE_HOST: db-service&lt;br&gt;
  LOG_LEVEL: debug&lt;/p&gt;

&lt;p&gt;Reference the ConfigMap in a Deployment:&lt;/p&gt;

&lt;p&gt;env:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;name: DATABASE_HOST
valueFrom:
configMapKeyRef:
  name: app-config
  key: DATABASE_HOST&lt;/li&gt;
&lt;li&gt;name: LOG_LEVEL
valueFrom:
configMapKeyRef:
  name: app-config
  key: LOG_LEVEL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Update the ConfigMap&lt;/p&gt;

&lt;p&gt;Modify the ConfigMap without changing the deployment to update configurations dynamically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations of ConfigMaps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While ConfigMaps offer significant benefits, they have some limitations:&lt;/p&gt;

&lt;p&gt;No Versioning or Change Tracking:&lt;/p&gt;

&lt;p&gt;ConfigMaps do not inherently track changes or versions.&lt;/p&gt;

&lt;p&gt;Workaround: Use tools like Git or Helm to manage ConfigMap changes.&lt;/p&gt;

&lt;p&gt;Not Suitable for Sensitive Data:&lt;/p&gt;

&lt;p&gt;ConfigMaps are not encrypted at rest.&lt;/p&gt;

&lt;p&gt;Workaround: Use Kubernetes Secrets for sensitive data.&lt;/p&gt;

&lt;p&gt;Limited Dynamic Capabilities:&lt;/p&gt;

&lt;p&gt;Cannot generate dynamic values or perform templating like Jinja templates.&lt;/p&gt;

&lt;p&gt;Workaround: Use Helm or Kustomize for dynamic configuration.&lt;/p&gt;

&lt;p&gt;Data Size Limitations:&lt;/p&gt;

&lt;p&gt;ConfigMaps have a 1 MB size limit.&lt;/p&gt;

&lt;p&gt;Workaround: Break large configurations into multiple ConfigMaps or use mounted volumes.&lt;/p&gt;

&lt;p&gt;Namespace-Scoped:&lt;/p&gt;

&lt;p&gt;ConfigMaps are tied to a single namespace.&lt;/p&gt;

&lt;p&gt;Workaround: Duplicate ConfigMaps across namespaces or use cluster-wide tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While environment variables in files may suffice for small setups, ConfigMaps provide better flexibility, scalability, and maintainability for managing configurations in Kubernetes. They align with the best practice of separating configuration from code and deployments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Call to Action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;How do you use ConfigMaps in your Kubernetes setup? Do you have any tips or unique use cases? Share your thoughts in the comments below!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Architecture of Kubernetes</title>
      <dc:creator>qudus olamide</dc:creator>
      <pubDate>Sat, 14 Dec 2024 12:24:07 +0000</pubDate>
      <link>https://dev.to/qudus_olamide_1d5d6b09476/architecture-of-kubernetes-17lk</link>
      <guid>https://dev.to/qudus_olamide_1d5d6b09476/architecture-of-kubernetes-17lk</guid>
      <description>&lt;p&gt;Kubernetes, also known as k8s, is an open-source container orchestration platform that manages Docker containers in the form of a cluster. The Kubernetes architecture consists of a master node (control plane) and multiple worker nodes (data plane).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control Plane Components&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;API Server&lt;/em&gt;&lt;/strong&gt;:
The core component of Kubernetes that resides on the master node. Acts as the gateway between the Kubernetes cluster and the external world, exposing Kubernetes functionalities through RESTful APIs.
Handles requests for operations such as deploying applications, scaling workloads, or retrieving cluster information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Scheduler&lt;/em&gt;&lt;/strong&gt;:
Responsible for scheduling pods or resources to worker nodes. Uses information from the API server to decide which node is best suited for a given workload, taking factors like resource availability and constraints into account.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Controller Manager&lt;/strong&gt;&lt;/em&gt;:
Ensures that the desired state of the cluster, as defined in configurations (e.g., YAML files), is maintained.
Manages tasks such as maintaining replicas of pods (via ReplicaSets), handling node failures, and ensuring persistent storage is bound to the correct pods.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;etcd&lt;/strong&gt;&lt;/em&gt;:
A distributed key-value store that serves as Kubernetes' database.
Stores all cluster data, including configurations and the current state of the cluster.
Acts as a backup and ensures consistency across the cluster.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Cloud Controller Manager&lt;/strong&gt;&lt;/em&gt;:
An optional component used for integrating Kubernetes with cloud providers.
Manages cloud-specific services such as load balancers, storage provisioning, and network routes.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Data Plane Components&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Kubelet&lt;/strong&gt;&lt;/em&gt;:
A Kubernetes agent running on each worker node. Responsible for pod lifecycle management and ensuring the containers in a pod are running as expected.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Container Runtime&lt;/strong&gt;&lt;/em&gt;:
Enables containers to run on a node. Examples include Docker, containerd, and CRI-O.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Kube-proxy&lt;/strong&gt;&lt;/em&gt;:
A network proxy that manages networking rules on worker nodes. Assigns IP addresses to pods and handles load balancing for services within the cluster.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Real-World Example&lt;/strong&gt;&lt;br&gt;
Imagine an e-commerce platform like Amazon that handles millions of users daily. Kubernetes can be used to:&lt;br&gt;
• Deploy microservices for user authentication, product catalogs, and payment systems.&lt;br&gt;
• Scale workloads automatically during peak shopping seasons.&lt;br&gt;
• Ensure high availability by replicating critical services across multiple worker nodes.&lt;br&gt;
• Handle rolling updates and rollbacks seamlessly for new features or fixes.&lt;br&gt;
Diagram&lt;br&gt;
Below is a simplified representation of the Kubernetes architecture:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0gllgggllfcexp1c822e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0gllgggllfcexp1c822e.jpg" alt="Image description" width="800" height="624"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Additional Notes&lt;/strong&gt;&lt;br&gt;
• Pods are the smallest deployable units in Kubernetes and represent a single instance of a running process in a cluster. A pod can contain one or more containers.&lt;br&gt;
• The control plane ensures that the cluster operates as intended, while the data plane performs the actual work of running containers and providing networking.&lt;br&gt;
Kubernetes’ architecture enables it to manage complex containerized applications with high availability, scalability, and resilience.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Step-by-Step Setup: MySQL Database Server on AWS EC2</title>
      <dc:creator>qudus olamide</dc:creator>
      <pubDate>Sun, 29 Sep 2024 23:58:29 +0000</pubDate>
      <link>https://dev.to/qudus_olamide_1d5d6b09476/step-by-step-setup-mysql-database-server-on-aws-ec2-5cjd</link>
      <guid>https://dev.to/qudus_olamide_1d5d6b09476/step-by-step-setup-mysql-database-server-on-aws-ec2-5cjd</guid>
      <description>&lt;p&gt;When setting up a MySQL database on an EC2 instance using Ubuntu as your AMI (Amazon Machine Image), it's essential to grasp some key concepts first:&lt;/p&gt;

&lt;p&gt;Key Concepts:&lt;/p&gt;

&lt;p&gt;Database: A collection of organized information, made up of database &lt;br&gt;
objects.&lt;/p&gt;

&lt;p&gt;Database Object: Fundamental components that help organize, control, and access data effectively. Examples include tables, queries, forms, reports, etc.&lt;/p&gt;

&lt;p&gt;Database Management System (DBMS): Software used to manage databases. Examples include MySQL, MongoDB, PostgreSQL, Oracle, and Microsoft SQL.&lt;/p&gt;

&lt;p&gt;Relational Database: A database where data is stored in tables, with relationships between tables based on shared data.&lt;/p&gt;

&lt;p&gt;Relational Database Management System (RDBMS): Software that maintains relational databases. Examples include MySQL, PostgreSQL, Microsoft SQL, and Oracle.&lt;/p&gt;

&lt;p&gt;Database interaction occurs through web applications or directly through SQL commands. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F950ofjrq7pztuyip3y5a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F950ofjrq7pztuyip3y5a.png" alt="Image description" width="240" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The four core database operations (CRUD) are:&lt;br&gt;
C - Create&lt;br&gt;
R – Read&lt;br&gt;&lt;br&gt;
U - Update&lt;br&gt;
D - Delete&lt;/p&gt;

&lt;p&gt;Setting Up a MySQL Database Server on EC2:&lt;/p&gt;

&lt;p&gt;Now that we understand these key concepts, let's walk through the steps to set up MySQL on an EC2 instance:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Launch the EC2 Instance&lt;br&gt;
Start by launching your EC2 instance and selecting Ubuntu as your AMI. Once the instance is running, update the operating system by executing:&lt;br&gt;
$ &lt;em&gt;sudo apt update -y&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install MySQL Server&lt;br&gt;
Install MySQL by running the following command:&lt;br&gt;
$ &lt;em&gt;sudo apt install mysql-server -y&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Verify Installation&lt;br&gt;
Confirm that MySQL is installed by checking the version:&lt;br&gt;
$ &lt;em&gt;mysql –version&lt;/em&gt;   or    locate the installation:  $ &lt;em&gt;which mysql&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check MySQL Status&lt;br&gt;
Ensure that the MySQL service is running with this command&lt;br&gt;
$ &lt;em&gt;sudo systemctl status mysql&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Securing MySQL:&lt;/p&gt;

&lt;p&gt;After installing MySQL, the next best practice is to secure the installation. This involves setting a root password, removing anonymous users, and disabling remote root login. Run the secure installation script:&lt;br&gt;
$ &lt;em&gt;sudo mysql_secure_installation&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This script will guide you through the following steps:&lt;br&gt;
Setting a root password&lt;br&gt;
Removing anonymous users&lt;br&gt;
Disallowing root login remotely&lt;br&gt;
Removing the test database&lt;br&gt;
Once secured, you’re ready to start using MySQL.&lt;/p&gt;

&lt;p&gt;Interacting with MySQL:&lt;/p&gt;

&lt;p&gt;MySQL uses Structured Query Language (SQL) to manage data. To interact with the MySQL server, enter the MySQL shell:&lt;br&gt;
$ &lt;em&gt;sudo mysql&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Within the MySQL shell (denoted by mysql&amp;gt;), here are a few useful commands:&lt;br&gt;
mysql&amp;gt; &lt;em&gt;SHOW DATABASES;&lt;/em&gt;&lt;br&gt;
mysql&amp;gt; &lt;em&gt;USE mysql;&lt;/em&gt;&lt;br&gt;
mysql&amp;gt; &lt;em&gt;SHOW TABLES;&lt;/em&gt;&lt;br&gt;
_&lt;br&gt;
Creating a Database and Table:&lt;br&gt;
Let's now create a database and a table inside the MySQL server.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Database
To create a new database, use the CREATE DATABASE SQL command. 
For example,
mysql&amp;gt; &lt;em&gt;CREATE DATABASE schoolDB;&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndx3bvulb2gec710bnjo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndx3bvulb2gec710bnjo.png" alt="Image description" width="271" height="155"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Table
To create a table in a database use the SQL command:
&lt;em&gt;CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);&lt;/em&gt;
For example, we create a table named subject in the schoolDB database:
mysql&amp;gt; &lt;em&gt;CREATE TABLE subject (
ID int,
First_name varchar(10),
Last_name varchar(10)
);&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj3frofwfsjkzwhcd2vhv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj3frofwfsjkzwhcd2vhv.png" alt="Image description" width="311" height="208"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;View Tables
After creating the table, view the list of tables:
mysql&amp;gt; &lt;em&gt;SHOW TABLES;&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fel37rdg5g70vcdr2bta0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fel37rdg5g70vcdr2bta0.png" alt="Image description" width="288" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inserting and Retrieving Data:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Insert Data into the Table
Use the INSERT INTO statement to add records.
&lt;em&gt;INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);&lt;/em&gt;
Here's an example:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;mysql&amp;gt; &lt;em&gt;INSERT INTO subject (ID, First_name, Last_name)&lt;br&gt;
    VALUES (1, 'Qudus', 'Dosunmu');&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9quh8pv59u4jmcjzhpr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9quh8pv59u4jmcjzhpr8.png" alt="Image description" width="566" height="98"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Retrieve Data
To view the records you’ve inserted, use the SELECT statement:
mysql&amp;gt; &lt;em&gt;SELECT * FROM subject;&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq9ds0c692lpn56n65twt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq9ds0c692lpn56n65twt.png" alt="Image description" width="352" height="170"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NOTE:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;MySQL is not case-sensitive, so commands can be entered in uppercase or lowercase.&lt;/li&gt;
&lt;li&gt;Always end SQL commands with a semicolon (;).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion&lt;br&gt;
With this step-by-step guide, you can now deploy and interact with a MySQL database on an EC2 instance. If you're looking to expand your knowledge or troubleshoot, feel free to reach out or share your experiences!&lt;/p&gt;

&lt;p&gt;Sources &amp;amp; Credits:&lt;br&gt;
W3school&lt;br&gt;
Fredrick Achiever&lt;br&gt;
Skill Afrika Cloud Computing Bootcamp For Beginners&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
