You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

In this guide, we will cover how to install MySQL 8.0 on Ubuntu 18.04 and 16.04 LTS Server. If you have an old version of MySQL Server (e.g 5.7), you may need to do in-place upgrade or dump all data, upgrade packages and re-import all database data.

Before you can download MySQL v8.0 to your Ubuntu 18.04 or 16.04 Server, you need to add official MySQL Dev apt repository. Run below command:

$ sudo apt-get install wget
$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
$ sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb 
Selecting previously unselected package mysql-apt-config.
(Reading database ... 127849 files and directories currently installed.)
Preparing to unpack mysql-apt-config_0.8.15-1_all.deb ...
Unpacking mysql-apt-config (0.8.15-1) ...
Setting up mysql-apt-config (0.8.15-1) ...
Warning: apt-key should not be used in scripts (called from postinst maintainerscript of the package mysql-apt-config)
OK

Choose version when prompted.

Select <OK>  and press <Enter> key to confirm version installation.

Once the repo has been added, update apt index and install mysql-server:

sudo apt update
sudo apt install mysql-server

Accept license agreement in the next screens to begin installation.

Set root password for your MySQL database server.

Confirm your root password.

Agree to retain compatibility.

Select the default authentication plugin.

When asked for root password, provide the password and confirm it to set.

Confirm installed version of MySQL server:

$ apt policy mysql-server
 mysql-server:
   Installed: 8.0.19-1debian10
   Candidate: 8.0.19-1debian10
   Version table:
  *** 8.0.19-1debian10 500
         500 http://repo.mysql.com/apt/debian buster/mysql-8.0 amd64 Packages
         100 /var/lib/dpkg/status

From the output, you can see that the version installed is 8.0.19. 

You can start the application if stopped using:

sudo systemctl enable --now mysql

Check status using:

$ systemctl  status  mysql
 ● mysql.service - MySQL Community Server
    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
    Active: active (running) since Sat 2020-03-21 11:15:30 UTC; 2min 31s ago
      Docs: man:mysqld(8)
            http://dev.mysql.com/doc/refman/en/using-systemd.html
  Main PID: 2188 (mysqld)
    Status: "Server is operational"
     Tasks: 38 (limit: 2377)
    Memory: 386.5M
    CGroup: /system.slice/mysql.service
            └─2188 /usr/sbin/mysqld
 Mar 21 11:15:29 deb10 systemd[1]: Starting MySQL Community Server…
 Mar 21 11:15:30 deb10 systemd[1]: Started MySQL Community Server.

Test MySQL 8.0 Database Functionality

You can test if the database server is working fine by creating a test database:

$ sudo mysql -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 

mysql> CREATE DATABASE test_db;
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test_db            |
+--------------------+
5 rows in set (0.01 sec)
mysql> EXIT
Bye

Install Desktop Database Management Tool

If working with MySQL command line is not your thing, then consider installing a Database Tool to help you. Check out our guide below:

Install and Configure DBeaver on Ubuntu / Debian

You can also see below related Articles:

Install Metasploit Framework on Kali Linux 2020.x

Understanding the Linux File System Hierarchy

You can support us by downloading this article as PDF from the Link below. Download the guide as PDF