{"id":2677,"date":"2024-10-07T13:37:35","date_gmt":"2024-10-07T13:37:35","guid":{"rendered":"https:\/\/bynatree.com\/?p=2677"},"modified":"2024-10-07T13:37:35","modified_gmt":"2024-10-07T13:37:35","slug":"mysql-minor-version-upgrade-from-8-0-26-to-8-0-39","status":"publish","type":"post","link":"https:\/\/divaind.com\/ie1\/2024\/10\/07\/mysql-minor-version-upgrade-from-8-0-26-to-8-0-39\/","title":{"rendered":"MySQL Minor Version upgrade from 8.0.26 to 8.0.39"},"content":{"rendered":"<h1><b>Comparison of mysql versions 8.0.26 to 8.0.39 for Minor Version Upgrade<\/b><\/h1>\n<p>Learn how to perform a <strong data-start=\"912\" data-end=\"943\">MySQL Minor Version Upgrade<\/strong> from 8.0.26 to 8.0.39 to apply security updates, improve performance, and ensure stable online MySQL database operations.<\/p>\n<ul>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/relnotes\/mysql\/8.0\/en\/news-8-0-26.html\"><b>MySQL 8.0.26<\/b><\/a>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"font-weight: 400;\"> improves audit logging to include statement digests.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0Performance Enhancements: Various tweaks to boost overall performance.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0Bug fixes: Fixed several problems and stability issues.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/relnotes\/mysql\/8.0\/en\/news-8-0-39.html\"><b>MySQL 8.0.39<\/b><\/a><\/li>\n<\/ul>\n<blockquote>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0Security updates: Improved security with patches for vulnerabilities discovered since 8.0.26.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0Performance enhancements include improved indexing, query execution, and InnoDB storage engine performance.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u00a0New features: Improved JSON support, Enhanced replication capabilities, New system and status variables have been introduced to improve monitoring. Backup enhancements are made incrementally.<\/span><\/span><\/span><span style=\"font-weight: 400;\">A minor upgrade is required to install the new version using the package manager like yum or distribution type. Installing the new version package requires the <a href=\"https:\/\/www.geeksforgeeks.org\/sql\/what-is-mysql\/\">MySQL<\/a> service to be stopped.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400;\">\n<h2>\u00a0<span style=\"font-weight: 400; font-size: 16px;\">Steps involved in <strong>M<\/strong><\/span><strong style=\"font-size: 16px;\">ysql Minor Version Upgrade<\/strong><span style=\"font-weight: 400; font-size: 16px;\"> are as follows:<\/span><\/h2>\n<h3><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Step 01: Checking mysql current version before upgrade.<br \/>\n<\/strong><\/span><\/span><\/h3>\n<pre class=\"theme:solarized-dark lang:mysql decode:true\">[root@centosstream8 test_db-master]# mysql -u root -p\nEnter password:\nWelcome to the MySQL monitor.  Commands end with ; or g.\nYour MySQL connection id is 12\nServer version: 8.0.26 Source distribution\n\nCopyright (c) 2000, 2021, 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.\nmysql&gt; SELECT @@hostname AS host, @@version;\n+-----------------------------------+-----------+\n| host                              | @@version |\n+-----------------------------------+-----------+\n| centosstream8.linuxvmimages.local | 8.0.26    |\n+-----------------------------------+-----------+\n1 row in set (0.01 sec)\n<\/pre>\n<h3><strong>Step 02: Before upgrading mysql make sure to take backup of the mysql directory in our case I have taken backup of directory through percona xtrabackup utility with the compress option lz4.<br \/>\n<\/strong><\/h3>\n<pre class=\"theme:solarized-dark lang:mysql decode:true\">[root@centosstream8 full_backup]# xtrabackup --backup --compress --compress-threads=4 --compress=lz4 --no-server-version-check --target-dir=\/root\/mysql_bkp_061024\/full_backup -u root -p\n2024-10-06T04:30:36.348215-04:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --datadir=\/var\/lib\/mysql\nEnter password:\nxtrabackup version 8.0.35-31 based on MySQL server 8.0.35 Linux (x86_64) (revision id: 55ec21d7)\n241006 04:30:43  version_check Connecting to MySQL server with DSN 'dbi:mysql:;mysql_read_default_group=xtrabackup' as 'root'  (using password: YES).\n241006 04:30:43  version_check Connected to MySQL server\n241006 04:30:43  version_check Executing a version check against the server...\n\u2026\u2026\u2026\n\u2026\u2026\u2026\n\u2026\u2026\u2026\n\u2026\u2026\u2026\n2024-10-06T04:30:44.401501-04:00 0 [Note] [MY-011825] [Xtrabackup] using \nTransaction log of lsn (317222811) to (317222831) was copied.\n2024-10-06T04:30:57.245036-04:00 0 [Note] [MY-011825] [Xtrabackup] completed OK!<\/pre>\n<h3><strong>Step 03: Looking for the available mysql versions to review a list of the packages that are available for our distribution using yum check-update. And yum list command to see installed and available packages in centos 08.<br \/>\n<\/strong><\/h3>\n<pre class=\"theme:solarized-dark lang:mysql decode:true\">[root@centosstream8 full_backup]# yum repolist enabled | grep \"mysql.*-community.*\"\nmysql-connectors-community MySQL Connectors Community\nmysql-tools-community      MySQL Tools Community\nmysql80-community          MySQL 8.0 Community Server\n\n[root@centosstream8 full_backup]# yum list mysql-community-server*\nLast metadata expiration check: 0:11:32 ago on Sun 06 Oct 2024 04:26:45 AM EDT.\nAvailable Packages\nmysql-community-server-debug.x86_64                                               8.0.39-1.el8                                               mysql80-community\n\n<\/pre>\n<h3><strong>Step 04: (MySQL Minor Version Upgrade) Make sure to Flush the buffer pool and dirty pages before stopping the MySQL server.<br \/>\n<\/strong><\/h3>\n<pre class=\"theme:solarized-dark lang:mysql decode:true\">[root@centosstream8 full_backup]# mysql -u root -p\nEnter password:\nWelcome to the MySQL monitor.  Commands end with ; or g.\nYour MySQL connection id is 24\nServer version: 8.0.26 Source distribution\nCopyright (c) 2000, 2021, Oracle and\/or its affiliates.\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\nType 'help;' or 'h' for help. Type 'c' to clear the current input statement.\n\nmysql&gt; show global status like 'Innodb_buffer_pool_dump_status';\n+--------------------------------+------------------------------------+\n| Variable_name                  | Value                              |\n+--------------------------------+------------------------------------+\n| Innodb_buffer_pool_dump_status | Dumping of buffer pool not started |\n+--------------------------------+------------------------------------+\n1 row in set (0.57 sec)\n\nmysql&gt; set global innodb_buffer_pool_dump_at_shutdown=OFF, innodb_buffer_pool_dump_now=ON;\nQuery OK, 0 rows affected (0.03 sec)\n\nmysql&gt; show global status like 'Innodb_buffer_pool_dump_status';\n+--------------------------------+--------------------------------------------------+\n| Variable_name                  | Value                                            |\n+--------------------------------+--------------------------------------------------+\n| Innodb_buffer_pool_dump_status | Buffer pool(s) dump completed at 241006  5:23:01 |\n+--------------------------------+--------------------------------------------------+\n1 row in set (0.01 sec)\n\nmysql&gt; set global innodb_max_dirty_pages_pct=0;\nQuery OK, 0 rows affected, 2 warnings (0.01 sec)\n\nmysql&gt; show global status like 'Innodb_buffer%dirty';\n+--------------------------------+-------+\n| Variable_name                  | Value |\n+--------------------------------+-------+\n| Innodb_buffer_pool_pages_dirty | 0     |\n| Innodb_buffer_pool_bytes_dirty | 0     |\n+--------------------------------+-------+\n2 rows in set (0.00 sec)\n\n<\/pre>\n<h3><strong>Step 05: <\/strong><strong>(MySQL Minor Version Upgrade) <\/strong><strong>Stop MySQL server using systemctl commands make sure disable mysql before update.<br \/>\n<\/strong><\/h3>\n<pre class=\"theme:solarized-dark lang:mysql decode:true\">[root@centosstream8 full_backup]# systemctl stop mysqld\n[root@centosstream8 full_backup]# systemctl status mysqld\n\u25cf mysqld.service - MySQL 8.0 database server\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/mysqld.service; enabled; vendor preset: disabled)\n   Active: inactive (dead) since Sun 2024-10-06 05:24:32 EDT; 13s ago\n  Process: 80657 ExecStopPost=\/usr\/libexec\/mysql-wait-stop (code=exited, status=0\/SUCCESS)\n  Process: 46561 ExecStart=\/usr\/libexec\/mysqld --basedir=\/usr (code=exited, status=0\/SUCCESS)\n Main PID: 46561 (code=exited, status=0\/SUCCESS)\n   Status: \"Server shutdown complete\"\n\nOct 06 03:47:59 centosstream8.linuxvmimages.local systemd[1]: Starting MySQL 8.0 database server...\nOct 06 03:48:00 centosstream8.linuxvmimages.local mysql-prepare-db-dir[46413]: Initializing MySQL database\nOct 06 03:48:15 centosstream8.linuxvmimages.local systemd[1]: Started MySQL 8.0 database server.\nOct 06 05:24:20 centosstream8.linuxvmimages.local systemd[1]: Stopping MySQL 8.0 database server...\nOct 06 05:24:32 centosstream8.linuxvmimages.local systemd[1]: mysqld.service: Succeeded.\nOct 06 05:24:32 centosstream8.linuxvmimages.local systemd[1]: Stopped MySQL 8.0 database server.\n\n[root@centosstream8 full_backup]# sudo yum module -y disable mysql\nLast metadata expiration check: 0:08:36 ago on Sun 06 Oct 2024 05:39:52 AM EDT.\nDependencies resolved.\n==============================================================================================================================================================\n Package                               Architecture                         Version                               Repository                             Size\n==============================================================================================================================================================\nDisabling modules:\n mysql\n\nTransaction Summary\n==============================================================================================================================================================\n\nComplete!\n\n<\/pre>\n<h3><strong>Step 06: <\/strong><strong>(MySQL Minor Version Upgrade) <\/strong><strong>Installing mysql available Latest Release mysql-community-server-8.0.39<br \/>\n<\/strong><\/h3>\n<pre class=\"theme:solarized-dark lang:sh decode:true\">[root@centosstream8 full_backup]# sudo yum install mysql-community-server-8.0.39 -y\nLast metadata expiration check: 0:09:01 ago on Sun 06 Oct 2024 05:39:52 AM EDT.\nDependencies resolved.\n==============================================================================================================================================================\n Package                                            Architecture               Version                            Repository                             Size\n==============================================================================================================================================================\nInstalling:\n mysql-community-server                             x86_64                     8.0.39-1.el8                       mysql80-community                      65 M\n\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026.\n\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026.\nInstalled:\n  mysql-community-client-8.0.39-1.el8.x86_64             mysql-community-client-plugins-8.0.39-1.el8.x86_64     mysql-community-common-8.0.39-1.el8.x86_64\n  mysql-community-icu-data-files-8.0.39-1.el8.x86_64     mysql-community-libs-8.0.39-1.el8.x86_64               mysql-community-server-8.0.39-1.el8.x86_64\n\nComplete!<\/pre>\n<h3><strong>Step 07: Starting mysql service and enabling mysql after the completion of Installation process and verifying the process using systemctl.<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<pre class=\"theme:solarized-dark lang:sh decode:true\">[root@centosstream8 full_backup]# systemctl start mysqld\n[root@centosstream8 full_backup]# sudo yum module -y enable mysql\nLast metadata expiration check: 0:25:20 ago on Sun 06 Oct 2024 05:39:52 AM EDT.\nDependencies resolved.\n==============================================================================================================================================================\n Package                               Architecture                         Version                               Repository                             Size\n==============================================================================================================================================================\nEnabling module streams:\n mysql                                                                      8.0\n\nTransaction Summary\n==============================================================================================================================================================\n\nComplete!\n[root@centosstream8 full_backup]# systemctl status mysqld\n\u25cf mysqld.service - MySQL Server\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/mysqld.service; disabled; vendor preset: disabled)\n   Active: active (running) since Sun 2024-10-06 06:01:41 EDT; 3min 54s ago\n     Docs: man:mysqld(8)\n           http:\/\/dev.mysql.com\/doc\/refman\/en\/using-systemd.html\n  Process: 94081 ExecStartPre=\/usr\/bin\/mysqld_pre_systemd (code=exited, status=0\/SUCCESS)\n Main PID: 94186 (mysqld)\n   Status: \"Server is operational\"\n    Tasks: 37 (limit: 10936)\n   Memory: 551.8M\n   CGroup: \/system.slice\/mysqld.service\n           \u2514\u250094186 \/usr\/sbin\/mysqld\n\nOct 06 06:00:40 centosstream8.linuxvmimages.local systemd[1]: Starting MySQL Server...\nOct 06 06:01:41 centosstream8.linuxvmimages.local systemd[1]: Started MySQL Server.<\/pre>\n<h3><strong>Step 08: <\/strong><strong>(MySQL Minor Version Upgrade) <\/strong><strong>Verifying the mysql Version in system and checking all the details.<br \/>\n<\/strong><\/h3>\n<pre class=\"theme:solarized-dark lang:sh decode:true\">[root@centosstream8 full_backup]# mysql --version\nmysql  Ver 8.0.39 for Linux on x86_64 (MySQL Community Server - GPL)<\/pre>\n<pre class=\"theme:solarized-dark lang:mysql decode:true\">[root@centosstream8 full_backup]# mysql -u root -p\nEnter password:\nWelcome to the MySQL monitor.  Commands end with ; or g.\nYour MySQL connection id is 10\nServer version: 8.0.39 MySQL Community Server - GPL\n\nCopyright (c) 2000, 2024, 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\nmysql&gt; s\n--------------\nmysql  Ver 8.0.39 for Linux on x86_64 (MySQL Community Server - GPL)\n\nConnection id:          10\nCurrent database:\nCurrent user:           root@localhost\nSSL:                    Not in use\nCurrent pager:          stdout\nUsing outfile:          ''\nUsing delimiter:        ;\nServer version:         8.0.39 MySQL Community Server - GPL\nProtocol version:       10\nConnection:             Localhost via UNIX socket\nServer characterset:    utf8mb4\nDb     characterset:    utf8mb4\nClient characterset:    utf8mb4\nConn.  characterset:    utf8mb4\nUNIX socket:            \/var\/lib\/mysql\/mysql.sock\nBinary data as:         Hexadecimal\nUptime:                 5 min 37 sec\n\nThreads: 2  Questions: 11  Slow queries: 0  Opens: 588  Flush tables: 4  Open tables: 35  Queries per second avg: 0.032<\/pre>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Minor Version Upgrade of <\/span><b>mysql <\/b><span style=\"font-weight: 400;\">is completed to latest from <\/span><b>8.0.26<\/b><span style=\"font-weight: 400;\"> to <\/span><b>8.0.39<\/b><\/p>\n<h3>Conclusion:<\/h3>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\">\n<p style=\"text-align: left;\">In conclusion, upgrading from MySQL 8.0.26 to MySQL 8.0.39 is a safe and recommended minor version upgrade that brings clear benefits without major complexity. MySQL 8.0.39 strengthens database administration security and upgrade with the latest patches, improves overall performance through better indexing, query execution, and InnoDB enhancements, and adds useful features such as improved JSON support and enhanced replication. Since minor upgrades can be performed using standard package managers with minimal downtime, moving to MySQL 8.0.39 helps ensure a more secure, stable, and efficient MySQL database administration environment while staying aligned with best practices.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/blockquote>\n<p style=\"text-align: left;\"><strong>\u00a0<\/strong><\/p>\n<h3><strong> <!--StartFragment --><\/strong><\/h3>\n<blockquote><p>See also our blog on the MySQL Major Version Upgrade: <a href=\"https:\/\/divaind.com\/ie1\/enhance-performance-upgrade-mysql-8-0-40-to-8-4-4-on-centos-8\"><em>Enhance Performance \u2013 Upgrade MySQL 8.0.40 to 8.4.4 on CentOS 8<\/em><\/a><\/p><\/blockquote>\n<h3><strong><!--EndFragment --><\/strong><\/h3>\n<h3><strong>\u00a0<\/strong><\/h3>\n<h3><strong>\u00a0<\/strong><\/h3>\n<h3><strong>\u00a0<\/strong><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Comparison of mysql versions 8.0.26 to 8.0.39 for Minor Version Upgrade Learn how to perform a MySQL Minor Version Upgrade from 8.0.26 to 8.0.39 to apply security updates, improve performance, and ensure stable online MySQL database operations. MySQL 8.0.26 improves audit logging to include statement digests. \u00a0Performance Enhancements: Various tweaks to boost overall performance. \u00a0Bug&hellip;<\/p>\n","protected":false},"author":1,"featured_media":2679,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[64,65,70,75,116,164,199,202,205,218,229],"class_list":["post-2677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql","tag-8-0-26","tag-8-0-39","tag-aurora","tag-aws","tag-database-performance","tag-information_schema-innodb_locks-removed-mysql-8-0","tag-minor-version-upgrade","tag-mysql","tag-mysql-8-0-26-to-8-0-39","tag-mysql-upgrade-on-centos08","tag-online-mysql","category-24","description-off"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/posts\/2677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/comments?post=2677"}],"version-history":[{"count":0,"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/posts\/2677\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/media\/2679"}],"wp:attachment":[{"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/media?parent=2677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/categories?post=2677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/divaind.com\/ie1\/wp-json\/wp\/v2\/tags?post=2677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}