How To

Install MySQL Ubuntu 24.04 for Secure Database Setup

If you want to Install MySQL Ubuntu servers for web applications, development, or database hosting, Ubuntu 24.04 offers a fast and reliable setup process. MySQL remains one of the most trusted relational database systems because of its speed, scalability, and compatibility with modern applications.

This guide walks through installing MySQL 8.0 on Ubuntu 24.04, securing the database server, creating users, and enabling remote access safely.

Why Install MySQL Ubuntu Servers?

MySQL powers thousands of websites and enterprise applications worldwide. It integrates perfectly with Linux-based hosting environments like LAMP and LEMP stacks.

Ubuntu 24.04 includes MySQL 8.0 in its official repositories, making installation straightforward without downloading external packages.

Whether you are deploying WordPress, Laravel, or custom applications, MySQL delivers reliable performance and easy database management.

Install MySQL Ubuntu 24.04

Start by updating your package index:

sudo apt update

Next, install the MySQL server package:

sudo apt install mysql-server

After installation, verify that the MySQL service is running correctly:

sudo systemctl status mysql

You should see the service marked as active and enabled.

To check the installed version, run:

mysql --version

This confirms that MySQL 8.0 is successfully installed on Ubuntu 24.04.

Secure Install MySQL Ubuntu Systems

After installation, securing the database server is highly recommended. MySQL provides a built-in hardening script for this purpose.

Run:

sudo mysql_secure_installation

The script helps you:

  • Set password validation rules
  • Remove anonymous accounts
  • Disable remote root login
  • Delete test databases
  • Reload security privileges

Choose strong password policies whenever possible to improve server protection.

Logging Into MySQL

Ubuntu configures MySQL root authentication using the auth_socket plugin by default. This means you can access MySQL using sudo without entering a separate root password.

Log in with:

sudo mysql

Once inside the MySQL shell, you can manage databases, users, and permissions directly.

Exit the shell using:

exit;

Create a Database and User

For security reasons, avoid using the root account for applications.

Create a new database:

CREATE DATABASE myapp;

Create a dedicated user:

CREATE USER 'myappuser'@'localhost' IDENTIFIED BY 'strong_password';

Grant permissions:

GRANT ALL PRIVILEGES ON myapp.* TO 'myappuser'@'localhost';FLUSH PRIVILEGES;

This approach improves database security and keeps application access isolated.

Enable Remote Access Securely

By default, MySQL only accepts local connections. If remote access is required, edit the MySQL configuration file:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Update the bind address:

bind-address = 0.0.0.0

Restart MySQL afterward:

sudo systemctl restart mysql

Allow MySQL traffic through the firewall:

sudo ufw allow 3306/tcp

However, avoid exposing MySQL publicly unless absolutely necessary. Restrict access to trusted IP addresses whenever possible.

Conclusion

Learning how to Install MySQL Ubuntu systems is essential for developers, administrators, and hosting environments. Ubuntu 24.04 simplifies the process with official repositories, secure defaults, and reliable package management.

After installation, remember to secure the server, create dedicated users, and carefully manage remote access to maintain a safe and stable database environment.

Cyber Defence

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

5 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

5 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

6 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago