Upgrading to MySQL 8 on All SiteGround Servers
Table of Contents
A few weeks ago we initiated an upgrade to MySQL 8 across our servers. That came as a result of a long process of monitoring and testing the compatibility of this version with our clients’ websites, until we concluded that MySQL 8 is highly compatible with major applications hosted on our platform and safe to switch to.
MySQL is a fundamental piece of software in our stack, used by the great majority of our clients to power up their databases. Its optimal functioning has a great impact on the overall website performance and availability. That is why the SiteGround team dedicates a lot of resources to optimize and customize our MySQL, always aiming to squeeze out better and better performance. To achieve this goal over the years, we introduced various customizations such as our unique MySQL setup, and we carefully plan and test any new MySQL version upgrades, making sure the benefits outweigh the potential damages such an upgrade could bring. We are now confident that MySQL version 8 is largely compatible and our clients can safely take advantage of the enhanced database performance, scalability, and coding optimizations it brings along.
What is the plan for the MySQL update?
First, we would like to announce that all new websites created on our shared servers and all newly created cloud accounts now come with MySQL 8 by default.
Second, the migration process to MySQL 8 of existing shared sites is now in progress. Once our shared servers are updated, we will start updating the Cloud instances too. The process will continue in the next few months. According to our schedule, we plan to have migrated all our customers to MySQL 8 by the end of June this year.
To make the transition as easy and smooth for you as possible, we are sending you emails at least one week in advance to inform you on what dates exactly we are going to upgrade your website to MySQL 8. The upgrade procedure is performed late at night when the traffic to the server is minimal. A brief service interruption may occur while updating the software. No action is required on your side in relation to the migration.
What is new in MySQL 8?
MySQL 8 introduces a variety of new features and improvements of old functionalities all aiming to improve the overall performance and scalability as well as developer experience. Here are some of the most notable ones.
Better performance and scalability
MySQL 8 offers better performance and scalability. Benchmark tests show better results in terms of both performance and scalability for MySQL 8 compared to MySQL 5.7. The tests show that MySQL 8 is handling read/write operations much better and the number of processed transactions is much higher.
Furthermore, the tests show that MySQL 8 utilizes the hardware much better compared to 5.7.
Here are some of the improvements that make this possible:
- Scaling Read/Write Workloads
MySQL 8 shows better performance on intensive read/write and more than 2 times better performance on high loads is observed compared to MySQL 5.7.
- Better Performance upon High Contention Loads
Performance for high contention workloads has been significantly improved in MySQL 8. A high contention workload occurs when multiple transactions are waiting for a lock on the same row in a table, causing queues of waiting transactions.
In MySQL 8, such bursts are dealt with much better in terms of transactions per second and latency. That leads to better hardware utilization (efficiency), as the system needs less spare resources and can thus run with a higher average load.
- Native partitioning/InnoDB Pool Enhancement
MySQL 8 supports native partitioning for the InnoDB engine. That allows you to split large tables into smaller partitions. This can improve query performance and reduce storage requirements, especially for large tables. The new MySQL version also introduces enhancements of the InnoDB pool. The pool is responsible for caching the data and reducing I/O operations.
Common table expressions (CTEs)
With the latest MySQL 8 version, you can now take advantage of common table expressions as well. A common table expression is a result set which exists only temporarily while executing a statement that can later be used in the same statement.
These CTEs allow for creating more complex queries by using simpler blocks, based on temporary tables. In other words, common table expressions allow the usage of named temporary result sets.
Default character change
The default character in MySQL 8 is changed to utf8mb4.
One of the most notable differences between utf8, utf8mb3, and utf8mb4 is the maximum number of bytes per character. While utf8 and utf8mb3 can only store characters in the BMP (Basic Multilingual Plane) of Unicode, utf8mb4 can store characters in the Supplementary Plane. utf8mb4 supports a wide range of characters, including emojis and other special characters.
Invisible indexes
Another new feature in MySQL 8 are the invisible indexes. Generally, indexes are used by the MySQL query optimizer to improve the speed with which data is retrieved, while invisible indexes are the ones that are hidden from the MySQL query optimizer and make it possible to test removing an index on query performance, without making a destructive change.
For example, if you are working with a very large table with a few indexes, and you want to optimize it further by removing certain indexes and adding new ones. Imagine that you know that you will need these indexes in the future. Removing them in the first place might be dangerous, because building them again later on takes lots of resources. To avoid this, you can now simply use invisible indexes – make some existing ones into invisible ones, test whatever you need with the new ones, and then bring them back, when needed, by making them visible again.
Why is now the right time to migrate?
As MySQL is such a fundamental technology, major updates happen rarely and take a long time to be universally adopted. MySQL 8 was first released in 2018, but it took several years for the majority of the websites and their underlying applications to become compatible with it. We were constantly monitoring the level of compatibility and have chosen the current update time, as we have seen that now the risk of negatively impacting a website with the upgrade has greatly diminished. Since the update started a few weeks ago, we have already seamlessly moved hundreds of thousands of sites to MySQL 8.
Comments ( 33 )
Thanks! Your comment will be held for moderation and will be shortly published, if it is related to this blog article. Comments for support inquiries or issues will not be published, if you have such please report it through
DevCodeGPT
Anyway to manually init the upgrade? I have a few sites running Django that is no longer compatible with 5.7.44.
Lina Asenova Siteground Team
Hey there, currently, we are in the process of actively upgrading all our clients to MySQL as quickly as possible, with an ETA for completion by the end of June. Unfortunately, manual upgrades are not possible, and we are not prioritizing migrations based on specific applications. However, we would be happy to check your account and provide more detailed information regarding when your server is scheduled for an update. To do so, please reach out directly to our support team by following the steps outlined here: stgrnd.co/contactus/. We look forward to hearing from you.
Roger Clarke
This is very welcome, especially as Joomla 5 has a minimum requirement of MySQL 8. But I've asked Siteground support on a couple of occasions over the last 12 months what plans Siteground have for MySQL 8, and they have been unable to give any information at all, to the point that I was starting to consider options for moving to another provider. Clearly work on this has been going on for a long time, and sharing just some high level intentions (e.g. we plan for shared hosting to be running on MySQL 8 before Joomla 4 is out of support) would have been very reassuring. The first I've heard about this is a 10 day notice that one of my accounts would be migrating. Looking forward to it.
Lina Asenova Siteground Team
Hey there, thank you for your feedback. Our approach was to ensure that all details and edge cases were thoroughly checked before committing to a strict plan and publicly informing our clients about the next steps. However, we have been gradually notifying clients whose servers were scheduled for an update as part of our step-by-step rollout, to ensure that there are no major issues during the migration. Our main priority was to avoid providing information that could potentially change, leading to confusion. We hope this clarifies, and we appreciate your patience throughout this process. If you have any other questions or concerns, please don't hesitate to reach out directly to our support team. Here are the steps: stgrnd.co/contactus/.
Matthew Brown
Hi Our site is https://www.propress.co.uk - if the migration to MySQL 8 doesn't work for our site will we be able to roll back to 5.7?
Lina Asenova Siteground Team
Hey there, the chances of the migration to MySQL 8 not working for your site are very slim. However, if any issues occur, our support team is available 24/7 to assist and resolve any problems. While we don’t roll back versions once upgraded, we are committed to ensuring that your site runs smoothly on MySQL 8.
Susie
My website is down. How do I upgrade to get it running again?
Lina Asenova Siteground Team
Hey there, we are sorry to hear about the trouble you are experiencing. We would be happy to check your account and provide more detailed information regarding when your server is scheduled for an update. To do so, please reach out directly to our support team by following the steps outlined in this article: stgrnd.co/contactus/. We look forward to hearing from you.
fatu
good evening
fccefc
Hi, our website, fccefc.org, is down, and we can't log in through the admin account. After password logging in, it returns "Unknown column 'a.client_id' in 'where clause', which seems related to MySQL upgrade.
Lina Asenova Siteground Team
Hey there, upon checking your account, we can confirm that it's still on MySQL 5.7, so the error isn't related to the update. To troubleshoot it, consider restoring a backup from before the issue started occurring. If the issue persists after the restore, you can check your plugins to see if one of them is causing a conflict. You can disable all plugins from Site Tools -> WordPress -> Install & Manage -> click on the Actions menu next to the entry for your website -> Disable all plugins. Additionally, you can always reach out directly to our support team. Here are the steps: stgrnd.co/contactus/. They'll be happy to help and investigate further.
Dom
Interesting! For smoother transition, do you confirm it's best to already use the character encoding utf8mb4 ? Your post made me check the "Charset" in (a) phpMyAdmin and in (b) the wp-config.php file, for one website... and I just changed the configuration from utf8 to utf8mb4 (for 1 site so far).
Lina Asenova Siteground Team
Hey there, thanks for the question. Indeed, it is best to use utf8mb4 over utf8. The difference is that utf8 can encode up to 3 bytes per character; however, there are Unicode characters that require 4 bytes to encode. This essentially means that utf8 cannot support all Unicode characters. utf8mb4 can encode up to 4 bytes per character and fully supports Unicode, including emojis and other special characters. If you have any other questions, please don't hesitate to reach out directly to our support team. They would be happy to answer all your questions. Here are the steps: stgrnd.co/contactus/
Gordon
Obviously you would have migrated Joomla sites already, so how is that CMS fairing in the compatibility stakes. Also, apart from the encoding, is there anything Joomla admins can do to smooth the transistion?
Lina Asenova Siteground Team
Hey there, not all Joomla websites have migrated to MySQL 8. The new versions of Joomla require MySQL 8, so unless you are using specific modules or components that require MySQL 5.7 (if you're unsure, contact the developers of the modules or components you're using), you should not be concerned about the MySQL upgrade. If you have any other questions, please don’t hesitate to reach out directly to our support team. Here are the steps to follow: stgrnd.co/contactus/. They are available 24/7 and would be happy to help.
DDAC
OSTickets stopped working - and impacting operations. "Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0"." Any thoughts?
Lina Asenova Siteground Team
Hey there, it seems that the error is related to the PHP version in use, not the MySQL version. You can change your PHP version from Site Tools to see if the issue persists. Here are the steps: https://eu.siteground.com/kb/what-is-managed-php/#What_is_Manual_PHP_Versions_Management. If you require further assistance, don’t hesitate to reach out directly to our support team: stgrnd.co/contactus. They will be happy to help.
Phil B.
Hi - I assume for my site, which is running Joomla 3.10.12 with PHP 7.4.33, the MySQL upgrade (from 5.7) to version 8 should be "seamless"?
Lina Asenova Siteground Team
Hey there, that is indeed correct. We strive to make the process as seamless as possible by performing the upgrade late at night when traffic is minimal. We also inform you via email one week in advance about the exact date, and no action is required on your end for the migration. If you have any other questions, don’t hesitate to reach out directly to our support team via the steps outlined in the article: stgrnd.co/contactus. They are available 24/7 and would be happy to help.
pcbfacile
we have a site based on prestashop 1.6.1.24 is mysql 8 compatible with such a platfrom?
Lina Asenova Siteground Team
Hey there, PrestaShop 1.6.1.24 was primarily designed to work with versions of MySQL up to 5.7. When it comes to MySQL 8, there are significant changes and improvements, including changes to the default character set, authentication method, and other functionalities that might not be fully compatible with older applications not explicitly updated to support these changes. If possible, consider updating to a newer version of PrestaShop that supports MySQL 8. This might involve additional steps but could provide a more stable and secure environment in the long run. It’s important to also note that we check every website for compatibility issues before migrating it to MySQL 8 and address them if possible. If not, we will revert your website to MySQL 5.7 and notify you via a message in your client area. We hope this clarifies. If you have any other questions, don’t hesitate to reach out directly to our support team using the steps outlined in this article: stgrnd.co/contactus. They will be happy to help!
Artem
Thank you so much 😊 Have successfully updated all Joomla sites from 4.4.4 up to 5.1.0 without any problems. Nice job 💪 Staying with SiteGround 🤗
Lina Asenova Siteground Team
Hey there, thank you so much for your kind words and for choosing SiteGround. We're glad to hear that your update went smoothly. If you require assistance in the future or have any questions, don’t hesitate to reach out. We're here for you whenever you need us!
AX
Hi there, after the upgrade, SQL Insert strings > 866 characters give an error. How can we adjust this to the previous limits?
Lina Asenova Siteground Team
Hey, thank you for reaching out! If the schema and encoding are well-thought-out, you shouldn't encounter any issues with inserts. To assist you efficiently, could you please reach out directly to our support team? This way, we can investigate further and recreate the issue on our end. Here are the steps to contact us: https://stgrnd.co/contactus. We look forward to hearing from you!
Augusto Hermosa
Website has become very slow atm, no support options available for VPS. very disappointing
Lina Asenova Siteground Team
Hey there, thank you for reaching out. It's important to clarify that we do not offer VPS hosting, so it seems you might be referring to our Cloud hosting services. Our Cloud servers are optimized for speed, using the latest SSD drives and PHP versions. If you are experiencing slowdowns, this is likely related to a specific website issue, which we will be more than happy to investigate further and troubleshoot. Our support team is available 24/7 through multiple channels - ticket, chat, and phone - for all clients, including those utilizing our Cloud hosting. To contact us, please follow these steps: stgrnd.co/contactus. From the categories, simply select “Website Troubleshooting” > “My site is slow.” We look forward to hearing from you!
Toby
The loading speed was reduced with the upgrade.
Lina Asenova Siteground Team
Hey there, MySQL 8 offers better performance compared to MySQL 5.7. Therefore, the loading speed issue is likely related to a specific website problem. To assist you effectively, please reach out directly to our support team using the steps outlined here: stgrnd.co/contactus. They are available 24/7 and will be more than happy to investigate further and troubleshoot.
tom
This upgrade caused part of my site to break. Sue to use of mysql functions X and Y. Switching to ST_X, ST_Y appears to solve the issue.
Lina Asenova Siteground Team
Hey, we’re sorry to hear about the difficulties you’ve encountered. We would like to investigate further to ensure everything is functioning smoothly on your website. To do so, we kindly ask you to reach out directly to our support team by following the steps outlined here: stgrnd.co/contactus. We look forward to hearing from you!
Marcello
Will you offer PCI Compliance hosting soon? It is becoming mandatory for lots of online payment systems.
Lina Asenova Siteground Team
Hey there, it’s important to note that PCI compliance is mandatory for the payment processor, but it’s not required for your entire website hosting unless you handle payment information directly. Most e-commerce sites do not require PCI-compliant hosting due to the complexities and significant costs involved. Achieving full PCI compliance is quite expensive, making it impractical for small businesses. Instead, many e-commerce businesses prefer using PCI-compliant gateways such as Stripe or PayPal. These platforms handle payment transactions off your server by using tokenized data, which means that you never actually process sensitive payment details. However, if you have specific requirements or concerns, please feel free to reach out to our support team. Here are the steps to contact us: https://stgrnd.co/contactus. We would be happy to review your case and explore possible solutions. Please keep in mind that the necessity for PCI compliance mainly depends on your payment processing setup. If your payment gateway is PCI compliant, it upholds the required security standards for handling credit card information.
Start discussion
Thanks! Your comment will be held for moderation and will be shortly published, if it is related to this blog article. Comments for support inquiries or issues will not be published, if you have such please report it through