MySQL
Also known as: MySQL database, MariaDB, MySQL 8, LAMP database
MySQL is an open-source relational database management system.
It stores data in tables, uses SQL for queries, and is the default database in millions of web applications (WordPress, Drupal, many e-commerce platforms). MySQL is known for speed, widespread hosting support, and a massive community.
MySQL, explained at three levels
At home
MySQL is one of the most common databases for websites. If you use WordPress, your site's content, users, and settings are stored in MySQL. It's been around since 1995 and is known for being fast and easy to get started with.
At work
MySQL is an open-source relational database, now owned by Oracle, that stores application data in tables and answers SQL queries. Businesses rely on it because nearly every web host and cloud offers it, WordPress and many e-commerce platforms expect it, and experienced staff are easy to hire. It's well proven for applications that mostly create, read, update, and delete records, at little or no licence cost.
At home
MySQL uses SQL for queries and supports ACID transactions via the InnoDB storage engine (the default). It offers multiple storage engines: InnoDB (transactions, foreign keys), MyISAM (legacy, no transactions, full-text search). MySQL 8.0 added window functions, CTEs (common table expressions), and JSON support, closing the feature gap with PostgreSQL.
At work
MySQL replication works from the binary log: the primary records every change, and replicas copy and replay it, usually asynchronously, so replicas can lag slightly. Applications send writes to the primary and spread reads across replicas. Group Replication and InnoDB Cluster add consensus-based failover so a new primary is chosen automatically. Cloud versions such as Amazon Aurora MySQL replace this with a shared storage layer and support up to 15 read replicas.
At home
MySQL's query optimizer has historically been less sophisticated than PostgreSQL's, occasionally choosing poor execution plans for complex queries. The EXPLAIN statement shows execution plans. MySQL's strict mode settings affect how invalid data (zero dates, truncated strings) is handled: important to enable for data integrity.
At work
At massive scale (Facebook, Twitter historically), MySQL is used with custom sharding middleware. ProxySQL provides query routing, caching, and connection pooling in front of MySQL clusters. The binary log (binlog) is used for replication, point-in-time recovery, and CDC (change data capture) pipelines via tools like Debezium.
Real-world examples
At home
Marcus hosts a small community website on shared hosting. MySQL comes pre-installed, his CMS connected to it automatically, and he's never had to think about the database: it just works.
At work
Lena's e-commerce platform uses MySQL with primary-replica replication: write queries go to the primary; read-heavy product listing queries go to replicas. Aurora MySQL handles failover automatically with minimal downtime.
Common confusions
- MySQL and MariaDB are the same — MariaDB is a fork of MySQL that diverged after Oracle's acquisition. Both are compatible at the SQL level and use similar connection strings, but they have different internals, storage engines, and feature timelines. MariaDB has diverged significantly in newer versions.
- MySQL is only for small websites — MySQL powers some of the world's largest applications: Facebook used MySQL at enormous scale. Scale requires architectural work (sharding, replication), but MySQL is not inherently limited to small deployments.
For analysts
MySQL is widely supported by BI and reporting tools. Business analysts can connect Tableau, Power BI, or Metabase to MySQL databases to build dashboards on live application data.
History & origin
MySQL was created by Michael Widenius (whose daughter is My, hence the name) in 1995 and released under the open-source GPL in 2000. It became the default database for the LAMP stack (Linux, Apache, MySQL, PHP) that powered most of the early web. Sun Microsystems acquired MySQL AB in 2008; Oracle acquired Sun in 2010. Concerned about Oracle's stewardship, the original creator forked MySQL as MariaDB, which many Linux distributions now ship by default. Despite competition, MySQL remains one of the most deployed databases by raw count.