r/mysql • u/BravoUniformTango • 1d ago
discussion Leaving MySQL after 25 years of reliable stability
I figured I'd write a reality-based "kudos" on MySQL.
I run a small software company. In 2001, I made a website content manager that ran on MySQL 4. It is somewhat similar to what WordPress would become, though it predated WordPress by a couple of years.
I am writing this in July of 2026. MySQL 4 has been rock solid, running my website, and other websites, for 25 years. I did not tinker with it. It kept working.
Yet, my paid software development work was not in MySQL. In that same 2001 time frame when I chose MySQL, I was approached by a client who wanted me to implement a Microsoft SQL Server database engine for their custom business software, which had until then been using Microsoft Access as its database engine.
They liked what I did, and wanted more. They remained my client for about 20 years, until COVID-19 hit them very hard: their main business involved in-person trade shows.
Over time, I became highly skilled in working with the Microsoft SQL Server database engine, including migrating Visual BASIC for Applications (a.k.a. VBA) custom program code from Microsoft Access into the database language of Microsoft SQL Server: Transact-SQL (a.k.a. T-SQL).
There were some compelling reasons to also migrate my website content manager from the MySQL 4 database engine to the Microsoft SQL Server database engine, since the latter was what I was most comfortable working with.
It’s like one of my automotive clients who standardized on using Ford vans and trucks, yet they also have one old International truck that just refuses to die, so they keep using it, and it keeps working.
I figured that leaving MySQL was not urgent, since I do know MySQL 4 well enough to be able to fix any problems if they were to arise. Yet, none did.
The recent 25 years of my life have been tumultuous. The recent 25 years have been tumultuous for America too. So my attention often went to whatever was the newest crisis, not always to what made calm, strategic sense.
Also, as the saying goes: "If it ain't broke, don't fix it." So, I just stayed on MySQL for my content manager. For 25 years, the software based on MySQL 4 kept running flawlessly. But more impressively: MySQL 4 kept running flawlessly.
My website content manager is a fairly sophisticated piece of software that includes 119 database tables, A/B testing, various logs, and so on. The logs grew and grew … for 25 years.
Finally, the logs in MySQL 4 grew to be large enough to run the virtual machine out of disk space. Yes, I could have cleared the logs, but that doesn’t shrink the MySQL 4 database. Some additional work would be needed to make the database smaller again. And that, I didn’t really want to do. Yes, I could have increased the disk space. But …
I had lived the great American tradition, of kicking the can down the road, for 25 years.
I decided that if I was ever going to migrate away from MySQL, this was the best time. So I did. And now my website content manager runs on Microsoft SQL Server, where it is indeed easier for me (emphasis on "for me") to work with it, such as if I want to implement significant changes to the software, such as table structure changes.
I'm not saying Microsoft SQL Server is better than MySQL. But I'm reminded of the time when a colleague mused: "Sometimes, the best tool for the job is the tool you know best." There some merit to his argument (and, I concede, much merit to the contrary too).
After 25 years, I finally decommissioned the virtual machine on which MySQL 4 had been running.
That is a very long time for a database engine. So, a massive "kudos" to MySQL 4 and the people who made it.
For me, the migration was fairly intricate. I'd hoped it would be as simple as "download and run this conversion utility" but somehow that approach turned out to be non-viable for me. At some point, I stopped looking for easy solutions and I made my own process, and I powered through. No doubt: smarter people would have done it better.
Even so, if you might benefit from knowing the specific steps I took, feel free to ask.