Installing Percona Server for MySQL on Debian and Ubuntu 20.04

  • Post author:
  • Post category:Linux
  • Post comments:2 Comments

Ready-to-use packages are available from the Percona Server for MySQL software repositories and the download page.

Specific information on the supported platforms, products, and versions is described in Percona Software and Platform Lifecycle.

What’s in each DEB package?

The percona-server-server-5.7 package contains the database server itself, the MySQL binary, and associated files.

The percona-server-common-5.7 package contains files common to the server and client.

The percona-server-client-5.7 package contains the command-line client.

The percona-server-5.7-dbg package contains debug symbols for the server.

The percona-server-test-5.7 package contains the database test suite.

The percona-server-source-5.7 package contains the server source.

The libperconaserverclient20-dev package contains header files needed to compile software to use the client library.

The libperconaserverclient20 package contains the client shared library. The 20.04 is a reference to the version of the shared library. The version is incremented when there is an ABI change that requires software using the client library to be recompiled or its source code modified.

Installing Percona Server for MySQL from Percona apt repository

  1. Install GnuPG, the GNU Privacy Guard:
  1. $ sudo apt-get install gnupg2
  1. Fetch the repository packages from Percona web:
  1. $ wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
  1. Install the downloaded package with dpkg. To do that, run the following commands as root or with sudo:
  1. $ sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
  1. Remember to update the local cache:
  1. $ sudo apt-get update
    • Once you install this package the Percona repositories should be added. You can check the repository setup in the /etc/apt/sources.list.d/percona-release.list file.
  1. After that you can install the server package:
  1. $ sudo apt-get install percona-server-server-5.7

Note

Percona Server for MySQL 5.7 comes with the TokuDB storage engine and MyRocks storage engine. These storage engines are installed as plugins.

For information on how to install and configure TokuDB, refer to the TokuDB Installation guide.

For information on how to install and configure MyRocks, refer to the Percona MyRocks Installation Guide guide.

The Percona Server for MySQL distribution contains several useful User Defined Functions (UDF) from Percona Toolkit. After the installation completes, run the following commands to create these functions:

mysql -e “CREATE FUNCTION fnvla_64 RETURNS INTEGER SONAME ‘libfnvla_udf.so'”

mysql -e “CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME ‘libfnv_udf.so'”

mysql -e “CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME ‘libmurmur_udf.so'”

For more details on the UDFs, see Percona Toolkit UDFS.

Percona apt Testing repository

Percona offers pre-release builds from the testing repository. To enable it, run percona-release with the testing argument. Run this command as root or by using the Sudo command.

$ sudo percona-release enable original testing

Apt-Pinning the packages

In some cases, you might need to “pin” the selected packages to avoid the upgrades from the distribution repositories. You’ll need to make a new file /etc/apt/preferences.d/00percona.pref and add the following lines in it:

Package: *

Pin: release o=Percona Development Team

Pin-Priority: 1001

For more information about pinning, you can check the official debian wiki.

Installing Percona Server for MySQL using downloaded deb packages

Download the packages of the desired series for your architecture from the download page. The easiest way is to download a bundle that contains all the packages. The following example will download Percona Server for MySQL 5.7.10-3 release packages for Debian 8.0:

$ wget https://www.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.10-3/binary/debian/jessie/x86_64/Percona-Server-5.7.10-3-r63dafaf-jessie-x86_64-bundle.tar

You should then unpack the bundle to get the packages:

$ tar xvf Percona-Server-5.7.10-3-r63dafaf-jessie-x86_64-bundle.tar

After you unpack the bundle you should see the following packages:

$ ls *.deb

libperconaserverclient20-dev_5.7.10-3-1.jessie_amd64.deb

libperconaserverclient20_5.7.10-3-1.jessie_amd64.deb

percona-server-5.7-dbg_5.7.10-3-1.jessie_amd64.deb

percona-server-client-5.7_5.7.10-3-1.jessie_amd64.deb

percona-server-common-5.7_5.7.10-3-1.jessie_amd64.deb

percona-server-server-5.7_5.7.10-3-1.jessie_amd64.deb

percona-server-source-5.7_5.7.10-3-1.jessie_amd64.deb

percona-server-test-5.7_5.7.10-3-1.jessie_amd64.deb

percona-server-tokudb-5.7_5.7.10-3-1.jessie_amd64.deb

Now you can install Percona Server for MySQL by running:

$ sudo dpkg -i *.deb

This will install all the packages from the bundle. Another option is to download/specify only the packages you need for running Percona Server for MySQL installation (libperconaserverclient20_5.7.10-3-1.jessie_amd64.deb, percona-server-client-5.7_5.7.10-3-1.jessie_amd64.deb, percona-server-common-5.7_5.7.10-3-1.jessie_amd64.deb, and percona-server-server-5.7_5.7.10-3-1.jessie_amd64.deb. Optionally you can install percona-server-tokudb-5.7_5.7.10-3-1.jessie_amd64.deb if you want TokuDB storage engine).

Note

Percona Server for MySQL 5.7 comes with the TokuDB storage engine. You can find more information on installing and enabling the TokuDB storage in the TokuDB Installation guide.

Warning

When installing packages manually like this, you’ll need to make sure to resolve all the dependencies and install missing packages yourself. Following packages will need to be installed before you can manually install Percona Server: mysql-common, libjemalloc1, libaio1, and libmecab2

The following table lists the default locations for files:

FilesLocation
mysqld server/usr/sbin
Configuration/etc/mysql/my.cnf
Data directory/var/lib/mysql
Logs/var/log/mysql

Note

Debian and Ubuntu installation does not automatically create a special Debian-sys-maint user which can be used by the control scripts to control the Percona Server for MySQL mysqld and mysqld_safe services like was the case with previous Percona Server for MySQL versions. If you still require this user you must create the user manually.

Running Percona Server for MySQL

The following procedure runs the Percona Server for MySQL:

  1. Starting the service

Percona Server for MySQL starts automatically after installation unless the server encounters errors during the installation process. You can also manually start it by running the following command:

$ sudo service mysql start

  1. Confirming the service is running

You can verify the service status by running the following command:

$ service mysql status

  1. Stopping the service

You can stop the service by running the following command:

$ sudo service mysql stop

  1. Restarting the service

You can restart the service by running the following command:

$ sudo service mysql restart

Note

Debian 8.0 (Jessie) and Ubuntu 16.04(Xenial) come with systemd as the default system and service manager so you can invoke all the above commands with sytemctl instead of service. Currently, both are supported.

Uninstalling Percona Server for MySQL

To uninstall Percona Server for MySQL, you must remove all of the installed packages.

You have the following options:

  • Removing packages with apt-get remove leaves the configuration and data files.
  • Removing the packages with apt-get purge removes all the packages with configuration files and data files (all the databases).

Depending on your needs, you can choose which command better suits you.

See also

apt-get

  1. Stop the Percona Server for MySQL service
  1. $ sudo service mysql stop
  1. Remove the packages
    1. Remove the packages. This option does not delete the configuration or data files. If you do not require these files, you must delete each file manually.
  1. $ sudo apt-get remove ‘percona-server*’
    • Purge the packages. This option deletes packages, configuration, and data files. The option does not delete any configuration or data files stored in your home directory. You may need to delete some files manually.
  1. $ sudo apt-get purge ‘percona-server*’
  1. $ sudo apt-get autoremove -y
  1. $ sudo apt-get autoclean
  1. $ sudo rm -rf /etc/mysql

Note

In a regular expression, the * (asterisk) matches zero or more of the preceding item. The single quotes prevent the shell from misinterpreting the asterisk as a shell command.

If you do not plan to upgrade, run the following commands to remove the data directory location:

 rm -rf /var/lib/mysql

 rm -rf /var/log/mysql

$ sudo apt-get purge percona-server*

Conclusion

In under 15 minutes, we went through the installation process of Percona Server 5.7 and created a new user for use in your application. This can give immediate improvement over using MySQL Server with very little effort.

This Post Has 2 Comments

  1. ‏lewdle

    I really like and appreciate your blog post.Really thank you! Will read on…

Leave a Reply