MySQL facts for kids
![]() |
|
Screenshot of the default MySQL command-line banner and prompt
|
|
Original author(s) | MySQL AB |
---|---|
Developer(s) | Oracle Corporation |
Initial release | 23 May 1995 |
Stable release |
Lua error in Module:Wd at line 1575: attempt to index field 'wikibase' (a nil value). / Lua error in Module:Wd at line 1571: attempt to index field 'wikibase' (a nil value).
|
Written in | C, C++ |
Operating system | Linux, Solaris, macOS, Windows, FreeBSD |
Available in | English |
Type | RDBMS |
License | GPLv2 or proprietary |
MySQL (pronounced "My S-Q-L") is a very popular way to organize and store information. It's an open-source system, which means its code is free for anyone to use and change. MySQL is a type of relational database management system (RDBMS).
The name "MySQL" comes from "My," which is the name of co-founder Michael Widenius's daughter, and "SQL," which stands for Structured Query Language.
Imagine a database as a super organized digital filing cabinet. A relational database stores information in tables, like spreadsheets. These tables can be linked together, showing how different pieces of information are connected. This helps keep everything neat and easy to find. SQL is a special language used to talk to these databases. Programmers use SQL to create new tables, change existing information, find specific data, and control who can access the database.
MySQL is free to use under the GNU General Public License. It's also available with special licenses for companies. MySQL was first created by a Swedish company called MySQL AB. Later, it was bought by Sun Microsystems, which was then bought by Oracle Corporation. After Oracle bought Sun, one of MySQL's founders, Michael Widenius, started a new project called MariaDB.
MySQL is often used with other programs to build applications that need to store lots of data. For example, it's a key part of the LAMP software bundle, which helps power many websites. LAMP stands for Linux, Apache, MySQL, and Perl/PHP/Python. Many popular websites and apps, like Drupal, Joomla, phpBB, WordPress, Facebook, Flickr, MediaWiki, Twitter, and YouTube, use MySQL to manage their information.
Contents
How MySQL Works
MySQL is built using the C and C++ programming languages. It can run on many different operating systems, including Linux, macOS, Microsoft Windows, and FreeBSD. This means it's very flexible and can be used on many types of computers.
MySQL offers two main ways to use it:
- The server software and client tools are available under the GPL. This is the free and open-source version.
- There's also a special license for companies that need extra features or support.
If you need help with MySQL, there's an official manual. You can also find free help in online forums and chat groups. Oracle, the company that owns MySQL, also offers paid support services for businesses. Many people have given MySQL good reviews, saying it works very well and is fast and stable.
The Story of MySQL
MySQL was created by a Swedish company called MySQL AB. It was founded by David Axmark, Allan Larsson, and Michael "Monty" Widenius.
The idea for MySQL started in 1994. The very first version of MySQL came out on May 23, 1995. It was first made for personal use. The creators found other database systems too slow, so they built their own faster one. They made sure it was easy for other developers to switch to MySQL.
Key Moments in MySQL's Journey
Here are some important dates in MySQL's history:
- May 23, 1995: The first version was released.
- January 1998: A version for Microsoft Windows computers was released.
- January 2001: Version 3.23 became a stable release.
- March 2003: Version 4.0 was released, adding new features.
- October 2004: Version 4.1 came out with more improvements.
- October 2005: Version 5.0 was released, adding important features like stored procedures (pre-written commands) and triggers (automatic actions).
- 2008: Sun Microsystems bought MySQL AB.
- November 2008: Version 5.1 was released, adding partitioning (splitting large tables).
- January 2010: Oracle Corporation bought Sun Microsystems. On the same day, Michael "Monty" Widenius started MariaDB, a new version of MySQL that stayed open-source.
- December 2010: MySQL Server 5.5 became widely available. It made InnoDB the default way to store data, which improved how transactions (groups of database changes) are handled.
- February 2013: MySQL 5.6 was released, making the database faster and better at handling large tables.
- October 2015: MySQL 5.7 was released, adding support for JSON data, which is a popular way to store information on the web.
- April 2018: MySQL Server 8.0 was announced. This version added more features for handling JSON data and improved how the database works overall.
- 2019: MySQL was named "DBMS of the year" by DB-Engines.
Important Changes and Purchases
Over the years, there have been some important events for MySQL:
- In 2005, Oracle bought Innobase OY, the company that made the InnoDB storage engine. This engine is very important for MySQL because it allows for features like transactions.
- In 2008, Sun Microsystems bought MySQL AB for $1 billion.
- In 2009, Oracle Corporation made a deal to buy Sun Microsystems. This meant Oracle would own MySQL. Many people worried about what this would mean for MySQL, since Oracle also makes its own database products.
- One of MySQL's founders, Monty Widenius, started a campaign called "Save MySQL" to try and stop the sale. However, the European Commission eventually approved Oracle's purchase in January 2010.
- To keep MySQL open and free, Monty Widenius created MariaDB in January 2010. MariaDB is very similar to MySQL and aims to work just like it.
Key Features of MySQL
MySQL comes in two main versions:
- The MySQL Community Server is the free and open-source version.
- The MySQL Enterprise Server is a paid version with extra features and support for businesses.
Here are some of the main things MySQL can do (as of version 5.6):
- It understands a large part of the standard SQL language.
- It works on many different computer systems.
- It can use stored procedures, which are like mini-programs stored in the database.
- It has triggers, which are actions that happen automatically when certain things occur in the database.
- It supports views, which are like virtual tables that show specific data.
- It can handle transactions, which are groups of changes that either all happen or none happen, keeping data safe.
- It supports SSL for secure connections.
- It can cache (store in memory) query results to make things faster.
- It has built-in replication, which means it can copy data to other servers. This helps with speed and safety.
- It can do full-text searches to find words inside large blocks of text.
- It supports Unicode, so it can handle many different languages and characters.
- It can split large tables into smaller partitions to make them easier to manage.
- It can use different storage engines, which are like different ways to store and organize the data. This allows you to choose the best method for each part of your application. Popular engines include InnoDB and MyISAM.
MySQL developers release small updates about every two months. You can get the free version from MySQL's website or its GitHub page.
Things to Know About MySQL
While MySQL is very powerful, there are a few things to keep in mind:
- When using some older storage engines, MySQL might not fully follow all the rules of the SQL standard.
- Before a certain version (8.0.15), some rules you set for data (like "check constraints") were ignored.
- Before MySQL 8.0.28, some date and time functions had a problem that would cause them to stop working correctly after January 19, 2038. This is known as the Year 2038 problem. This issue has since been fixed.
How MySQL is Used
MySQL is often installed using special software packages on computers, which makes it easy to set up. You might need to do some extra setup to make it secure and fast.

