The following
outline is provided as an overview of and topical guide to MySQL:
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
("My
Structured Query Language") – world's second most widely used
relational database management system
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
(RDBMS) and most widely used open-source RDBMS. It is named after co-founder
Michael Widenius
Ulf Michael Widenius (often called Monty; born 3 March 1962, in Helsinki, Finland
Finland ( fi, Suomi ; sv, Finland ), officially the Republic of Finland (; ), is a Nordic country in Northern Europe. It shares land borders with Swede ...
's daughter, My.
What type of thing is MySQL?
MySQL can be described as all the following:
*
Software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
– any set of machine-readable instructions that directs a computer's processor to perform specific operations.
**
Applications software
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
– set of computer programs designed to permit the user to perform a group of coordinated functions, tasks, or activities. Application software cannot run on itself but is dependent on system software (an operating system) to execute.
***
Database management system (DBMS) – computer software application that interact with the user, other applications, and the database itself to capture and analyze data.
****
Relational database management system
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
(RDBMS) – database management system (DBMS) based on the
relational model
The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data is represented in terms of tup ...
, in which all data is represented in terms of tuples (ordered set of attribute values), grouped into relations. Most relational databases use the SQL data definition and query language.
**
Open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Ope ...
– computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose.
**
Solution stack
In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on t ...
component – one of the pieces of a solution stack, which is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform. Some definitions of a platform overlap with what is known as system software.
***
AMP-stack component – MySQL is the "M" component of Apache-MySQL-Perl/PHP/Python solution stacks (which, by the way, are available across all computer platforms). AMP software bundles are used to run dynamic Web sites or servers.
*It supports php, perl, c, c++, java etc.
** Component of
LAMP – Linux version of AMP
** Component of
WAMP
LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largel ...
– Windows version of AMP
Ownership and copyrights
Owners
* Original owner:
MySQL AB
MySQL AB was a Swedish software company founded in 1995. It was acquired by Sun Microsystems in 2008, Sun was in turn acquired by Oracle Corporation in 2010. MySQL AB is the creator of MySQL, a relational database management system, as well a ...
– former software company that was founded in 1995. It was acquired by Sun Microsystems in 2008; Sun was in turn acquired by Oracle Corporation in 2010.
* Current owner:
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
– multinational computer technology corporation headquartered in Redwood City, California, United States. The company specializes in developing and marketing computer hardware systems and enterprise software products – particularly its own brands of database management systems.
License
*
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end user
In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ulti ...
– most widely used free software license, which guarantees end users (individuals, organizations, companies) the freedoms to use, study, share (copy), and modify the software. Software that allows these rights is called free software and, if the software is copylefted, requires those rights to be retained. The GPL demands both.
Editions
*
MySQL Community Server
*
MySQL Enterprise
MySQL Enterprise is a subscription-based service produced by Oracle Corporation and targeted toward the commercial market. Oracle's official support, training and certification focus on MySQL Enterprise.
MySQL Enterprise contains
* MySQL Enterpr ...
– includes MySQL Enterprise Server software (a distribution of the MySQL Server) and several other components, as a subscription-based service produced by Oracle Corporation and targeted toward the commercial market.
Graphical user interfaces
*
MySQL Workbench
MySQL Workbench is a visual database design tool that integrates SQL development, administration, database design, creation and maintenance into a single integrated development environment for the MySQL database system. It is the successor to ...
– official (yet 3rd-party developed) integrated environment for MySQL. It was developed by MySQL AB, and enables users to graphically administer MySQL databases and visually design database structures.
*
Adminer – free MySQL front end capable of managing multiple databases, with many
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS is a cornerstone t ...
skins available. It is a light-weight alternative to phpMyAdmin, distributed under the Apache license (or GPL v2) as a single PHP file (around 300 KiB in size).
*
Database Workbench
Database Workbench is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions.
Because Databases Workbenc ...
a software application for development and administration of multiple relational databases including MySQL, with interoperationality between different database systems
*
DBEdit
DBEdit 2 is a database editor, which can connect to an Oracle, IBM Db2, MySQL and any database that provides a JDBC driver. It runs on Windows, Linux and Solaris.
Open source
DBEdit is free and open source software and distributed under the GNU ...
a free front end for MySQL and other databases
*
HeidiSQL
HeidiSQL is a free and open-source administration tool for MariaDB, MySQL, as well as Microsoft SQL Server, PostgreSQL and SQLite. Its codebase was originally taken from Ansgar Becker's own MySQL-Front 2.5 software. Due to having sold the ...
a full featured free front end that runs on
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
, and can connect to local or remote MySQL servers to manage databases, tables, column structure, and individual data records. Also supports specialised GUI features for date/time fields and enumerated multiple-value fields
*
LibreOffice Base
LibreOffice Base is a free and open-source database development and administration tool for relational database management systems that is part of the LibreOffice office suite. LibreOffice Base was built off of a fork of OpenOffice.org and was f ...
LibreOffice Base allows the creation and management of databases, preparation of forms and reports that provide end users easy access to data. Like
Microsoft Access
Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational Access Database Engine (ACE) with a graphical user interface and software-development tools (not to be confused with the old Microsoft Access ...
, it can be used as a front-end for various database systems, including Access databases (JET), ODBC data sources, and MySQL or
PostgreSQL
PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
*
Navicat
Navicat is a series of graphical database management and development software produced by CyberTech Ltd. for MySQL, MariaDB, Redis, MongoDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface a ...
a series of proprietary graphical database management applications, developed for Windows, Macintosh and Linux
*
OpenOffice.org freely available
OpenOffice.org Base
OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. Active successor projects include LibreOffice (the most actively developed), Apache OpenOffice, Collabora Online (enterprise ready LibreOffice ...
can manage MySQL databases if the entire suite is installed
*
phpMyAdmin
phpMyAdmin is a free and open source administration tool for MySQL and MariaDB. As a portable web application written primarily in PHP, it has become one of the most popular MySQL administration tools, especially for web hosting services.
His ...
a free Web-based front-end, widely installed by
web hosting service
A web hosting service is a type of Internet hosting service that hosts websites for clients, i.e. it offers the facilities required for them to create and maintain a site and makes it accessible on the World Wide Web. Companies providing web ...
s since it is developed in PHP and included in the LAMP stack, and
MAMP
MAMP is a solution stack composed of free and open-source and proprietary commercial software used together to develop and run dynamic websites on Apple Macintosh computers.
Specifications and uses
The name ''MAMP'' is an acronym that stem ...
,
XAMPP
XAMPP ( or ) is a free and open-source cross-platform web server solution stack package developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB database, and interpreters for scripts written in the PHP and Perl program ...
and
WAMP
LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largel ...
software bundle installers
*
SQLBuddy a free Web-based front end, developed in PHP
*
SQLyog proprietary, but there is also a free 'community' edition available
*
Toad for MySQL a free development and administration front end for MySQL from
Dell Software
Dell Software was a division of Dell with headquarters in Round Rock, Texas, United States. Dell Software was created merging various acquisitions (mainly Quest Software and Sonicwall) by Dell Inc., the third-largest maker of PCs and now a pr ...
*
Webmin
Webmin is a powerful and flexible web-based server management control panel for Unix-like systems. Webmin allows the user to configure operating system internals, such as users, disk quotas, services or configuration files, as well as modify a ...
a free Web-based management utility and a MySQL front end, developed in Perl with some parts written in Java
MySQL storage engines
* MySQL
storage engine
A database engine (or storage engine) is the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database. Most database management systems include their own applicatio ...
s – a storage engine (or database engine) is the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database. Most database management systems include their own
application programming interface (API) that allows the user to interact with their underlying engine without going through the user interface of the DBMS. MySQL storage engines include:
**
Aria
In music, an aria ( Italian: ; plural: ''arie'' , or ''arias'' in common usage, diminutive form arietta , plural ariette, or in English simply air) is a self-contained piece for one voice, with or without instrumental or orchestral accompa ...
– storage engine for the MariaDB and MySQL relational database management systems. Its goal is to make a crash-safe alternative to MyISAM. It is not yet transactional but plans to add proper support for database transactions at some point in the future. The long-term goal is for Aria to be the default transactional and non-transactional storage engine for MariaDB.
**
Berkeley DB
Berkeley DB (BDB) is an unmaintained embedded database software library for key/value data, historically significant in open source software. Berkeley DB is written in C with API bindings for many other programming languages. BDB stores arbit ...
– software library that provides a high-performance embedded database for key/value data. Berkeley DB is written in C with API bindings for C++, C#, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and many other programming languages. Prior to v5.1, MySQL included a BDB data storage backend.
** BlitzDB –
** CassandraSE –
** CONNECT (storage engine) –
**
Falcon
Falcons () are birds of prey in the genus ''Falco'', which includes about 40 species. Falcons are widely distributed on all continents of the world except Antarctica, though closely related raptors did occur there in the Eocene.
Adult falcons ...
– was a
transactional storage engine
A database engine (or storage engine) is the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database. Most database management systems include their own applicatio ...
being developed for the
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
relational database management system
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
. Development was stopped after Oracle purchased MySQL. It was based on the
Netfrastructure
Netfrastructure is both a web application development and database tool for Java and the name of the company which produces it. It was founded by Jim Starkey, a database architect. In 2006, MySQL AB acquired Netfrastructure.
Netfrastructure datab ...
database engine. Falcon was designed to take advantage of Sun's
zfs
ZFS (previously: Zettabyte File System) is a file system with volume management capabilities. It began as part of the Sun Microsystems Solaris operating system in 2001. Large parts of Solaris – including ZFS – were published under an ope ...
file system.
** FederatedX –
**
InfiniDB
InfiniDB (formerly Calpont Corporation) was a database management software company based in Frisco, Texas. The company developed InfiniDB, a scalable, software-only columnar database management system for analytic applications.
InfiniDB is a sca ...
– scalable, software-only columnar database management system for analytic applications. However, on 1 October 2014 InfiniDB ceased operations and filed for bankruptcy protection in US Bankruptcy Court in the Eastern District of Texas. Existing customers may be able to receive support from other companies, notably MariaDB.
**
InnoDB
InnoDB is a storage engine for the database management system MySQL and MariaDB. Since the release of MySQL 5.5.5 in 2010, it replaced MyISAM as MySQL's default table type. It provides the standard ACID-compliant transaction features, along with ...
– storage engine for MySQL. MySQL 5.5 and later use it by default. It provides the standard ACID-compliant transaction features, along with foreign key support (Declarative Referential Integrity).
** mroonga –
**
MyISAM
MyISAM was the default storage engine for the MySQL relational database management system versions prior to 5.5 released in December 2009. It is based on the older ISAM code, but it has many useful extensions.
Filesystem
Each MyISAM table is s ...
– default storage engine for the MySQL relational database management system versions prior to 5.5. It is based on the older ISAM code but has many useful extensions.
**
MySQL Archive – this analytic storage engine can be used to create a table that is “archive” only. Data cannot be deleted from this table, only added.
**
MySQL Cluster
MySQL Cluster is a technology providing shared-nothing clustering and auto-sharding for the MySQL database management system. It is designed to provide high availability and high throughput with low latency, while allowing for near linear sca ...
– technology providing shared-nothing clustering and auto-sharding for the MySQL database management system. It is designed to provide high availability and high throughput with low latency, while allowing for near linear scalability.
MySQL Cluster is implemented through the NDB or NDBCLUSTER storage engine for MySQL ("NDB" stands for Network Database).
**
MySQL Federated
Federated is a storage engine for the MySQL MariaDB relational database management system that allows creation of a table that is a local representation of a foreign (remote) table. It uses the MySQL client library API as a data transport, treat ...
– allows a user to create a table that is a local representation of a foreign (remote) table. It utilizes the MySQL client library API as a data transport, treating the remote data source the same way other storage engines treat local data sources whether they be MYD files (MyISAM), memory (Cluster, Heap), or tablespace (InnoDB).
*
NDB Cluster – storage engine for storing tables of rows. NDB Cluster can concurrently support access from many types of API processes including from a MySQL server, Memcached, JavaScript/Node.JS, Java, JPA and HTTP/REST. All API processes can operate on the same tables and data stored in the NDB Cluster.
** sequence –
** SphinxSE –
**
TokuDB
TokuDB is an open-source software, open-source, high-performance storage engine for MySQL and MariaDB. It achieves this by using a fractal tree index. It is Scalability#Database scalability, scalable, ACID and Multiversion concurrency control, M ...
– open source, high-performance storage engine for MySQL and MariaDB. It achieves this by using a Fractal tree index. It is a scalable, ACID and MVCC compliant storage engine that provides indexing-based query improvements, offers online schema modifications, and reduces slave lag for both hard disk drives and flash memory.
** WiredTiger –
**
XtraDB
Percona XtraDB is a storage engine for the MariaDB and Percona Server databases, and is intended as a drop-in replacement to InnoDB, which is the default engine in MySQL
MySQL () is an open-source relational database management system (RDB ...
– storage engine for the MariaDB and Percona Server databases, and is intended as a drop-in replacement to InnoDB, which is one of the default engines available on the MySQL database.
*
Comparison of MySQL database engines
This is a comparison between notable database engines for the MySQL database management system (DBMS). A database engine (or "storage engine") is the underlying software component that a DBMS uses to create, read, update and delete (CRUD) data f ...
– comparison between the available database engines for the MySQL database management system (DBMS). A database engine (or "storage engine") is the underlying software component that a DBMS uses to create, read, update and delete (CRUD) data from a database.
Applications that use MySQL databases
*
Drupal
Drupal () is a free and open-source web content management system (CMS) written in PHP and distributed under the GNU General Public License. Drupal provides an open-source back-end framework for at least 14% of the top 10,000 websites worldwid ...
*
Joomla
Joomla (), also spelled Joomla! (with an exclamation mark) and sometimes abbreviated as J!, is a free and open-source content management system (CMS) for publishing web content on websites. Web content applications include discussion forums, p ...
*
MODx
MODX (originally MODx) is an open source content management system and web application framework for publishing content on the World Wide Web and intranets. MODX is licensed under the GPL, is written in the PHP programming language, and support ...
*
MyBB
MyBB, formerly MyBBoard and originally MyBulletinBoard, is a free and open-source forum software developed by the MyBB Group. It is written in PHP, supports MySQL, PostgreSQL and SQLite as database systems and, in addition, has database failover ...
*
phpBB
phpBB is an Internet forum package written in the PHP scripting language. The name "phpBB" is an abbreviation of ''PHP Bulletin Board''. Available under the GNU General Public License, phpBB is free and open-source.
Features of phpBB includ ...
*
TYPO3
*
WordPress
WordPress (WP or WordPress.org) is a free and open-source software, free and open-source content management system (CMS) written in PHP, hypertext preprocessor language and paired with a MySQL or MariaDB database with supported secure hypert ...
Software stacks that include MySQL
*
LAMP – solution stack, including the Linux operating system, the Apache HTTP Server, the MySQL relational database management system (RDBMS), and the PHP programming language. LAMP is suitable for building dynamic web sites and web applications.
*
WAMP
LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largel ...
– MS Windows, Apache HTTP Server, MySQL, and PHP.
Forks of MySQL
*
Drizzle
Drizzle is a light precipitation consisting of liquid water drops smaller than those of rain – generally smaller than in diameter. Drizzle is normally produced by low stratiform clouds and stratocumulus clouds. Precipitation rates from ...
– free software/open source relational database management system (DBMS) that was forked from the now-defunct 6.0 development branch of the MySQL DBMS.
*
MariaDB
MariaDB is a community-developed, commercially supported fork of the MySQL relational database management system (RDBMS), intended to remain free and open-source software under the GNU General Public License. Development is led by some of the ...
is a community-developed fork of MySQL intended to remain free under the GNU GPL, being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle.
*
Percona Server
Percona Server for MySQL is a distribution of the MySQL relational database management system created by Percona.
Percona Server for MySQL is an open source relational database management system (RDBMS). It is a free, fully compatible drop in r ...
– created by
Percona
Percona is an American company based in Durham, North Carolina and the developer of a number of open source software projects for MySQL, MariaDB, PostgreSQL, MongoDB and RocksDB users. The company’s revenue of around $25 million a year is de ...
, aims to retain close compatibility to the official MySQL releases, while focusing on performance and increased visibility into server operations.
Percona Server Frequently Asked Questions
, How is it related to other MySQL forks? Also included in Percona Server is XtraDB
Percona XtraDB is a storage engine for the MariaDB and Percona Server databases, and is intended as a drop-in replacement to InnoDB, which is the default engine in MySQL
MySQL () is an open-source relational database management system (RDB ...
, Percona's fork of the InnoDB Storage Engine.
* WebScaleSQL – software branch of MySQL 5.6 jointly developed by Facebook, Google, LinkedIn and Twitter to provide a centralized development structure for extending MySQL with new features specific to large-scale deployments, such as building large replicated databases running on server farms. The project's objective is to tightly follow new MySQL community releases, rather than merely be a software fork.
See also
* Outline of free software
* Infobright
Infobright is a commercial provider of column-oriented relational database software with a focus in machine-generated data. The company's head office is located in Toronto, Ontario, Canada. Most of its research and development is based in Wa ...
* MySQL DataController
* Toad Data Modeler
Toad Data Modeler is a database design tool allowing users to visually create, maintain, and document new or existing database systems, and to deploy changes to data structures across different platforms. It is used to construct logical and physi ...
* Xeround
References
External links
''MySQL 5.6 Reference Manual''
*
*
Interview with David Axmark, MySQL co-founder
Video
{{Outline footer
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...