MySQL - Features, Pricing, Alternatives, and More
MySQL manages more of your data already than you likely realize. From self-hosted tools like WordPress and Magento to popular services like Facebook and YouTube, MySQL is the database engine that stores and organizes your data. And it's free. You can download and run it on almost any computing device, for free, to build your own custom databases and apps.
With a name like MySQL, it'd be easy to assume that it's designed to be a personal database for your own data. The My in MySQL, however, came from co-founder Monty Widenius' daughter's name, My. It was still designed to be a personal database, though, one that worked similar to mSQL, another popular database at the time. After months of development work, MySQL's first version was released on May 23, 1995, as a simple, open source database, one anyone could use for free with the same SQL interface language as other popular proprietary databases. MySQL's namesake parent company was acquired by Sun Microsystems, best known for their namesake workstations and the Java language, in 2007. Then, three years later, Sun was acquired by Oracle, best known for its own namesake database.
As a free, lightweight database that includes the core SQL tools you need to store relational data, MySQL quickly became the default database developers would use for new apps. It's the M in the LAMP stack), as the common server configuration of Linux, Apache, MySQL, Perl/PHP/Python is called. Post-acquisition, MySQL is still the world's most popular open source database engine—second only to Oracle's own proprietary database engine with roots tracing back to 1977. You can still download and run MySQL for free, and tweak its open source core to work the way you want. Or, for enterprise deployments, Oracle today offers enterprise and cluster editions of MySQL with additional features and support.
MySQL includes all the standard relational database features, with cross-platform support that lets you run your databases on almost any platform and an information schema to define and manage your metadata. You can build a relational database that stores as much data as your file system allows, with up to 256TB of data in each table by default that can be increased if you need. You can use SQL commands to find, view, and manage data, with user-level permissions and customized views that show only the data each user should be able to see. MySQL can replicate data to offer additional durability, and can partition your tables when they grow too large for better performance.
MySQL also supports multiple storage engines, connectors, plugins. Storage engines—such as the default InnodB, the simple CSV storage engine that saves data to a comma separated text file, or Memory which saves data in ram for fast access—let you choose how data is stored, with unique engines to process SQL requests for the type of data table you need. Connectors—or database drivers—help you connect MySQL to applications using standard languages like ODBC or toolkits for .NET, Node.js, Python, C++, PHP, and more to build your own applications. And extensions let you add on to your database, giving it extra features beyond core SQL commands. That's what Oracle's enterprise editions of MySQL include, and you can write your own or find extensions online to enhance your database.
You'll run MySQL via Terminal by default, as the back-end of your applications. With some apps, like WordPress, you may never have to touch the database itself, interacting with the database through the blog editor instead. Or, you could use a tool like phpMyAdmin to browse through your database and customize it from any browser. If you want a simple way to build your own personal database in MySQL, LibreOffice Base gives you an Office-style interface to build MySQL powered databases with tools that work similar to Microsoft Access.
As part of your next enterprise app, just for a personal database, or as the magic behind the scenes in the apps you use every day, MySQL is one of the core pieces of software that keep our modern world of apps running. It's the open source database engine you should try first, the tool that'll likely keep managing your data in one way or another for years to come.
- A free, open source database that powers a wide range of web apps and tools
- Store data in multiple storage engines including InnoDB, CSV, NDB, and more
- Replicate data and partition tables for better performance and durability
- Access database info with SQL commands
- Use triggers and views to enforce business rules and show only data needed per user
- Available on 20+ platforms, including Mac, Windows, Linux, and Unix
- Free open source MySQL Community Edition
- $130/month per CPU MySQL Cloud Service for a hosted database
- from $2,000/year MySQL Standard Edition with InnoDB and support
- from $5,000/year MySQL Enterprise Edition with backup, monitoring, modeling, development, and administration tools along with support
- From $10,000/year MySQL Cluster Grade Edition with distributed architecture for 99.999% availability and database scaling, with premier support