If you’re managing databases, you know how important it is to keep everything running smoothly. MySQL, like most software, receives updates regularly to improve features, boost performance, fix bugs, and patch security issues. But while these updates can be helpful, they might also disrupt things unexpectedly. If you rely on a specific MySQL version to keep your applications stable, an automatic update can throw a wrench into the works.
In this guide, we’ll go over why you might want to disable automatic updates of MySQL, how to do it properly, and what common mistakes to avoid. After reading, you’ll understand when it’s safe (or risky) to turn off updates and how to manage MySQL versions so they work for you, not against you.

Should You Disable Automatic Updates of MySQL?
Before you decide to disable updates, let’s weigh the benefits and drawbacks. Sometimes blocking updates makes sense, but in other cases, it can lead to more problems.
Reasons to Disable Automatic Updates of MySQL
- Avoiding Unplanned Changes: Some applications need a specific MySQL version to work right. Updates can bring changes that break compatibility, so if your app relies heavily on one version, blocking updates can keep things stable.
- More Control Over Testing: If you have strict testing processes, automatic updates can mess with that flow. Disabling them allows you to test new versions at your own pace, preventing disruptions in production environments.
- Meeting Compliance Standards: Certain industries require you to use specific software versions for compliance. Turning off automatic updates ensures you stay within these requirements.
- Managing System Resources: Some MySQL updates change how resources are used, potentially impacting speed or memory. In resource-limited setups, holding off on updates can help maintain performance.
Reasons NOT to Disable Automatic Updates of MySQL
- Missing Critical Security Fixes: Updates often include security patches that protect against vulnerabilities. If you skip these, you risk exposing your database to attacks.
- Missing Out on Improvements: Updates can also bring performance boosts and bug fixes that improve speed and efficiency. By turning off updates, you might miss out on these enhancements.
- Compatibility Issues Over Time: As MySQL evolves, other software (like database tools and connectors) assumes you’re using an up-to-date version. Blocking updates could eventually cause compatibility issues with third-party tools.
- Accumulating Maintenance Challenges: Holding off on updates for too long can make it more complicated to upgrade in the future, leading to more technical debt and potential downtime.
Best Practices for Managing MySQL Updates
If you decide to turn off automatic updates, having a plan will help you avoid common pitfalls. Here are some tips for managing MySQL updates responsibly:
Adopt a Controlled Update Process
Instead of completely blocking updates, you can set things up to only allow essential security patches while holding off on major version upgrades until you’re ready. This approach keeps you secure without forcing unwanted changes.
Test Updates in a Safe Environment
Use a staging or test environment that closely mirrors production. Test new MySQL updates there first to ensure compatibility and stability. This way, you can catch any issues before they impact your live setup.
Make Frequent Backups
Regularly backup your MySQL databases. Full backups, snapshots, and incremental backups help you roll back to a stable state if something goes wrong after an update.
How to Disable Automatic Updates of MySQL: Step-by-Step Guide
Here’s a step-by-step look at how to turn off MySQL updates on different systems, including Debian-based (like Ubuntu) and RedHat-based (like CentOS) setups. We’ll also cover a few MySQL-specific settings that help you manage updates from within MySQL itself.
1. Using Package Managers to Control MySQL Updates
Most Linux distributions come with package managers that allow you to “lock” MySQL at a specific version.
Debian/Ubuntu Systems (Using APT)
For Debian-based distributions, like Ubuntu, you can prevent MySQL from updating automatically using the apt-mark
and “pin” methods:
- Pin MySQL Version
To freeze MySQL at a specific version, create a configuration file in/etc/apt/preferences.d/
:bashsudo nano /etc/apt/preferences.d/mysql
Then, add the following to lock in MySQL 5.7, for example:
yamlPackage: mysql-server
Pin: version 5.7*
Pin-Priority: 1001
- Use
apt-mark
to Hold MySQL Package
Theapt-mark
command tells the package manager not to update MySQL automatically:bashsudo apt-mark hold mysql-server
If you want to allow updates again, simply remove the hold:
bashsudo apt-mark unhold mysql-server
RedHat/CentOS Systems (Using YUM/DNF)
On RedHat-based systems, you can exclude MySQL from updates by modifying the yum
or dnf
configurations.
- Exclude MySQL from Updates
Edit the configuration file foryum
:bashsudo nano /etc/yum.conf
Add this line under the
[main]
section:makefileexclude=mysql*
This will prevent MySQL from being updated.
- Temporary Exclusion from Update Command
If you want to exclude MySQL from a single update, add the--exclude
flag:bashsudo yum update --exclude=mysql*
2. Disabling Unattended Upgrades for MySQL (Debian/Ubuntu)
Debian systems often run unattended upgrades automatically, which can include MySQL. You can disable these for MySQL only by adjusting configuration files.
- Edit the Unattended Upgrades Configuration
Open the configuration file for unattended upgrades:bashsudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Find and remove or comment out any line that includes MySQL updates to prevent automatic upgrades.
- Check the Unattended-Upgrades Log
To confirm that updates aren’t happening, you can look at the log file:bashcat /var/log/unattended-upgrades/unattended-upgrades.log
This file will show if MySQL updates are being blocked successfully.
3. Adjusting MySQL’s Internal Update Settings
Some MySQL setups may attempt automatic upgrades based on internal settings. Adjusting these settings can help prevent unwanted updates.
- Edit MySQL’s Configuration File
Open the MySQL config file (usually/etc/mysql/my.cnf
or/etc/my.cnf
) and add the following under[mysqld]
:scss[mysqld]
auto-upgrade = 0
upgrade-interval = 0
- Restart MySQL
After making changes, restart MySQL to apply the new settings:bashsudo systemctl restart mysql
How to Disable Automatic MySQL Updates in cPanel
If you’re using cPanel to manage your server, you may not have direct control over MySQL updates as you would on a standalone server, but there are ways to handle update configurations. By default, cPanel environments may apply automatic updates to MySQL depending on the hosting provider’s policies. Here’s how you can manage or disable these updates to better control your MySQL version.
1. Checking Update Preferences in WHM (for VPS and Dedicated Servers)
If you’re managing a VPS or dedicated server with cPanel, you’ll have access to WHM (Web Host Manager), which gives you additional control over system settings, including MySQL update preferences.
- Log into WHM: Use your administrator credentials to log into the WHM interface.
- Navigate to Update Preferences: In the WHM dashboard, go to Home > Server Configuration > Update Preferences. Here, you can manage how cPanel handles updates for system packages, including MySQL.
- Select Update Preferences for MySQL:
- In the Update Preferences section, you may see options to control whether MySQL updates occur automatically.
- You can set the preference to apply only security patches or prevent any updates to MySQL.
- Save Changes: After setting your preferences, save your changes to ensure MySQL updates are handled according to your specified configuration.
Note: Not all hosting providers allow you to completely disable MySQL updates through WHM, as they may have mandatory security patches applied periodically. It’s always a good idea to confirm with your hosting provider.
2. Using cPanel’s MySQL Version Control
In some cPanel configurations, especially if your hosting provider uses EasyApache 4, you might have access to limited MySQL version control. Here’s how you can set a preferred MySQL version:
- Access MySQL/MariaDB Version: In WHM, go to Software > MySQL/MariaDB Upgrade.
- Choose Your Version: From here, you can select a specific MySQL or MariaDB version. This allows you to upgrade or maintain your current version, which prevents unexpected automatic updates.
- Complete the Upgrade/Downgrade: Follow the prompts to finalize the MySQL version change. Be cautious when downgrading, as it may cause compatibility issues with your existing databases.
3. Contacting Your Hosting Provider for MySQL Update Settings
For shared hosting or if your cPanel setup doesn’t allow direct control over MySQL updates, the hosting provider might have control over when and how updates are applied. In these cases, reach out to their support team to inquire about freezing or controlling MySQL versions.
Some providers offer managed solutions where they handle all updates, while others allow you to maintain a specific version if you provide a valid reason (e.g., for compatibility with your application). Be sure to discuss your needs to ensure they align with their security protocols.
Avoid These Common Mistakes When Disabling Updates
Here are a few things to keep in mind to avoid problems when managing MySQL updates:
1. Don’t Block All Updates Completely
Turning off updates entirely (especially security patches) can leave your system vulnerable. Make sure you’re only disabling version upgrades and not blocking necessary security updates.
2. Be Cautious with Manual Updates
It’s easy to forget a manual update, which could leave your system without essential security patches. Even if updates are manual, set reminders to check for them regularly.
3. Avoid Misconfigurations
Misusing hold
, exclude
, or configuration files can lead to unintended downgrades or other issues. Always double-check settings in a safe test environment before applying them to production.
Advanced Tips for MySQL Version Control
In addition to disabling updates, you might want to consider using version control and backup strategies to keep your MySQL setup manageable.
Try Containers for Version Isolation
Using Docker containers or virtual machines can help you control MySQL versions easily. Containers isolate versions and make switching between them easier.
Always Have a Backup Plan
Regular backups help you recover quickly if an update or change goes wrong. Set up a backup schedule to safeguard your data.
Also Read: E-Commerce Backup and Data Recovery | Essential Strategies
Conclusion
Disabling automatic updates of MySQL can help you maintain stability and prevent unwanted changes, but it also carries risks, especially with security. Balancing stability with security is key to running a reliable MySQL environment.
If you follow these guidelines and take a proactive approach, you can safely manage MySQL updates, keeping your system secure and running smoothly. Ultimately, the goal is to make updates work on your schedule so that your database environment remains stable and optimized.