MySQL is a free and open-source relational database management system for Linux-based operating systems. MySQL is the most widely used database system and is used for many open-source projects and high availability systems. If your server is running the older version of MySQL 5.7, then it is recommended to install MySQL 8 to use newly released features.
In this tutorial, we will explain how to install MySQL 8 on Ubuntu 18.04.
Step 1 – Install MySQL 8 Repository
By default, MySQL 8 is not available in the Ubuntu 18.04 default repository, so you will need to add the MySQL 8 repository in your system.
First, download the repository package with the following command:
apt-get update -y wget -c https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb
Once downloaded, install the downloaded package with the following command:
dpkg -i mysql-apt-config_0.8.13-1_all.deb
During the installation process, you will be asked to choose the MySQL version as shown in the following screen:
Scroll down, select Ok and hit Enter to finish the installation.
Step 2 – Install MySQL 8
Next, update the repository with the following command:
apt-get update -y
Once the repository is updated, run the following command to install MySQL 8 in your system.
apt-get install mysql-server -y
During the installation process, you will be asked to set the MySQL root password as shown below:
Next, you will need to select the default authentication plugin for MySQL as shown below:
Select “Use Strong Password Encryption” and hit Enter to finish the installation.
Next, you can verify the installed version of the MySQL with the following command:
mysql -V
You should get the following output:
mysql Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)
Step 3 – Manage MySQL Service
You can manage the MySQL service with the systemctl utility.
To start the MySQL service, run the following command:
systemctl start mysql
To enable the MySQL service to start after a system reboot, run the following command:
systemctl enable mysql
To check the status of the MySQL service, run the following command:
systemctl status mysql
Output:
Step 4 – Secure MySQL Installation
It is also recommended to secure the MySQL installation and set the MySQL root password. You can do it using the mysql_secure_installation script:
mysql_secure_installation
You will be asked to provide your current root MySQL password as shown below:
Securing the MySQL server deployment. Enter password for user root:
Provide your root password and hit Enter. You will be asked to validate the password to improve security as shown below:
Type Y and hit Enter to check the password strength as shown below:
Here, you can select your desired password strength and hit Enter to continue:
Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y
Type Y and hit Enter to change the password to one with the selected password strength:
New password: Re-enter new password:
Type your new password and hit Enter to continue. You should see the following output:
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) : Y
Type Y and hit Enter to continue with your provided password as shown below:
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success.
Next, type Y and hit Enter to remove the anonymous user. You should see the following output:
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Next, type Y and hit Enter to disallow root login from the remote machine. You should see the following output:
By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Type Y and hit Enter to remove the test database. You should see the following output:
- Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Finally, type Y and hit Enter to reload the privileges tables.
Conclusion
Congratulations! You have successfully installed and secured MySQL 8 on Ubuntu 18.04. You can now connect to MySQL and create a database, user, or table and integrate it with many applications. Get started with MySQL today on VPS Hosting from Atlantic.Net!