How to Install MySQL 8.0 in Ubuntu 18.04

MySQL community server is a free open source, popular and cross-platform database management system. It supports both SQL and NoSQL, and has a pluggable storage engine architecture. Additionally, it also comes with multiple database connectors for different programming languages, allowing you to develop applications using any of the well known languages, and many other features.

It has many use cases under document storage, cloud, high availability systems, IoT (Internet of Things), hadoop, big data, data warehousing, LAMP or LEMP stack for supporting high-volume website/apps and much more.

In this article, we will explain a fresh installation of MySQL 8.0 database system on Ubuntu 18.04 Bionic Beaver. Before we move onto the actual installation steps, let’s look at a summary of:

What’s New in MySQL 8.0

  • The database now incorporates a transactional data dictionary.
  • Comes with Atomic DDL statement support.
  • Enhanced security and account management.
  • Improvements to resource management.
  • Several InnoDB enhancements.
  • New type of backup lock.
  • Default character set has changed to utf8mb4 from latin1.
  • A couple of JSON enhancements.
  • Comes with regular expression support using International Components for Unicode (ICU).
  • New error logging which now uses the MySQL component architecture.
  • Enhancements to MySQL replication.
  • Supports common table expressions(both non-recursive and recursive).
  • Has an enhanced optimizer.
  • Additional window functions and more.

Step 1: Add MySQL Apt Repository

Luckily, there is an APT repository for installing the MySQL server, client, and other components. You need to add this MySQL repository to your system’s package sources list; start by downloading the repository package using the wget tool from the command line.

$ wget -c 

Then install the MySQL repository package using the following dpkg command.

$ sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb 

Note that in the package installation process, you will be prompted to choose MySQL server version and other components such as cluster, shared client libraries, or the MySQL workbench that you want to configure for installation.

MySQL server version mysql-8.0 will be auto-selected, then scroll down to the last option Ok and click [Enter] to finish the configuration and installation of the release package, as shown in the screenshot.

Configure MySQL APT Config
Configure MySQL APT Config

Step 2: Install MySQL Server in Ubuntu 18.04

Next, download the latest package information from all configured repositories, including the recently added MySQL repository.

$ sudo apt update

Then run the following command to install packages for the MySQL community server, client and the database common files.

$ sudo apt-get install mysql-server
Install MySQL 8.0 in Ubuntu 18.04
Install MySQL 8.0 in Ubuntu 18.04

Through the installation process, you will be asked to enter a password for the root user for your MySQL server, re-enter the password to confirm it and press [Enter].

Set MySQL Root Password
Set MySQL Root Password

Next, the MySQL server authentication plugin configuration message will appear, read through it and use the right arrow to choose Ok and press [Enter] to continue.

MySQL Authentication Configuration
MySQL Authentication Configuration

Afterwards, you will be asked to select the default authentication plugin to use, then use the right arrow to choose Ok and press [Enter] to complete the package configuration.

Select MySQL Authentication Plugin
Select MySQL Authentication Plugin

Step 3: Secure MySQL Server Installation

By default, the MySQL installation is unsecure. To secure it, run the security script which comes with the binary package. You will be asked to enter the root password you set during the installation process. Then also choose whether to use the VALIDATE PASSWORD plugin or not.

You can also change the root password you set before (as we have done in this example). Then enter yes/y to the following security questions:

  • Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
  • Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
  • Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
  • Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Launch the script by issuing the following command.

$ sudo mysql_secure_installation
Secure MySQL Server Installation
Secure MySQL Server Installation

To further secure your MySQL server, read our article 12 MySQL/MariaDB Security Best Practices for Linux.

Step 4: Managing MySQL Server via Systemd

On Ubuntu, after installing a package, it’s service(s) are usually started automatically once the package is configured. You can check if the MySQL server is up and running using following command.

$ sudo systemctl status mysql
Check MySQL Server Status
Check MySQL Server Status

If for one reason or the other, it isn’t auto-started, use the commands below to start and enable it to start at system boot time, as follows.

$ sudo systemctl status mysql
$ sudo systemctl enable mysql

Step 5: Install Extra MySQL Products and Components

In addition, you can install extra MySQL components that you feel you need in order to work with the server, such as mysql-workbench-community, libmysqlclient18 and many others.

$ sudo apt-get update
$ sudo apt-get install mysql-workbench-community libmysqlclient18

Finally, to access the MySQL shell, issue the following command.

$ sudo mysql -u root -p
Connect to MySQL Server
Connect to MySQL Server

For more information, read the MySQL 8.0 Release Notes.

That’s It! In this article, we have explained how to install MySQL 8.0 in Ubuntu 18.04 Bioni Beaver. If you have any questions or thoughts to share, use the comment form below to reach us.

Tutorial Feedback...
Was this article helpful? If you don't find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article...

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

17 thoughts on “How to Install MySQL 8.0 in Ubuntu 18.04”

  1. Hi

    Installation on Ubuntu 18.04 is failing like this

    dpkg: error processing package mysql-community-server (--configure): installed mysql-community-server package post-installation script subprocess returned error exit status 137dpkg: dependency problems prevent configuration of mysql-server: mysql-server depends on mysql-community-server (= 8.0.18-1ubuntu18.04); however: Package mysql-community-server is not configured yet.dpkg: error processing package mysql-server (--configure): dependency problems - leaving unconfiguredProcessing triggers for libc-bin (2.27-3ubuntu1) ...No apport report written because the error message indicates its a followup error from a previous failure.E: Sub-process /usr/bin/dpkg returned an error code (1)

    Do you have an idea regarding this?

  2. mysql-server : Depends: mysql-community-server (= 8.0.18-1ubuntu18.04) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

    sudo add-apt-repository universe has not fixed the problem. Please help

  3. hi i am from india and i’m getting follwing error can any one help me out
    The repository ‘ bionic InRelease’ is not signed.

    please help me asap.

    • There is a new deb file provided by mysql that has the correct signature.

      # wget -c

      (notice the 8.13 instead of 8.10)

  4. Hi! I’m from Argentina! I can’t install MySQL 8 and i don’t know why. I followed your steps, but when i see the “configuring” box, i don’t see Mysql8. In the box I see “Mysql 5.7” i and don’t have another option. Then, another problem, is that the system never asks for the password. Can you help me? Sorry for my bad English!

  5. At the beginning of step 3, if you are getting something along the lines of: Table ‘mysql.user’ doesn’t exist:ERROR, be sure to run: “sudo mysql_upgrade -u root“.

  6. Package libmysqlclient18 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    E: Package ‘libmysqlclient18‘ has no installation candidate

    May anyone help me to solve this? I am using Ubuntu 18.04 and followed the tutorial except “Secure MySQL Server Installation”, thanks!

  7. In some newer Ubuntu 18.04 installations, you will run into the following scenario:

    The following packages have unmet dependencies:
    mysql-server : Depends: mysql-community-server (= 8.0.12-1ubuntu18.04) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

    It is necessary to add the ‘universe’ repository with the following command:

    $ sudo add-apt-repository universe

    After that, attempt mysql-server installation and it will be fine.


Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.