How to Install MySQL on Ubuntu 22.04

MySQL is a relational database management system (RDBMS) developed by Oracle that is based on structured query language (SQL). A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or a place to hold the vast amounts of information in a corporate network.

In this tutorial, i am going to show you how to install, configure and secure MySQL on ubuntu 22.04 system.

How to Install MySQL on Ubuntu 22.04

Follow the below given steps to install, configure and secure MySQL on ubuntu 22.04 system:

  • Step 1 – Update System Dependencies
  • Step 2 – Install MySQL
  • Step 3 – Securing MySQL
  • Step 4 – Login to MySQL as root
    • Method 1: Create New user
    • Method 2: Change Authentication Method

Step 1 – Update System Dependencies

Run the following command to update latest system dependencies in linux server:

sudo apt update
sudo apt upgrade

Step 2 – Install MySQL

Run following command to install Mysql latest version in ubuntu 22.04 system:

sudo apt install mysql-server

Once the MySQL installation is completed, the MySQL service will start automatically. To verify that the MySQL server is running, execute the following command on command prompt:

sudo service mysql status

The output should show that the service is enabled and running:

● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-04-29 00:38:45 UTC; 11s ago
    Process: 13836 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, statu>
   Main PID: 13844 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1151)
     Memory: 351.4M
        CPU: 1.043s
     CGroup: /system.slice/mysql.service
             └─13844 /usr/sbin/mysqld

Step 3 – Securing MySQL

Run the following to secure Mysql on ubuntu 22.04 system:

sudo mysql_secure_installation

Will be asked to configure the VALIDATE PASSWORD PLUGIN which is used to test the strength of the MySQL users passwords and improve the security.

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: 

Press y if you want to set up the validate password plugin or any other key to move to the next step.

There are three levels of password validation policy, low, medium, and strong; is as follows:

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 

Enter 2 for strong password validation.

On the next prompt, will be asked to set a password for the MySQL root user.

Please set the password for root here.

If we set up the validate password plugin, the script will show you the strength of your new password. Type y to confirm the password.

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

Next, asked to remove the anonymous user, restrict root user access to the local machine, remove the test database, and reload privilege tables. You should answer y to all questions.

Step 4 – Login to MySQL as root

In MySQL 8.0, the root user is authenticated by the auth_socket plugin by default.

The auth_socket plugin authenticates users that connect from the localhost through the Unix socket file. This means that you can’t authenticate as root by providing a password.

To log in to the MySQL server as the root user, execute the following command.

sudo mysql

we will be presented with the MySQL shell, as shown below:

Now we can change the authentication type which helps you to login to your MySQL server as root using an external program such as phpMyAdmin.

We can do this using two methods listed below

Method 1: Create New user

This is the recommended option by creating a new dedicated administrative user with access to all databases:

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES; 

Method 2: Change Authentication Method

we can change the authentication method from auth_socket to mysql_native_password. You can do that by running the following command:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

Conclusion

In this tutorial, i have shown to you how to install, configure and secure MySQL on ubuntu 22.04 system.

More Tutorials

Leave a Comment