113 The History of MySQL — The Database Behind the Dynamic Web
The Technologies That Built the Web
A website can display information with HTML.
PHP can make that information dynamic.
But where does the information come from?
For countless websites built during the explosive growth of the World Wide Web, the answer became MySQL.
Articles, products, customers, usernames, passwords, orders, comments, photographs, categories, dates, settings, and millions of other pieces of information could be stored in a database and retrieved whenever they were needed.
Combined with PHP, MySQL helped transform websites from collections of files into information systems.
Its story is an important part of the history of the modern web.
Before MySQL
Databases existed long before the World Wide Web.
Businesses, governments, universities, banks, libraries, research organizations, and other institutions had been storing information electronically for decades.
By the 1970s, an important idea was gaining momentum: the relational database.
Instead of treating information as one enormous collection, data could be organized into related tables.
A customer table might contain information about customers. An orders table could contain purchases. A products table could describe products.
Relationships could connect them.
This approach allowed information to be organized efficiently without unnecessarily repeating the same data everywhere.
SQL — A Language for Talking to Data
Relational databases also needed a practical way to ask questions.
That led to SQL—Structured Query Language.
SQL allows developers to describe what they want from a database.
A query might effectively say:
Find this customer.
Show all products in this category.
Add this order.
Update this record.
Delete this item.
Those concepts are represented by familiar SQL commands such as SELECT, INSERT, UPDATE, and DELETE.
The combination of relational databases and SQL became one of the foundations of modern computing.
The Beginning of MySQL
MySQL traces its origins to the work of Michael “Monty” Widenius, David Axmark, and Allan Larsson.
The developers were working with database systems and needed something faster and more flexible for their applications.
Development of what became MySQL began in the mid-1990s, and the first public version appeared in 1995.
The company behind it became MySQL AB, based in Sweden.
The timing could hardly have been better.
The World Wide Web was beginning an extraordinary period of growth.
Why “MySQL”?
The name has an interesting personal connection.
Monty Widenius frequently used the prefix “My” in the names of his projects, and his daughter is named My.
The “SQL” portion refers, of course, to Structured Query Language.
Thus one of the world's best-known database names emerged: MySQL.
The Web Needed Databases
Early websites could operate perfectly well as collections of HTML files.
But as websites grew, that approach became increasingly limiting.
Imagine maintaining a website containing thousands of products.
If every product existed only as an individual HTML page, changing how those products were organized or displayed could become an enormous job.
A database offered a different approach.
The product information could be stored as data.
The website could then build the page when someone requested it.
This separation between information and presentation was transformational.
PHP Meets MySQL
PHP and MySQL became natural partners.
PHP could receive information from a web request, communicate with MySQL, retrieve or modify data, and generate HTML for the visitor.
A request might look conceptually like this:
Browser → Web Server → PHP → MySQL
MySQL returns the requested information:
MySQL → PHP → HTML → Browser
That simple pattern powered an enormous portion of the dynamic web.
The LAMP Stack
MySQL also became one of the four technologies associated with the famous LAMP software stack:
- Linux — the operating system
- Apache — the web server
- MySQL — the database
- PHP — the server-side programming language
The combination was powerful.
It was also accessible.
A developer or small organization could build a sophisticated database-driven website without purchasing an expensive proprietary software platform.
This dramatically lowered the cost of creating dynamic websites.
The Database Became the Website's Memory
There is a useful way to think about the relationship between PHP and MySQL.
PHP performs the work. MySQL remembers.
A PHP program finishes executing after a request, but the information stored in MySQL remains.
That persistent memory allows websites to remember users, maintain product catalogs, store articles, record orders, organize photographs, track events, manage memberships, and preserve countless other kinds of information.
The website was no longer simply displaying documents.
It was managing knowledge.
Tables, Rows, and Relationships
At its heart, the relational database model is remarkably understandable.
Information is organized into tables.
A table contains rows representing individual records and columns representing particular types of information.
For example, an article table might contain:
- An identification number
- A title
- A date
- A category
- The article text
- An author
- A publication status
Another table might contain categories. Another might contain users.
Identifiers can connect information between those tables.
Good database design allows information to be stored once and reused wherever it is needed.
MySQL Grows With the Web
As the web expanded during the late 1990s and early 2000s, MySQL expanded with it.
Its combination of speed, accessibility, broad operating-system support, integration with popular programming languages, and an active development community made it attractive to web developers.
Hosting companies began offering MySQL databases as a standard part of web-hosting packages.
Content management systems embraced it.
Discussion boards used it.
Online stores used it.
Blogs used it.
Organizations that might never have considered operating a database suddenly had one behind their website.
WordPress and the MySQL Explosion
When WordPress appeared in 2003, it used PHP and MySQL.
As WordPress grew into one of the world's dominant content-management platforms, it carried PHP and MySQL with it.
Other major projects—including Drupal, Joomla, MediaWiki, and numerous e-commerce and community platforms—also helped establish MySQL throughout the web.
MySQL was no longer merely a database product.
It had become infrastructure.
Transactions and InnoDB
As applications became more sophisticated, database reliability became increasingly important.
One major development was the growing importance of the InnoDB storage engine.
InnoDB provided capabilities including transactions, row-level locking, and foreign-key support.
A transaction allows several related database operations to be treated as one logical unit.
Consider transferring money between two accounts.
Removing money from one account but failing before adding it to the other would be disastrous.
A transaction allows the database to complete the entire operation successfully or roll it back.
That concept is essential in systems where data integrity matters.
MySQL 5
MySQL 5, introduced in 2005, represented an important stage in the database's maturation.
Features such as stored procedures, triggers, views, and improved database capabilities made MySQL suitable for increasingly complex applications.
The lightweight database that had grown alongside the early web was becoming a substantial database platform.
Sun Microsystems Buys MySQL
Then came a major change.
In 2008, Sun Microsystems announced that it would acquire MySQL AB for approximately $1 billion.
It was remarkable evidence of how valuable open-source infrastructure had become.
A database that had risen alongside Linux, Apache, and PHP was now worth a billion-dollar acquisition.
But the story was about to become even more interesting.
Oracle Buys Sun
In 2010, Oracle completed its acquisition of Sun Microsystems.
That meant MySQL was now owned by Oracle Corporation—one of the world's largest database companies and the company behind the Oracle Database.
The acquisition generated concern within parts of the open-source community.
What would happen to MySQL now that it belonged to a company whose major business included commercial database software?
Would MySQL remain open?
Would development continue?
Those questions helped produce another important chapter in the story.
The Birth of MariaDB
Michael “Monty” Widenius, one of MySQL's original creators, became concerned about MySQL's future under Oracle.
He and others created a fork of MySQL.
A software fork begins with an existing project's source code and develops it in a separate direction.
The new database was called MariaDB.
And once again, the name came from Widenius's family.
Maria is another of his daughters.
MariaDB was designed to remain highly compatible with MySQL, allowing many applications to move between the two with relatively little difficulty.
One Family, Two Paths
Today MySQL and MariaDB are separate database systems.
They share a common history and substantial compatibility, but they have continued developing independently.
MySQL remains under Oracle.
MariaDB developed through its own community and organizations.
Both remain important parts of modern computing.
This is one of the interesting characteristics of open-source software: a project's source code can sometimes allow an idea to continue along more than one path.
MySQL Beyond the Traditional Web Server
The environment surrounding MySQL has also changed dramatically.
Originally, a common setup might have involved Linux, Apache, PHP, and MySQL running on the same physical server.
Today the database might be on another server, inside a virtual machine, within a containerized environment, or provided as a managed cloud database service.
Applications may connect to it from websites, mobile applications, APIs, business systems, and automated services.
The architecture changed.
The fundamental job did not.
Store information reliably and return it when needed.
From Thousands of Records to Enormous Systems
A database can serve a tiny website with a few hundred records or participate in an architecture managing enormous amounts of information.
Indexes help databases locate information efficiently.
Caching can reduce repeated work.
Replication can copy data across multiple servers.
Backups protect against loss.
Permissions restrict who can access what.
Careful database design can make the difference between a system that remains fast and understandable and one that becomes increasingly difficult to maintain.
Security Became Critical
As databases accumulated valuable information, they also became attractive targets.
A poorly constructed query could allow SQL injection.
An overly privileged database account could turn a small vulnerability into a major breach.
An exposed database server could reveal enormous quantities of information.
Modern database security therefore depends on layers: prepared statements, restricted permissions, strong authentication, network controls, encryption where appropriate, software updates, monitoring, and reliable backups.
Once again, the same lesson appears:
Security is not one setting. It is a system.
The Quiet Technology Behind the Page
Visitors rarely think about MySQL.
They see an article.
They search a website.
They add an item to a shopping cart.
They update their profile.
They register for an event.
Behind each of those simple actions may be a series of database queries happening in fractions of a second.
That invisibility is partly a sign of success.
Good infrastructure often disappears into the experience it makes possible.
The Web Learned to Remember
HTML gave the web documents.
PHP helped make those documents dynamic.
MySQL gave dynamic websites memory.
That combination changed what a website could be.
A website could become a catalog.
A library.
A newspaper.
A store.
A membership system.
A discussion community.
A business application.
An enormous searchable collection of human knowledge.
MySQL helped make all of those things practical for millions of developers and organizations.
More Than 30 Years Later
MySQL emerged at almost exactly the right moment.
The web was expanding rapidly. Developers needed affordable, dependable databases. PHP needed somewhere to store information. Linux and Apache provided an increasingly popular server environment.
Together, those technologies created one of the most influential combinations in computing history.
More than three decades later, MySQL is still here.
Like PHP, it has changed enormously while continuing to perform the basic job that made it valuable in the first place.
It remembers.
Next: MySQL Today and Tomorrow
The database world of today is very different from the one MySQL entered in 1995.
We now have cloud databases, distributed systems, NoSQL databases, enormous data warehouses, JSON documents, artificial intelligence, vector databases, and applications processing extraordinary amounts of information.
So where does the traditional relational database fit?
Next in The Technologies That Built the Web, we will look at MySQL today, the continuing importance of relational data, modern database security and performance, the relationship between MySQL and MariaDB, and what artificial intelligence may mean for databases in the years ahead.

Brad Zehr | Zehr.net | brad@zehr.net
About Services Why A Site Site Ideas Topics Podcast Help Contacts