Install Percona Server for MySQL on Ubuntu 16.04 | 18.04

Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona. It is a free open source replacement for MySQL community database server with enterprise features, stability and support.

Percona MySQL server is a drop-in replacement for MySQL server. So you can replace MySQL Server on your system and applications that depend on MySQL won’t know the difference. If you want enterprise features with MySQL, then you may want to try Percona for MySQL.

For more about Percona for MySQL, please check its homepage.

This brief tutorial shows students and new users how to install Percona for MySQL server on Ubuntu 16.04 | 18.04To get Percona for MySQL installed, follow the steps below:

Step 1: Add Percona MySQL Repository

To get the latest version of Percona for MySQL, you will want to add its repository to Ubuntu. To do that, run the commands below:

sudo apt update
sudo apt install wget
wget  -sc)_all.deb

After that, run the commands below to install the repository file

sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

When you run the commands above, it will create a repository file at the default Ubuntu package repository folder. You should get a message below when done:

The percona-release package now contains a percona-release script that can enable additional repositories for our newer products.
For example, to enable the Percona Server 8.0 repository use:
  percona-release setup ps80
Note: To avoid conflicts with older product versions, the percona-release setup command may disable our original repository for some products.

Step 2: Install Percona for MySQL

Now that Percona repository is installed, you can now install the server. to do that run the commands below:

sudo percona-release setup ps80
sudo apt update
sudo apt install percona-server-server

The commands above enable Percona repository, refresh the package archive and install Percona for MySQL server. During the installation, you’ll be prompted to create a root password.

Package configuration

  ┌──────────────────┤ Configuring percona-server-server ├───────────────────┐
  │ Please provide a strong password that will be set for the root account   │ 
  │ of your MySQL database. Leave it blank to enable password less login     │ 
  │ using UNIX socket based authentication.                                  │ 
  │                                                                          │ 
  │ Enter root password:                                                     │ 
  │                                                                          │ 
  │ ********________________________________________________________________ │ 
  │                                                                          │ 
  │                              <Ok>                                        │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘ 

If you run legacy applications like phpMyAdmin and others, you’ll want to use the legacy authentication options as highlighted below:

Package configuration

 ┌───────────────────┤ Configuring percona-server-server ├────────────────────┐
 │ Select default authentication plugin                                       │
 │                                                                            │
 │     Use Strong Password Encryption (RECOMMENDED)                           │
 │     Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)      │
 │                                                                            │
 │                                                                            │
 │                                <Ok>                                        │
 │                                                                            │
 └────────────────────────────────────────────────────────────────────────────┘

Just like MySQL, you can run the commands below to secure MySQL installation.

sudo mysql_secure_installation

Then use the guide below to answer the prompts:

Securing the MySQL server deployment.

Enter password for user root: 

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: N 
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 . skipping.
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.

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
Success.

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
 - 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
Success.

All done! 

That’s it!

Now you can logon to Percona for MySQL using the same command as below:

sudo mysql -u root -p

Enjoy!

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.13-3 Percona Server (GPL), Release '3', Revision 'a920dd6'

Copyright (c) 2009-2018 Percona LLC and/or its affiliates
Copyright (c) 2000, 2018, 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.

You may also like the post below: