{"id":2927,"date":"2023-06-08T04:38:25","date_gmt":"2023-06-08T04:38:25","guid":{"rendered":"http:\/\/kedar.nitty-witty.com\/?p=2927"},"modified":"2024-02-07T10:09:02","modified_gmt":"2024-02-07T10:09:02","slug":"how-to-install-specific-version-of-mysql-8-on-ubuntu","status":"publish","type":"post","link":"https:\/\/kedar.nitty-witty.com\/blog\/how-to-install-specific-version-of-mysql-8-on-ubuntu","title":{"rendered":"How To Install specific version of MySQL 8 on Ubuntu"},"content":{"rendered":"\n<p>This blog post serves as a work-log detailing the process of uninstalling and installing a specific version of Percona MySQL Server on Ubuntu. The post includes instructions for installation using apt utility. In this specific case we&#8217;re downgrading MySQL from 8.0.32 to 8.0.28 though you will see the problems we go through.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jump directly to <a href=\"#install-specific-version-of-mysql\" title=\"install specific version of MySQL\">install specific version of MySQL<\/a>.<\/h3>\n\n\n\n<h2 class=\"wp-block-heading\">Demo video for uninstall \/ installing Percona Server for MySQL on Ubuntu<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"Install specific version percona server mysql on Ubuntu\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/p6-qlbgxljI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Uninstall Percona Server for MySQL<\/h2>\n\n\n\n<p>Prior to uninstalling, it is recommended to create a backup. Depending on the size of the data, you can choose to use Xtrabackup, mysqldump, or mydumper. Let\u2019s begin by backing up the existing databases, excluding the system databases for now.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nroot@ip-172-31-94-56:~# # Uninstall existing mysql and install a specific version.\nroot@ip-172-31-94-56:~# mysql\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 11\nServer version: 8.0.32-24 Percona Server (GPL), Release '24', Revision 'e5c6e9d2'\n\nCopyright (c) 2009-2023 Percona LLC and\/or its affiliates\nCopyright (c) 2000, 2023, Oracle and\/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nroot@localhost &#91;(none)]&gt; select version();\n+-----------+\n| version() |\n+-----------+\n| 8.0.32-24 |\n+-----------+\n1 row in set (0.00 sec)\n\nroot@localhost &#91;(none)]&gt; show databases;\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| mysql              |\n| performance_schema |\n| sys                |\n| test               |\n+--------------------+\n5 rows in set (0.03 sec)\n\nroot@localhost &#91;(none)]&gt; use test; show tables;\nDatabase changed\n+----------------+\n| Tables_in_test |\n+----------------+\n| b              |\n+----------------+\n1 row in set (0.00 sec)\n\nroot@localhost &#91;test]&gt; select * from b;\n+------+\n| id   |\n+------+\n|    8 |\n|    9 |\n+------+\n2 rows in set (0.02 sec)\n\nroot@localhost &#91;test]&gt; exit\nBye\n\n\nroot@ip-172-31-94-56:~# # Uninstall existing mysql and install a specific version.\nroot@ip-172-31-94-56:~# mysql\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 11\nServer version: 8.0.32-24 Percona Server (GPL), Release '24', Revision 'e5c6e9d2'\n\nCopyright (c) 2009-2023 Percona LLC and\/or its affiliates\nCopyright (c) 2000, 2023, Oracle and\/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nroot@localhost &#91;(none)]&gt; select version();\n+-----------+\n| version() |\n+-----------+\n| 8.0.32-24 |\n+-----------+\n1 row in set (0.00 sec)\n\nroot@localhost &#91;(none)]&gt; show databases;\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| mysql              |\n| performance_schema |\n| sys                |\n| test               |\n+--------------------+\n5 rows in set (0.03 sec)\n\nroot@localhost &#91;(none)]&gt; use test; show tables;\nDatabase changed\n+----------------+\n| Tables_in_test |\n+----------------+\n| b              |\n+----------------+\n1 row in set (0.00 sec)\n\nroot@localhost &#91;test]&gt; select * from b;\n+------+\n| id   |\n+------+\n|    8 |\n|    9 |\n+------+\n2 rows in set (0.02 sec)\n\nroot@localhost &#91;test]&gt; exit\nBye\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# #Let's take backup of existing databases first. We're skipping system databases for now.\nroot@ip-172-31-94-56:~# mysqldump --single-transaction --routines --triggers --set-gtid-purged=OFF --databases test &gt; test.sql\nroot@ip-172-31-94-56:~# tail -1 test.sql\n-- Dump completed on 2023-05-19  7:23:19\nroot@ip-172-31-94-56:~# #Save user grants:\nroot@ip-172-31-94-56:~# pt-show-grants &gt; grants.sql\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Install Percona Server for MySQL<\/h2>\n\n\n\n<p>If you don\u2019t have Percona repository already configured and you\u2019re installing this for the first time, you need to configure the repo<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ curl -O https:\/\/repo.percona.com\/apt\/percona-release_latest.generic_all.deb\n$ sudo apt install .\/percona-release_latest.generic_all.deb\n$ sudo percona-release enable-only ps-80 release\n$ sudo percona-release enable tools release\n$ sudo apt update\n$ sudo apt install percona-server-server percona-server-client percona-toolkit percona-xtrabackup-80 sysbench<\/code><\/pre>\n\n\n\n<p>Ref: https:\/\/docs.percona.com\/percona-software-repositories\/percona-release.html<\/p>\n\n\n\n<p>Stop MySQL<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# systemctl stop mysql\nroot@ip-172-31-94-56:~# systemctl status mysql\n\u25cf mysql.service - Percona Server\n     Loaded: loaded (\/lib\/systemd\/system\/mysql.service; enabled; vendor preset: enabled)\n     Active: inactive (dead) since Fri 2023-05-19 07:23:41 UTC; 796ms ago\n    Process: 35656 ExecStartPre=\/usr\/share\/mysql\/mysql-systemd-start pre (code=exited, status=0\/SUCCESS)\n    Process: 35701 ExecStart=\/usr\/sbin\/mysqld $MYSQLD_OPTS (code=exited, status=0\/SUCCESS)\n   Main PID: 35701 (code=exited, status=0\/SUCCESS)\n     Status: \"Server shutdown complete\"\n\nMay 19 07:20:55 ip-172-31-94-56.ec2.internal systemd&#91;1]: Starting Percona Server...\nMay 19 07:20:58 ip-172-31-94-56.ec2.internal systemd&#91;1]: Started Percona Server.\nMay 19 07:23:37 ip-172-31-94-56.ec2.internal systemd&#91;1]: Stopping Percona Server...\nMay 19 07:23:41 ip-172-31-94-56.ec2.internal systemd&#91;1]: mysql.service: Succeeded.\nMay 19 07:23:41 ip-172-31-94-56.ec2.internal systemd&#91;1]: Stopped Percona Server.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Uninstall Percona Server<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# apt list --installed | grep -i percona-server\n\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\npercona-server-client\/unknown,now 8.0.32-24-1.focal amd64 &#91;installed]\npercona-server-common\/unknown,now 8.0.32-24-1.focal amd64 &#91;installed]\npercona-server-server\/unknown,now 8.0.32-24-1.focal amd64 &#91;installed]\nroot@ip-172-31-94-56:~# apt remove percona-server-client percona-server-common percona-server-server percona-toolkit\nReading package lists... Done\nBuilding dependency tree\nReading state information... Done\nThe following packages were automatically installed and are no longer required:\n  galera-4 gdb gdbserver libbabeltrace1 libc6-dbg libcc1-0 libcgi-fast-perl libcgi-pm-perl libdbd-mysql-perl libdbi-perl libdw1\n  libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl\n  libio-html-perl liblwp-mediatypes-perl libmysqlclient21 libterm-readkey-perl libtimedate-perl liburi-perl mysql-common socat\nUse 'apt autoremove' to remove them.\nThe following packages will be REMOVED:\n  percona-server-client percona-server-common percona-server-server percona-toolkit\n0 upgraded, 0 newly installed, 4 to remove and 18 not upgraded.\nAfter this operation, 651 MB disk space will be freed.\nDo you want to continue? &#91;Y\/n] Y\n(Reading database ... 121403 files and directories currently installed.)\nRemoving percona-server-server (8.0.32-24-1.focal) ...\nupdate-alternatives: removing manually selected alternative - switching my.cnf to auto mode\nupdate-alternatives: using \/etc\/mysql\/my.cnf.fallback to provide \/etc\/mysql\/my.cnf (my.cnf) in auto mode\nRemoving percona-server-client (8.0.32-24-1.focal) ...\nRemoving percona-server-common (8.0.32-24-1.focal) ...\nRemoving percona-toolkit (3.1+dfsg-1.1) ...\nProcessing triggers for man-db (2.9.1-1) ...\nProcessing triggers for libc-bin (2.31-0ubuntu9.9) ...\n<\/code><\/pre>\n\n\n\n<p>Clean up datadir<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# ls -lhtr \/var\/lib\/mysql\/\ntotal 87M\n-rw-r----- 1 mysql mysql   56 May 16 06:44  auto.cnf\ndrwxr-x--- 2 mysql mysql 4.0K May 16 06:44  sys\ndrwxr-x--- 2 mysql mysql 4.0K May 16 06:53  performance_schema\ndrwxr-x--- 2 mysql mysql 4.0K May 16 06:53  mysql\n-rw-r----- 1 mysql mysql    9 May 16 06:53  mysql_upgrade_info\n-rw------- 1 mysql mysql 1.7K May 16 14:36  ca-key.pem\n-rw-r--r-- 1 mysql mysql 1.1K May 16 14:36  ca.pem\n-rw------- 1 mysql mysql 1.7K May 16 14:36  server-key.pem\n-rw-r--r-- 1 mysql mysql 1.1K May 16 14:36  server-cert.pem\n-rw------- 1 mysql mysql 1.7K May 16 14:36  client-key.pem\n-rw-r--r-- 1 mysql mysql 1.1K May 16 14:36  client-cert.pem\n-rw------- 1 mysql mysql 1.7K May 16 14:36  private_key.pem\n-rw-r--r-- 1 mysql mysql  451 May 16 14:36  public_key.pem\ndrwxr-x--- 2 mysql mysql 4.0K May 18 13:15  test\n-rw-r----- 1 mysql mysql 2.8K May 18 13:17  mysql-bin.000001\n-rw-r----- 1 mysql mysql   70 May 18 13:21  mysql-relay-bin.index\n-rw-r----- 1 mysql mysql  955 May 18 13:23  mysql-relay-bin.log\n-rw-r----- 1 mysql mysql 2.3K May 18 13:23  mysql-bin.000002\n-rw-r----- 1 mysql mysql   32 May 18 13:31  relay-bin.index\n-rw-r----- 1 mysql mysql  180 May 18 13:31  relay-bin.000001\n-rw-r----- 1 mysql mysql  260 May 19 05:11  mysql-bin.000003\n-rw-r----- 1 mysql mysql  260 May 19 07:04  mysql-bin.000004\ndrwxr-x--- 2 mysql mysql 4.0K May 19 07:20 '#innodb_redo'\n-rw-r----- 1 mysql mysql  160 May 19 07:20  mysql-bin.index\n-rw-r----- 1 mysql mysql  32M May 19 07:21  mysql.ibd\n-rw-r----- 1 mysql mysql  16M May 19 07:23  undo_002\n-rw-r----- 1 mysql mysql  16M May 19 07:23  undo_001\n-rw-r----- 1 mysql mysql 9.3M May 19 07:23 '#ib_16384_1.dblwr'\n-rw-r----- 1 mysql mysql 1.3M May 19 07:23 '#ib_16384_0.dblwr'\n-rw-r----- 1 mysql mysql  260 May 19 07:23  mysql-bin.000005\n-rw-r----- 1 mysql mysql 1.7K May 19 07:23  ib_buffer_pool\n-rw-r----- 1 mysql mysql  12M May 19 07:23  ibdata1\ndrwxr-x--- 2 mysql mysql 4.0K May 19 07:23 '#innodb_temp'\nroot@ip-172-31-94-56:~# ls -lhtr \/var\/lib\/mysql-keyring\/\ntotal 4.0K\n-rw-r----- 1 mysql mysql 315 May 16 15:27 keyring\nroot@ip-172-31-94-56:~# rm -fr \/var\/lib\/mysql\/*\nroot@ip-172-31-94-56:~# rm -fr \/var\/lib\/mysql-keyring\/*<\/code><\/pre>\n\n\n\n<p>Check available packages<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~#  apt list -a percona-server-server\nListing... Done\npercona-server-server\/unknown,now 8.0.32-24-1.focal amd64 &#91;residual-config]\npercona-server-server\/unknown 8.0.31-23-1.focal amd64 &#91;residual-config]\npercona-server-server\/unknown 8.0.30-22-1.focal amd64 &#91;residual-config]\npercona-server-server\/unknown 8.0.29-21-1.focal amd64 &#91;residual-config]\npercona-server-server\/unknown 8.0.28-20-1.focal amd64 &#91;residual-config]<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"install-specific-version-of-mysql\">Install specific version of MySQL<\/h2>\n\n\n\n<p>(Percona Server for MySQL 8.0.28)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nroot@ip-172-31-94-56:~# <strong>sudo apt-get install percona-server-client=8.0.28-20-1.focal percona-server-common=8.0.28-20-1.focal percona-server-server=8.0.28-20-1.focal<\/strong>\nReading package lists... Done\nBuilding dependency tree\nReading state information... Done\nThe following packages were automatically installed and are no longer required:\n  galera-4 gdb gdbserver libbabeltrace1 libc6-dbg libcc1-0 libcgi-fast-perl libcgi-pm-perl libdbd-mysql-perl libdbi-perl libdw1\n  libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl\n  libio-html-perl liblwp-mediatypes-perl libmysqlclient21 libterm-readkey-perl libtimedate-perl liburi-perl mysql-common socat\nUse 'sudo apt autoremove' to remove them.\nThe following NEW packages will be installed:\n  percona-server-client percona-server-common percona-server-server\n0 upgraded, 3 newly installed, 0 to remove and 18 not upgraded.\nNeed to get 82.9 MB of archives.\nAfter this operation, 563 MB of additional disk space will be used.\nGet:1 http:\/\/repo.percona.com\/ps-80\/apt focal\/main amd64 percona-server-common amd64 8.0.28-20-1.focal &#91;454 kB]\nGet:2 http:\/\/repo.percona.com\/ps-80\/apt focal\/main amd64 percona-server-client amd64 8.0.28-20-1.focal &#91;4624 kB]\nGet:3 http:\/\/repo.percona.com\/ps-80\/apt focal\/main amd64 percona-server-server amd64 8.0.28-20-1.focal &#91;77.8 MB]\nFetched 82.9 MB in 4s (19.2 MB\/s)\nPreconfiguring packages ...\nSelecting previously unselected package percona-server-common.\n(Reading database ... 120885 files and directories currently installed.)\nPreparing to unpack ...\/percona-server-common_8.0.28-20-1.focal_amd64.deb ...\nUnpacking percona-server-common (8.0.28-20-1.focal) ...\nSelecting previously unselected package percona-server-client.\nPreparing to unpack ...\/percona-server-client_8.0.28-20-1.focal_amd64.deb ...\nUnpacking percona-server-client (8.0.28-20-1.focal) ...\nSelecting previously unselected package percona-server-server.\nPreparing to unpack ...\/percona-server-server_8.0.28-20-1.focal_amd64.deb ...\nUnpacking percona-server-server (8.0.28-20-1.focal) ...\nSetting up percona-server-common (8.0.28-20-1.focal) ...\nSetting up percona-server-client (8.0.28-20-1.focal) ...\nSetting up percona-server-server (8.0.28-20-1.focal) ...\n\n\n * Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit.\n * Run the following commands to create these functions:\n\n\tmysql -e \"CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'\"\n\tmysql -e \"CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'\"\n\tmysql -e \"CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'\"\n\n * See http:\/\/www.percona.com\/doc\/percona-server\/8.0\/management\/udf_percona_toolkit.html for more details\n\n\nProcessing triggers for systemd (245.4-4ubuntu3.20) ...\nProcessing triggers for man-db (2.9.1-1) ...\nProcessing triggers for libc-bin (2.31-0ubuntu9.9) ...\nroot@ip-172-31-94-56:~#<\/code><\/pre>\n\n\n\n<p>Start MySQL<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# systemctl status mysql\n\u25cf mysql.service - Percona Server\n     Loaded: loaded (\/lib\/systemd\/system\/mysql.service; enabled; vendor preset: enabled)\n     Active: active (running) since Fri 2023-05-19 07:25:50 UTC; 7s ago\n   Main PID: 36447 (mysqld)\n     Status: \"Server is operational\"\n      Tasks: 59 (limit: 1141)\n     Memory: 353.9M\n     CGroup: \/system.slice\/mysql.service\n             \u2514\u250036447 \/usr\/sbin\/mysqld\n\nMay 19 07:25:38 ip-172-31-94-56.ec2.internal systemd&#91;1]: Starting Percona Server...\nMay 19 07:25:39 ip-172-31-94-56.ec2.internal su&#91;36287]: (to mysql) root on none\nMay 19 07:25:39 ip-172-31-94-56.ec2.internal su&#91;36287]: pam_unix(su-l:session): session opened for user mysql by (uid=0)\nMay 19 07:25:50 ip-172-31-94-56.ec2.internal systemd&#91;1]: Started Percona Server.\nroot@ip-172-31-94-56:~#\nroot@ip-172-31-94-56:~# mysql\nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 9\nServer version: 8.0.28-20 Percona Server (GPL), Release '20', Revision 'fd4b5a776a6'\n\nCopyright (c) 2009-2022 Percona LLC and\/or its affiliates\nCopyright (c) 2000, 2022, Oracle and\/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nroot@localhost &#91;(none)]&gt; select version();\n+-----------+\n| version() |\n+-----------+\n| 8.0.28-20 |\n+-----------+\n1 row in set (0.00 sec)\n\nroot@localhost &#91;(none)]&gt; show databases;\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| mysql              |\n| performance_schema |\n| sys                |\n+--------------------+\n<\/code><\/pre>\n\n\n\n<p>Change root password for first time usage<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nroot@localhost &#91;(none)]&gt; alter user 'root'@'localhost' identified by 'password';\nQuery OK, 0 rows affected (0.01 sec)\n\nroot@localhost &#91;(none)]&gt; exit\nBye\nroot@ip-172-31-94-56:~# cat .my.cnf\n&#91;client]\nuser='root'\npassword='password'\n<\/code><\/pre>\n\n\n\n<p>Load old data and database grants<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# mysql &lt; test.sql\nroot@ip-172-31-94-56:~# mysql &lt; grants.sql\nERROR 1149 (42000) at line 6: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use\nroot@ip-172-31-94-56:~# mysql --force &lt; grants.sql\nERROR 1149 (42000) at line 6: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use\nERROR 1149 (42000) at line 11: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use\nERROR 1149 (42000) at line 18: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use\nERROR 1149 (42000) at line 36: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use\n<\/code><\/pre>\n\n\n\n<p>Note that we have received errors in the newly installed version while loading the grants. Let&#8217;s see what is causing this issue?!<\/p>\n\n\n\n<p>Take fresh grants from 8.0.28 and compare it with the diff tool. From the diff below we see that the grant FIREWALL_EXEMPT is erroring out. That said, as per documentation the grant is present in 8.0.27 and usable with mysql firewall plugin. Which seems not the case! Anyhow, may be this is a bug but we will proceed further for now.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:~# pt-show-grants &gt; grants_new.sql\nroot@ip-172-31-94-56:~# diff grants\ngrants.sql      grants_new.sql\nroot@ip-172-31-94-56:~# diff grants.sql grants_new.sql\n2c2\n&lt; -- Dumped from server Localhost via UNIX socket, <strong>MySQL 8.0.32-24<\/strong> at 2023-05-19 07:23:31\n---\n&gt; -- Dumped from server Localhost via UNIX socket, <strong>MySQL 8.0.28-20<\/strong> at 2023-05-19 07:30:26\n6c6\n&lt; GRANT AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER ON *.* TO `mysql.infoschema`@`localhost`;\n---\n&gt; GRANT AUDIT_ABORT_EXEMPT,SYSTEM_USER ON *.* TO `mysql.infoschema`@`localhost`;\n11c11\n&lt; GRANT AUDIT_ABORT_EXEMPT,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,FIREWALL_EXEMPT,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN ON *.* TO `mysql.session`@`localhost`;\n---\n&gt; GRANT AUDIT_ABORT_EXEMPT,BACKUP_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,SESSION_VARIABLES_ADMIN,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN ON *.* TO `mysql.session`@`localhost`;\n18c18\n&lt; GRANT AUDIT_ABORT_EXEMPT,FIREWALL_EXEMPT,SYSTEM_USER ON *.* TO `mysql.sys`@`localhost`;\n---\n&gt; GRANT AUDIT_ABORT_EXEMPT,SYSTEM_USER ON *.* TO `mysql.sys`@`localhost`;\n36c36\n&lt; GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FIREWALL_EXEMPT,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SENSITIVE_VARIABLES_OBSERVER,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION;\n---\n&gt; GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ABORT_EXEMPT,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setup Percona Xtrabackup for specific version<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:\/var\/lib\/mysql# sudo percona-release setup pxb-80;\nroot@ip-172-31-94-56:\/var\/lib\/mysql# apt list -a percona-xtrabackup-80\nListing\u2026 Done\npercona-xtrabackup-80\/stable 8.0.32-26-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.32-25-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.31-24-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.30-23-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.29-22-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.28-21-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.28-20-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.27-19-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.26-18-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.25-17-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.23-16-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.22-15-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.14-1.focal amd64\npercona-xtrabackup-80\/stable 8.0.13-1.focal amd64<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>root@ip-172-31-94-56:\/var\/lib\/mysql# sudo apt install percona-xtrabackup-80=8.0.28-20-1.focal<br>Reading package lists\u2026 Done<br>Building dependency tree<br>Reading state information\u2026 Done<br>The following packages were automatically installed and are no longer required:<br>galera-4 gdb gdbserver libbabeltrace1 libc6-dbg libcc1-0 libcgi-fast-perl libcgi-pm-perl libdw1 libencode-locale-perl libfcgi-perl<br>libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl<br>libtimedate-perl socat<br>Use 'sudo apt autoremove' to remove them.<br>The following additional packages will be installed:<br>libcurl4-openssl-dev libev4<br>Suggested packages:<br>libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libssl-dev pkg-config zlib1g-dev<br>The following NEW packages will be installed:<br>libcurl4-openssl-dev libev4 percona-xtrabackup-80<br>0 upgraded, 3 newly installed, 0 to remove and 18 not upgraded.<br>Need to get 15.3 MB of archives.<br>After this operation, 78.4 MB of additional disk space will be used.<br>Do you want to continue? &#91;Y\/n] Y<br>Abort.<br>root@ip-172-31-94-56:\/var\/lib\/mysql#<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>This blog post provides a detailed work-log of the process of uninstalling and installing a specific version of Percona MySQL Server on Ubuntu. It includes instructions for backup, uninstallation, installation, and cleanup. The post also includes a demo video for visual reference. By following the steps outlined in this guide, users can successfully uninstall and install Percona Server for MySQL on their Ubuntu systems.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"This blog post serves as a work-log detailing the process of uninstalling and installing a specific version of Percona MySQL Server on Ubuntu. The post includes instructions for installation using&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[869,8,377],"tags":[606,607,912,596,618,617,619],"class_list":{"0":"post-2927","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-mariadb","7":"category-mysql","8":"category-mysql-articles","9":"tag-install-exact-version","10":"tag-install-percona-server","11":"tag-install-specfic-version-of-mysql","12":"tag-install-specific-version","13":"tag-mysql-server-downgrade","14":"tag-mysql-server-ubuntu","15":"tag-specific-version"},"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/comments?post=2927"}],"version-history":[{"count":4,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2927\/revisions"}],"predecessor-version":[{"id":3248,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/posts\/2927\/revisions\/3248"}],"wp:attachment":[{"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/media?parent=2927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/categories?post=2927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kedar.nitty-witty.com\/blog\/wp-json\/wp\/v2\/tags?post=2927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}