GOVERNMENT COLLEGE OF TECHNOLOGY
COIMBATORE-641013
REPORT
MYSQL Database on Cloud Virtual Machine
TEAM MEMBERS:
[Link] M – 2303717720521051
[Link] S V – 2303717720521005
[Link] S – 2303717720521029
[Link] G – 2303717720522021
[Link] V – 230371772052006
[Link] DHARSINI S - 2303717720522010
[Link] S – 2303717720522014
[Link] LAKSHMI A - 2303717720522003
Introduction
Cloud storage is a service that allows users to save data and files on remote
servers accessible via the internet.
It provides scalable, secure, and redundant storage without relying on local
devices.
With cloud storage, files and databases can be accessed anytime, from
anywhere, on any device.
What is MySQL?
MySQL is an open-source Relational Database Management System (RDBMS).
It uses SQL (Structured Query Language) to manage and manipulate data
stored in tabular form.
Key features include:
Support for transactions, indexing, triggers, views, and stored
procedures.
Lightweight and fast performance.
Wide community support and easy integration.
Why Do We Need the Cloud?
Cloud computing offers several advantages over traditional hardware setups:
Cost-Effective: No capital expenditure on physical servers.
Scalability: Easily adjust resources based on demand.
Flexibility: Access services from anywhere with an internet connection.
Business Continuity: Enables efficient data backup and disaster recovery.
Speed: Resources can be provisioned quickly, encouraging innovation.
Why Use a Virtual Machine (VM) for MySQL?
Using a VM for running MySQL databases provides multiple benefits:
Access Anywhere: Connect to your SQL database from any device with
internet.
No Need for Powerful PC: Run the database in the cloud without high-
end hardware.
Full Control: Install and configure MySQL as per your needs.
Great for Learning: Ideal for students and developers for practice.
Secure & Backup: Automatic backups and cloud security features.
Cost-Effective: Rent VMs instead of investing in expensive physical
servers.
What is the Railway Platform?
Railway is a cloud platform for application and database hosting.
It is especially great for developers due to:
Git Integration: Supports CI/CD (Continuous Integration/Deployment)
workflows.
Version Control & Automation: Easily manage and automate
deployments.
Support for Docker, APIs, and Environment Variables.
Auto Scaling: Automatically handles more traffic.
Easy Collaboration: Share preview links and work as a team.
Setting Up a Railway Project
Step-by-step to set up a MySQL project on Railway:
1. Create a Railway Account and log in to the dashboard.
2. Click "New Project" and select "Blank Project".
3. Initialize a Git repository and connect it to Railway.
4. Add MySQL plugin or set up a Docker environment.
5. Define environment variables for database credentials (DB secrets).
6. Open required ports (e.g., 3306 for MySQL).
7. Deploy the service and test the connection.
Installing MySQL on a VM
Follow these steps to install MySQL on a Cloud VM:
1. Update system packages
sudo apt update
2. Install MySQL Server
sudo apt install mysql-server
3. Secure the installation:
o Set the root password.
o Remove test databases and anonymous users.
4. Create users and set permissions:
o Control who can access and what they can do.
5. Configure remote access (if needed):
o Allow external devices to connect to the MySQL server.
o Set firewall rules accordingly.
Connecting to MySQL
You can connect to your MySQL server using:
CLI (Command Line Interface):
mysql -u username -p -h host_ip
GUI Tools (Graphical User Interfaces):
o MySQL Workbench
o DBeaver
Tip: Use a .env file to store sensitive credentials like username, password, and
host to keep them secure.
Features of VM for MySQL Hosting
Isolation: Each VM runs separately to ensure security and stability.
OS-Level Access: Install and configure OS packages and settings.
Custom Configuration: Adjust MySQL settings for optimized
performance.
Snapshot & Rollback: Save VM states for backups before major changes.
Remote Access: Manage your database remotely via SSH.
Resource Control: Allocate RAM and CPU to control performance.
Advantages of Using VM for MySQL
High Flexibility:
o Install any MySQL version.
o Customize database settings.
Cost Efficient:
o Use free-tier or low-cost VMs for learning and small projects.
Improved Security:
o Isolated VMs reduce security risks.
o Configure SSH, firewalls, and user permissions.
Scalable Resources:
o Upgrade CPU and RAM anytime as per need.
Experiment-Friendly:
o Safe space for developers to try new setups.
Full Control:
o Root access to customize OS, scripts, and database settings.
Conclusion
Running MySQL databases on a Cloud Virtual Machine provides flexibility, cost-
efficiency, security, and scalability.
It is a powerful option for developers, students, and businesses to practice,
learn, and deploy real-world applications easily.
Cloud computing and database hosting continue to shape the future of IT and
development.