MySQL started as a simpler option compared to bigger, more expensive databases. But it has grown to handle much larger needs. It's still very popular for small to medium-sized projects, especially as part of a LAMP web application. People like MySQL because it's relatively simple to use, and there are many free tools like phpMyAdmin that help manage it.
For bigger projects, MySQL can be used on more powerful computers. For really large websites, multiple MySQL servers are used together. For example, one main server might handle all the data changes, while many other "slave" servers handle all the data reading. This makes the system faster and more reliable. If the main server ever breaks, one of the slave servers can quickly take its place.
MySQL in the Cloud
MySQL can also run on cloud computing platforms. This means you don't need to own the physical computers. Instead, you use computers and services provided over the internet.
Here are common ways MySQL is used in the cloud:
- Virtual Machine Image: You can set up a virtual computer in the cloud with MySQL already installed and ready to go.
- MySQL as a Service: Some cloud companies offer MySQL as a service. This means they handle all the installation and maintenance of the database for you. You just use it and pay for what you use. Examples include Amazon Relational Database Service, Oracle MySQL HeatWave Database Service, and Azure Database for MySQL.
Ways to Interact with MySQL
There are different ways to control and work with a MySQL database.
Graphical Tools
A graphical user interface (GUI) lets you use pictures and buttons to interact with a program, instead of typing commands. Many tools are available that give you a visual way to manage your MySQL databases.
MySQL Workbench
MySQL Workbench is a special tool made by the MySQL team. It helps you manage your MySQL databases and design how your data is organized using visual tools.
MySQL Workbench has a free version called Community Edition. There are also paid versions with more features for businesses.
Other Graphical Tools
Many other tools help you work with MySQL using a visual interface, including:
- Adminer
- DBeaver
- HeidiSQL
- LibreOffice Base
- Navicat
- phpMyAdmin
- SQLyog
- Toad for MySQL
Command-Line Tools
A command-line interface (CLI) lets you interact with a computer program by typing text commands. MySQL comes with several command-line tools. The main one is the `mysql` client, where you type SQL commands directly.
Other command-line tools include:
- MySQL Utilities: These are tools for common tasks like maintenance.
- Percona Toolkit: A set of tools that help check if your database is working correctly, fix problems, and make servers faster.
- MySQL Shell: A modern tool for managing MySQL, which lets you use JavaScript, Python, or SQL commands.
Connecting with Other Programs
Many programming languages have special tools called APIs (Application Programming Interfaces) that let them easily connect to MySQL databases. For example, there are connectors for languages like Java and .NET.
There's also an ODBC interface called MySQL Connector/ODBC. This allows even more programming languages and applications to talk to MySQL. Other tools exist for languages like Python and Node.js.
Different Versions of MySQL
Over time, different versions of MySQL have been created by various groups. These are called "forks."
Current Versions
- MariaDB: This is a version of MySQL created by the original developers of MySQL. They started it because they were concerned about Oracle buying MySQL. MariaDB aims to stay free and open-source and work just like MySQL.
- Percona Server for MySQL: This version is made by a company called Percona. It's very similar to the official MySQL releases but includes extra features and improvements, especially for performance.
Older Versions (No Longer Developed)
- Drizzle: This was a free and open-source database system that came from an older development version of MySQL. It was designed to be simpler and faster for web applications.
- WebScaleSQL: This was a project started by big companies like Facebook, Google, LinkedIn, and Twitter. They worked together to add new features to MySQL that were important for their huge websites.
- OurDelta: This was another version of MySQL that included improvements from different developers.
See also
- Comparison of relational database management systems