MySQL
Encyclopedia
MySQL is a relational database management system
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

 (RDBMS) that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius
Michael Widenius
Ulf Michael Widenius , born 3 March 1962, in Helsinki, Finland, is the main author of the original version of the open-source MySQL database and a founding member of the MySQL AB company....

' daughter, My. The SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 phrase stands for Structured Query Language.

The MySQL development project has made its source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 available under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

, as well as under a variety of proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 agreements. MySQL was owned and sponsored by a single for-profit
Business
A business is an organization engaged in the trade of goods, services, or both to consumers. Businesses are predominant in capitalist economies, where most of them are privately owned and administered to earn profit to increase the wealth of their owners. Businesses may also be not-for-profit...

 firm, the Swedish
Sweden
Sweden , officially the Kingdom of Sweden , is a Nordic country on the Scandinavian Peninsula in Northern Europe. Sweden borders with Norway and Finland and is connected to Denmark by a bridge-tunnel across the Öresund....

 company MySQL AB
MySQL AB
MySQL AB was a software company. MySQL AB is the creator of MySQL, a relational database management system, as well as related products such as MySQL Cluster...

, now owned by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

.

Free-software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

-open source projects that require a full-featured database management system often use MySQL. For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: TYPO3
TYPO3
TYPO3 is a free and open source web content management framework. It is released under the GNU General Public License. It can run on several web servers, such as Apache or IIS, on top of many operating systems, among them Linux, Microsoft Windows, FreeBSD, Mac OS X and OS/2.-History:TYPO3 was...

, Joomla, WordPress
WordPress
WordPress is a free and open source blogging tool and publishing platform powered by PHP and MySQL. It is often customized into a content management system . It has many features including a plug-in architecture and a template system. WordPress is used by over 14.7% of Alexa Internet's "top 1...

, MyBB, phpBB
PhpBB
phpBB is a popular Internet forum package written in the PHP scripting language. The name "phpBB" is an abbreviation of PHP Bulletin Board...

, Drupal
Drupal
Drupal is a free and open-source content management system and content management framework written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1.5% of all websites worldwide ranging from personal blogs to corporate, political, and...

 and other software built on the LAMP
LAMP (software bundle)
LAMP is an acronym for a solution stack of free, open source software, referring to the first letters of Linux , Apache HTTP Server, MySQL and PHP , principal components to build a viable general purpose web server.The GNU project is advocating people to use the term "GLAMP" since what is known as...

 software stack. MySQL is also used in many high-profile, large-scale World Wide Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...

 products, including Wikipedia
Wikipedia
Wikipedia is a free, web-based, collaborative, multilingual encyclopedia project supported by the non-profit Wikimedia Foundation. Its 20 million articles have been written collaboratively by volunteers around the world. Almost all of its articles can be edited by anyone with access to the site,...

, Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

 (though not for searches), Facebook
Facebook
Facebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. , Facebook has more than 800 million active users. Users must register before using the site, after which they may create a personal profile, add other users as...

, and Twitter
Twitter
Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...

.

Uses

MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP
LAMP (software bundle)
LAMP is an acronym for a solution stack of free, open source software, referring to the first letters of Linux , Apache HTTP Server, MySQL and PHP , principal components to build a viable general purpose web server.The GNU project is advocating people to use the term "GLAMP" since what is known as...

 web application software stack—LAMP is an acronym for "Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...

, MySQL, Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

/PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

/Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

".

MySQL is used in some of the most frequently visited web sites on the Internet, including Flickr
Flickr
Flickr is an image hosting and video hosting website, web services suite, and online community that was created by Ludicorp in 2004 and acquired by Yahoo! in 2005. In addition to being a popular website for users to share and embed personal photographs, the service is widely used by bloggers to...

,
Nokia.com
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...

, YouTube
YouTube
YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....


and as previously mentioned, Wikipedia
Wikipedia
Wikipedia is a free, web-based, collaborative, multilingual encyclopedia project supported by the non-profit Wikimedia Foundation. Its 20 million articles have been written collaboratively by volunteers around the world. Almost all of its articles can be edited by anyone with access to the site,...

, Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

, Facebook
Facebook
Facebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. , Facebook has more than 800 million active users. Users must register before using the site, after which they may create a personal profile, add other users as...

 and Twitter
Twitter
Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...

.

Platforms and interfaces

MySQL is written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

. Its SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 parser is written in yacc
Yacc
The computer program yacc is a parser generator developed by Stephen C. Johnson at AT&T for the Unix operating system. The name is an acronym for "Yet Another Compiler Compiler." It generates a parser based on an analytic grammar written in a notation similar to BNF.Yacc used to be available as...

, and a home-brewed lexical analyzer
Lexical analysis
In computer science, lexical analysis is the process of converting a sequence of characters into a sequence of tokens. A program or function which performs lexical analysis is called a lexical analyzer, lexer or scanner...

 named sql_lex.cc.

MySQL works on many different system platforms, including AIX
AIX operating system
AIX AIX AIX (Advanced Interactive eXecutive, pronounced "a i ex" is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms...

, BSDi
BSD/OS
BSD/OS was a proprietary version of the BSD operating system developed by Berkeley Software Design, Inc. ....

, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

, HP-UX
HP-UX
HP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...

, eComStation
EComStation
eComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:...

, i5/OS, IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...

, Novell NetWare
Novell NetWare
NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, with network protocols based on the archetypal Xerox Network Systems stack....

, OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

, OpenSolaris
OpenSolaris
OpenSolaris was an open source computer operating system based on Solaris created by Sun Microsystems. It was also the name of the project initiated by Sun to build a developer and user community around the software...

, OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

 Warp, QNX
QNX
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...

, Solaris, Symbian
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...

, SunOS
SunOS
SunOS is a version of the Unix operating system developed by Sun Microsystems for their workstation and server computer systems. The SunOS name is usually only used to refer to versions 1.0 to 4.1.4 of SunOS...

, SCO OpenServer
SCO OpenServer
SCO OpenServer, previously SCO UNIX and SCO Open Desktop , is, misleadingly, a closed source version of the Unix computer operating system developed by Santa Cruz Operation and now maintained by the SCO Group....

, SCO UnixWare
UnixWare
UnixWare is a Unix operating system maintained by The SCO Group . UnixWare is typically deployed as a server rather than desktop. Binary distributions of UnixWare are available for x86 architecture computers. It was originally released by Univel, a jointly owned venture of AT&T's Unix System...

, Sanos
Sanos
For the Macedonian bus industry from Skopje, see FAS Sanos.Sanos is a minimalistic 32-bit x86 operating system kernel for network server appliances running on standard PC hardware...

 and Tru64. A port of MySQL to OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

 also exists.

Many programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s with language-specific API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

s include libraries for accessing MySQL databases. These include MySQL Connector/Net for integration with Microsoft's Visual Studio (languages such as C# and VB
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

 are most commonly used) and the JDBC driver for Java. In addition, an ODBC interface called MyODBC
MyODBC
MyODBC is an ODBC interface and allows programming languages that support the ODBC interface to communicate with a MySQL database.The official name is Connector/ODBC which designates the MySQL AB product family of MySQL ODBC drivers. These are known as the MyODBC drivers.-External links:* * * * *...

 allows additional programming languages that support the ODBC interface to communicate with a MySQL database, such as ASP
Active Server Pages
Active Server Pages , also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically-generated Web pages. Initially released as an add-on to Internet Information Services via the Windows NT 4.0 Option Pack Active Server Pages (ASP), also known as Classic...

 or ColdFusion. The HTSQL
Htsql
Hyper Text Structured Query Language is a schema-driven URI-to-SQL query language that takes a request over HTTP, converts it to a SQL query, executes the query against a database, and returns the results in a format best suited for the user agent The HTSQL language is implemented on "HTSQL...

 - URL based query method also ships with a MySQL adapter, allowing direct interaction between a MySQL database and any web client via structured URLs. The MySQL server and official libraries are mostly implemented in ANSI C
ANSI C
ANSI C refers to the family of successive standards published by the American National Standards Institute for the C programming language. Software developers writing in C are encouraged to conform to the standards, as doing so aids portability between compilers.-History and outlook:The first...

/ANSI C++.

Management and graphical frontends

MySQL is primarily an RDBMS and therefore ships with no GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 tools to administer MySQL databases or manage data contained within. Users may use the included command-line tools, or download MySQL frontends from various parties that have developed desktop software and web applications to manage MySQL databases, build database structure, and work with data records.

Official

The official MySQL Workbench
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...

 is a free integrated environment developed by MySQL AB, that enables users to graphically administer MySQL databases and visually design database structure. MySQL Workbench replaces the previous package of software, MySQL GUI Tools. Similar to other third-party packages, but still considered the authoritative MySQL frontend, MySQL Workbench lets users manage the following:
  • Database design & modeling
  • SQL development – replacing MySQL Query Browser
  • Database administration – replacing MySQL Administrator


MySQL Workbench is available in two editions, the regular free and open source
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

 Community Edition which may be downloaded from the MySQL website, and the proprietary Standard Edition which extends and improves the feature set of the Community Edition.

Third-party

Third-party proprietary and free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 graphical administration applications (or "front ends") are available that integrate with MySQL and enable users to work with database structure and data visually. Some well-known front ends, in alphabetical order, are:
  • Adminer
    Adminer
    Adminer is a tool for managing content in MySQL databases. Adminer is distributed under Apache license in a form of a single PHP file . Its author is Jakub Vrána who decided to develop such tool as an "light-weight" alternative to phpMyAdmin...

     – a free MySQL front end written in one PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

     script, capable of managing multiple databases, with many CSS
    Cascading Style Sheets
    Cascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...

     skins available.
  • DBEdit
    DBEdit
    DBEdit 2 is a database editor, which can connect to an Oracle, DB2, MySQL and any database that provides a JDBC driverIt runs on Windows, Linux and Solaris.-Open source:...

     – a free front end for MySQL and other databases.
  • dbForge GUI Tools — a set of tools for database management that includes separate applications for schema comparison and synchronization, data comparison and synchronization, and building queries.
  • HeidiSQL
    HeidiSQL
    HeidiSQL, previously known as MySQL-Front, is a free and open source client, or frontend for MySQL and its forks like MariaDB and Percona, developed by German programmer Ansgar Becker and a few other contributors in Delphi. To manage databases with HeidiSQL, users must login to a local or remote...

     – a full featured free front end that runs on Windows, 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
    LibreOffice is a free and open source office suite developed by The Document Foundation as a fork of OpenOffice.org. It is largely compatible with other major office suites, including Microsoft Office, and available on a variety of platforms...

     - LibreOffice Base allows the creation and management of databases, preparation of forms and reports that provide end users easy access to data. Like Access, it can be used as a front-end for various database systems, including Access databases (JET), ODBC data sources, and MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

     or PostgreSQL
    PostgreSQL
    PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

    .
  • Navicat
    Navicat
    Navicat is a series of graphical database management and development software produced by PremiumSoft CyberTech Ltd. for MySQL, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote...

     – a series of proprietary graphical database management applications, developed for Windows, Macintosh and Linux.
  • OpenOffice.org
    OpenOffice.org
    OpenOffice.org, commonly known as OOo or OpenOffice, is an open-source application suite whose main components are for word processing, spreadsheets, presentations, graphics, and databases. OpenOffice is available for a number of different computer operating systems, is distributed as free software...

     – OpenOffice.org Base
    OpenOffice.org Base
    OpenOffice.org Base , a database module, initially appeared with OpenOffice.org version 2.0. As of 2010, it builds on the HSQLDB database engine written in Java....

     can manage MySQL databases. (You must install all of the OpenOffice.org suite. It is free and open source
    Free and open source software
    Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

    .)
  • phpMyAdmin
    PhpMyAdmin
    phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQL with the use of a Web browser. It can perform various tasks such as creating, modifying or deleting databases, tables, fields or rows; executing SQL statements; or managing users and...

     – a free Web
    World Wide Web
    The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...

    -based front end widely installed by Web hosts
    Web hosting service
    A web hosting service is a type of Internet hosting service that allows individuals and organizations to make their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own or lease for use by their clients as well as providing Internet...

     worldwide, since it is developed in PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

     and is included in the convenient LAMP stack
    LAMP (software bundle)
    LAMP is an acronym for a solution stack of free, open source software, referring to the first letters of Linux , Apache HTTP Server, MySQL and PHP , principal components to build a viable general purpose web server.The GNU project is advocating people to use the term "GLAMP" since what is known as...

    , MAMP
    MAMP
    The acronym MAMP refers to a set of free software programs commonly used together to run dynamic web sites on servers running the Apple Macintosh operating system, Mac OS X:* Mac OS X, the operating system;* Apache, the Web server;...

    , and WAMP
    WAMP
    WAMPs are packages of independently-created programs installed on computers that use a Microsoft Windows operating system.WAMP is an acronym formed from the initials of the operating system Microsoft Windows and the principal components of the package: Apache, MySQL and one of PHP, Perl or Python....

     software bundle installers.
  • Toad for MySQL
    TOAD (software)
    Toad is a software application from Quest Software used for development and administration of various relational databases using SQL.- Supported databases and environments :...

     – a free development and administration front end for MySQL from Quest Software
    Quest Software
    Quest Software is a computer software manufacturer headquartered in Aliso Viejo, California. Founded in 1987, Quest develops, manufactures and supports software used by Information Technology professionals in a variety of industries...


Other available proprietary MySQL front ends include dbForge Studio for MySQL
DbForge Studio for MySQL
dbForge Studio for MySQL is a software application created by Devart for developing and administrating the popular Relational Database Management System MySQL.-Editions :...

, Epictetus
Epictetus Database Client
Epictetus is free cross-platform multi-database administration tool. Epictetus requires JVM to run. Epictetus is distributed under the Freeware License.- Feature Summary :* Multithreading* Autocomplete* Primary and foreign keys highlight...

, Oracle SQL Developer
Oracle SQL Developer
In computing, Oracle SQL Developer is an Integrated development environment for working with SQL in Oracle databases. Oracle Corporation provides this product free; it uses the Java Development Kit.- Features :...

, SchemaBank
SchemaBank
SchemaBank is a web-based data modeling and database design tool, delivering to users over the internet using the software as a service model. It supports visual creation of Entity-relationship diagram and conversion of such diagrams into Data Definition Language SchemaBank is a web-based data...

, SQLyog
SQLyog
SQLyog is a GUI tool for the RDBMS MySQL. It is developed by Webyog, Inc. based out of Bangalore, India and Santa Clara, California.-History:...

, SQLPro SQL Client
SQLPro SQL Client
SQLPro is a proprietary, visual database management and development tool for multiple databases. SQLPro comes with a three-pane interface and has integrated SQL editor with many useful SQL editing features. SQLPro connects directly to most popular database servers using one single interface...

, Toad Data Modeler
Toad Data Modeler
Toad Data Modeler is a database design tool allowing users to visually create, maintain and document new or existing database systems. It was previously called "CASE Studio 2" before it was acquired from Charonware by Quest Software in 2006...

,

Command line

MySQL ships with a suite of command-line tools for tasks such as querying the database, backing up data, inspecting status, performing common tasks such as creating a database, and many more. A variety of third-party command-line tools is also available, including Maatkit
Maatkit
Maatkit is a toolkit for users, developers, and administrators of MySQL an open-source database. All tools are standalone, with minimal dependencies and no need for installation. You can simply download them and use them. It makes MySQL easier and safer to manage. It provides simple, predictable...

, which is written in Perl.

Deployment

MySQL can be built and installed manually from source code, but this can be tedious so it is more commonly installed from a binary package unless special customizations are required. On most Linux distributions the package management system
Package management system
In software, a package management system, also called package manager, is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer's operating system in a consistent manner...

 can download and install MySQL with minimal effort, though further configuration is often required to adjust security and optimization settings.

Though MySQL began as a low-end alternative to more powerful proprietary databases, it has gradually evolved to support higher-scale needs as well. It is still most commonly used in small to medium scale single-server deployments, either as a component in a LAMP
LAMP (software bundle)
LAMP is an acronym for a solution stack of free, open source software, referring to the first letters of Linux , Apache HTTP Server, MySQL and PHP , principal components to build a viable general purpose web server.The GNU project is advocating people to use the term "GLAMP" since what is known as...

 based web application or as a standalone database server. Much of MySQL's appeal originates in its relative simplicity and ease of use, which is enabled by an ecosystem of open source tools such as phpMyAdmin
PhpMyAdmin
phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQL with the use of a Web browser. It can perform various tasks such as creating, modifying or deleting databases, tables, fields or rows; executing SQL statements; or managing users and...

.
In the medium range, MySQL can be scaled by deploying it on more powerful hardware, such as a multi-processor server with gigabytes of memory.

There are however limits to how far performance can scale on a single server, so on larger scales, multi-server MySQL deployments are required to provide improved performance and reliability. A typical high-end configuration can include a powerful master database which handles data write operations and is replicated to multiple slaves that handle all read operations. The master server synchronizes continually with its slaves so in the event of failure a slave can be promoted to become the new master, minimizing downtime. Further improvements in performance can be achieved by caching the results from database queries in memory using memcached
Memcached
In computing, memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the...

, or breaking down a database into smaller chunks called shards
Shard (database architecture)
A database shard is a horizontal partition in a database or search engine. Each individual partition is referred to as a shard or database shard.- Database architecture :...

 which can be spread across a number of distributed server clusters.

Features

, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercial Enterprise 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 5.5 is offered under the same licences. They have a common code base and include the following features:
  • A broad subset of ANSI SQL 99
    SQL:1999
    SQL:1999 was the fourth revision of the SQL database query language. The latest revision of the standard is SQL:2008.-Summary:The SQL:1999 standard, also known as SQL3, was published in 1999. Unlike previous editions, the standard's name used a colon instead of a hyphen for consistency with the...

    , as well as extensions
  • Cross-platform support
  • Stored procedure
    Stored procedure
    A stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...

    s
  • Trigger
    Database trigger
    A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for keeping the integrity of the information on the database...

    s
  • Cursor
    Cursor (databases)
    In computer science and technology, a database cursor is a control structure that enables traversal over the records in a database. Cursors facilitate subsequent processing in conjunction with the traversal, such as retrieval, addition and removal of database records...

    s
  • Updatable View
    View (database)
    In database theory, a view consists of a stored query accessible as a virtual table in a relational database or a set of documents in a document-oriented database composed of the result set of a query or map and reduce functions...

    s
  • True Varchar
    Varchar
    A varchar or Variable Character Field is a set of character data of indeterminate length. The term varchar refers to a data type of a field in a database management system...

     support
  • Information schema
    Information Schema
    In relational databases, the information schema is an ANSI standard set of read-only views which provide information about all of the tables, views, columns, and procedures in a database...

  • Strict mode
  • X/Open XA
    X/Open XA
    In computing, the XA standard is a specification by The Open Group for distributed transaction processing . It describes the interface between the global transaction manager and the local resource manager...

     distributed transaction processing (DTP) support; two phase commit as part of this, using Oracle's InnoDB
    InnoDB
    InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

     engine
  • Independent storage engines (MyISAM
    MyISAM
    MyISAM was the 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. The major deficiency of MyISAM is the absence of transactions support...

     for read speed, InnoDB
    InnoDB
    InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

     for transactions and referential integrity
    Referential integrity
    Referential integrity is a property of data which, when satisfied, requires every value of one attribute of a relation to exist as a value of another attribute in a different relation ....

    , MySQL Archive
    MySQL Archive
    MySQL Archive is a storage engine for the MySQL relational database management system. Users can use this analytic storage engine to create a table that is “archive” only. Data cannot be deleted from this table, only added...

     for storing historical data in little space)
  • Transactions with the InnoDB, and Cluster storage engines; savepoints with InnoDB
  • SSL support
  • Query caching
    Cache
    In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

  • Sub-SELECT
    Select (SQL)
    The SQL SELECT statement returns a result set of records from one or more tables.A SELECT statement retrieves zero or more rows from one or more database tables or database views. In most applications, SELECT is the most commonly used Data Manipulation Language command...

    s (i.e. nested SELECTs)
  • Replication support (i.e. Master-Master Replication & Master-Slave Replication) with one master per slave, many slaves per master, no automatic support for multiple masters per slave.
  • Full-text indexing
    Index (database)
    A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of slower writes and increased storage space...

     and searching using MyISAM engine
  • Embedded database library
  • Partial Unicode
    Unicode
    Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

     support (UTF-8
    UTF-8
    UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...

     and UCS-2
    UTF-16/UCS-2
    UTF-16 is a character encoding for Unicode capable of encoding 1,112,064 numbers in the Unicode code space from 0 to 0x10FFFF...

     encoded strings are limited to the BMP)
  • ACID compliance when using transaction capable storage engines (InnoDB
    InnoDB
    InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

     and Cluster)
  • Partititoned tables with pruning of partitions in optimiser
  • Shared-nothing clustering through MySQL Cluster
    MySQL Cluster
    MySQL Cluster is a technology which provides shared-nothing clustering capabilities for the MySQL database management system. It was first included in the production release of MySQL 4.1 in November 2004. It is designed to provide high availability and high performance, while allowing for nearly...

  • Hot backup (via mysqlhotcopy) under certain conditions


The developers release monthly versions of the MySQL Server. The sources can be obtained from MySQL's web site or from MySQL's Bazaar repository, both under the GPL license.

Distinguishing features

MySQL implements the following features, which some other RDBMS systems may not:
  • Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time):
    • Native storage engines (MyISAM
      MyISAM
      MyISAM was the 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. The major deficiency of MyISAM is the absence of transactions support...

      , Falcon
      Falcon (storage engine)
      Falcon was a transactional storage engine being developed for the MySQL relational database management system. Development was stopped after Oracle purchased MySQL. It was based on the Netfrastructure database engine...

      , Merge, Memory (heap), Federated
      MySQL Federated
      The MySQL Federated storage engine for the MySQL relational database management system is a storage engine which allows a user to create a table that is a local representation of a foreign table...

      , Archive
      MySQL Archive
      MySQL Archive is a storage engine for the MySQL relational database management system. Users can use this analytic storage engine to create a table that is “archive” only. Data cannot be deleted from this table, only added...

      , CSV
      Comma-separated values
      A comma-separated values file stores tabular data in plain-text form. As a result, such a file is easily human-readable ....

      , Blackhole, Cluster
      MySQL Cluster
      MySQL Cluster is a technology which provides shared-nothing clustering capabilities for the MySQL database management system. It was first included in the production release of MySQL 4.1 in November 2004. It is designed to provide high availability and high performance, while allowing for nearly...

      , EXAMPLE, Maria
      Maria (storage engine)
      Aria is a storage engine for the MySQL relational database management system. 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...

      , and InnoDB
      InnoDB
      InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

      , which was made the default as of 5.5)
    • Partner-developed storage engines (solidDB
      SolidDB
      IBM solidDB is a product family, developed and sold by IBM. The product family includes two products built around an in-memory relational database management system. The first product is a stand-alone relational database management system entitled solidDB...

      , NitroEDB, Infobright
      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, Canada. Most of its research and development is based in Warsaw, Poland.-History:...

       (formerly Brighthouse), Kickfire
      Kickfire
      Kickfire, Inc. was an analytic database appliance manufacturer. It was acquired by Teradata in August 2010. The Kickfire appliance utilizes FPGA hardware acceleration techniques for SQL databases.Features:...

      , XtraDB, IBM DB2
      IBM DB2
      The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...

      ). InnoDB
      InnoDB
      InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

       used to be a partner-developed storage engine, but with recent acquisitions, Oracle
      Oracle Corporation
      Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

       now owns both MySQL core and InnoDB.
    • Community-developed storage engines (memcache engine, httpd
      Web server
      Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....

      , PBXT, Revision Engine)
    • Custom storage engines
  • Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second.

Limitations

MySQL does not currently comply with the SQL standard for some of the implemented functionality, including issues like silent ignore of standard SQL syntax.
Triggers are currently limited to one per action / timing, i.e. maximum one after insert and one before insert on the same table.
There are no triggers on views.

Product history

Milestones in MySQL development include:
  • Original development of MySQL by Michael Widenius
    Michael Widenius
    Ulf Michael Widenius , born 3 March 1962, in Helsinki, Finland, is the main author of the original version of the open-source MySQL database and a founding member of the MySQL AB company....

     and David Axmark
    David Axmark
    David Axmark is one of the founders of MySQL AB and a developer of the free database server, MySQL. He has been involved with MySQL development from its beginning along with the fellow co-founder Michael Widenius....

     beginning in 1994
  • First internal release on 23 May 1995
  • Windows version was released on 8 January 1998 for Windows 95 and NT
  • Version 3.23: beta from June 2000, production release January 2001
  • Version 4.0: beta from August 2002, production release March 2003 (unions)
  • Version 4.01: beta from August 2003, Jyoti adopts MySQL for database tracking
  • Version 4.1: beta from June 2004, production release October 2004 (R-tree
    R-tree
    R-trees are tree data structures used for spatial access methods, i.e., for indexing multi-dimensional information such as geographical coordinates, rectangles or polygons. The R-tree was proposed by Antonin Guttman in 1984 and has found significant use in both research and real-world applications...

    s and B-tree
    B-tree
    In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree is a generalization of a binary search tree in that a node can have more than two children...

    s, subqueries, prepared statements)
  • Version 5.0: beta from March 2005, production release October 2005 (cursors
    Cursor (databases)
    In computer science and technology, a database cursor is a control structure that enables traversal over the records in a database. Cursors facilitate subsequent processing in conjunction with the traversal, such as retrieval, addition and removal of database records...

    , stored procedure
    Stored procedure
    A stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...

    s, triggers
    Database trigger
    A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for keeping the integrity of the information on the database...

    , views
    View (database)
    In database theory, a view consists of a stored query accessible as a virtual table in a relational database or a set of documents in a document-oriented database composed of the result set of a query or map and reduce functions...

    , XA transactions
    Database transaction
    A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...

    )

The developer of the Federated Storage Engine states that "The Federated Storage Engine is a proof-of-concept
Proof of concept
A proof of concept or a proof of principle is a realization of a certain method or idea to demonstrate its feasibility, or a demonstration in principle, whose purpose is to verify that some concept or theory that has the potential of being used...

 storage engine", but the main distributions of MySQL version 5.0 included it and turned it on by default. Documentation of some of the short-comings appears in "MySQL Federated Tables: The Missing Manual".

  • Sun Microsystems acquired MySQL AB
    MySQL AB
    MySQL AB was a software company. MySQL AB is the creator of MySQL, a relational database management system, as well as related products such as MySQL Cluster...

     on 26 February 2008.
  • Version 5.1: production release 27 November 2008 (event scheduler, partitioning
    Partition (database)
    A partition is a division of a logical database or its constituting elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons....

    , plugin API, row-based replication, server log
    Server log
    A server log is a log file automatically created and maintained by a server of activity performed by it.A typical example is a web server log which maintains a history of page requests. The W3C maintains a standard format for web server log files, but other proprietary formats exist...

     tables)

Version 5.1 contained 20 known crashing and wrong result bugs in addition to the 35 present in version 5.0 (almost all fixed as of release 5.1.51).
MySQL 5.1 and 6.0 showed poor performance when used for data warehousing — partly due to its inability to utilize multiple CPU cores for processing a single query.

  • Oracle acquired Sun Microsystems on 27 January 2010.

  • MySQL Server 5.5 is currently generally available . Enhancements and features include:
    • The default storage engine is InnoDB
      InnoDB
      InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

      , which supports transactions and referential integrity constraints.
    • Improved InnoDB
      InnoDB
      InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

       I/O subsystem
    • Improved SMP
      Symmetric multiprocessing
      In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...

       support
    • Semisynchronous replication.
    • SIGNAL and RESIGNAL statement in compliance with the SQL standard.
    • Support for supplementary Unicode
      Unicode
      Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

       character sets utf16, utf32, and utf8mb4.
    • New options for user-defined partitioning.

Future releases

MySQL Server 6.0.11-alpha was announced 22 May 2009 as the last release of the 6.0 line. Future MySQL Server development uses a New Release Model. Features developed for 6.0 are being incorporated into future releases.

MySQL 5.6, a development milestone release, was announced at the MySQL users conference 2011. New features include performance improvements to the query optimizer
Query optimizer
The query optimizer is the component of a database management system that attempts to determine the most efficient way to execute a query. The optimizer considers the possible query plans for a given input query, and attempts to determine which of those plans will be the most efficient...

, higher transactional throughput in InnoDB
InnoDB
InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

, new NoSQL-style memcached
Memcached
In computing, memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the...

 APIs, improvements to partitioning for querying and managing very large tables, improvements to replication and better performance monitoring by expanding the data available through the PERFORMANCE_SCHEMA. In July further previews with a BINLOG API, group commit, and InnoDB full text searching were released.

Support and licensing

MySQL offers support via their MySQL Enterprise product, including a support service. The support communicates with the developers as necessary to handle problems. In addition, it hosts forums and mailing list
Mailing list
A mailing list is a collection of names and addresses used by an individual or an organization to send material to multiple recipients. The term is often extended to include the people subscribed to such a list, so the group of subscribers is referred to as "the mailing list", or simply "the...

s, employees and other users are often available in several IRC channels
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...

 providing assistance.

Buyers of MySQL Enterprise have access to binaries and software certified for their particular operating system, and access to monthly binary updates with the latest bug-fixes. Several levels of Enterprise membership are available, with varying response times and features ranging from how to and emergency support through server performance tuning
Performance tuning
Performance tuning is the improvement of system performance. This is typically a computer application, but the same methods can be applied to economic markets, bureaucracies or other complex systems. The motivation for such activity is called a performance problem, which can be real or anticipated....

 and system architecture
Systems architecture
A system architecture or systems architecture is the conceptual model that defines the structure, behavior, and more views of a system.An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structure of the system...

 advice. The MySQL Network Monitoring
Network monitoring
The term network monitoring describes the use of a system that constantly monitors a computer network for slow or failing components and that notifies the network administrator in case of outages...

 and Advisory Service monitoring tool for database server
Database server
A database server is a computer program that provides database services to other computer programs or computers, as defined by the client–server model. The term may also refer to a computer dedicated to running such a program...

s is available only to MySQL Enterprise customers.

Potential users can install MySQL Server as free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPL), and the MySQL Enterprise
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...

 subscriptions include a GPL version of the server, with a traditional proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 version available on request at no additional cost for cases where the intended use is incompatible with the GPL.

Both the MySQL server software itself and the client libraries use dual-licensing
Dual license
Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g...

 distribution. Users may choose the GPL, which MySQL has extended with a FLOSS
Alternative terms for free software
Alternative terms for free software have been a controversial issue among free software users from the late 1990s onwards. Coined in 1983 by Richard Stallman, "free software" is used to describe software which can be used, modified, and redistributed with little or no restriction...

 License Exception. It allows Software licensed under other OSI
Open Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...

-compliant open source licenses, which are not compatible to the GPL, to link against the MySQL client libraries.

Customers that do not wish to follow the terms of the GPL may purchase a proprietary license.

Like many open-source programs, MySQL has trademark
Trademark
A trademark, trade mark, or trade-mark is a distinctive sign or indicator used by an individual, business organization, or other legal entity to identify that the products or services to consumers with which the trademark appears originate from a unique source, and to distinguish its products or...

ed its name, which others may use only with the trademark holder's permission.

Corporate backing history

In October 2005, Oracle Corporation acquired Innobase
Innobase
Innobase Oy is a Finnish company headquartered in Helsinki, Finland. Innobase is best known for being the developer of InnoDB transactional storage engine for the MySQL open source database system. Innobase Oy is a subsidiary of Oracle Corporation, which acquired Innobase in 2005.- History :In 1995...

 OY, the Finnish
Finland
Finland , officially the Republic of Finland, is a Nordic country situated in the Fennoscandian region of Northern Europe. It is bordered by Sweden in the west, Norway in the north and Russia in the east, while Estonia lies to its south across the Gulf of Finland.Around 5.4 million people reside...

 company that developed the third-party InnoDB
InnoDB
InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

 storage engine that allows MySQL to provide such functionality as transactions and foreign key
Foreign key
In the context of relational databases, a foreign key is a referential constraint between two tables.A foreign key is a field in a relational table that matches a candidate key of another table...

s. After the acquisition, an Oracle press release
News release
A press release, news release, media release, press statement or video release is a written or recorded communication directed at members of the news media for the purpose of announcing something ostensibly newsworthy...

 mentioned that the contracts that make the company's software available to MySQL AB
MySQL AB
MySQL AB was a software company. MySQL AB is the creator of MySQL, a relational database management system, as well as related products such as MySQL Cluster...

 would be due for renewal (and presumably renegotiation) some time in 2006. During the MySQL Users Conference in April 2006, MySQL issued a press release that confirmed that MySQL and Innobase OY agreed to a "multi-year" extension of their licensing agreement.

In February 2006, Oracle Corporation acquired Sleepycat Software
Sleepycat Software
Sleepycat Software, Inc. was the company primarily responsible for maintaining the Berkeley DB packages from 1996 to 2006.Berkeley DB is a widely used and freely-licensed database software originally developed at the University of California, Berkeley for 4.4BSD Unix, and developers from that...

, makers of the Berkeley DB
Berkeley DB
Berkeley DB is a computer software library that provides a high-performance embedded database for key/value data. Berkeley DB is a programmatic software library written in C with API bindings for C++, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and most other programming languages...

, a database engine providing the basis for another MySQL storage engine. This had little effect, as Berkeley DB was not widely used, and was deprecated (due to lack of use) in MySQL 5.1.12, a pre-GA release of MySQL 5.1 released in October 2006.

In January 2008, Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

 bought MySQL for $1 billion.

In April 2009, Oracle Corporation entered into an agreement to purchase Sun Microsystems, then owners of MySQL copyright and trademark. Sun's board of directors unanimously approved the deal, it was also approved by Sun's shareholders, and by the U.S. government on August 20, 2009. On December 14, 2009, Oracle pledged to continue to enhance MySQL as it had done for the previous four years.

A movement against Oracle's acquisition of MySQL, to "Save MySQL" from Oracle was started by one of the MySQL founders, Monty Widenius. The petition of 50,000+ developers and users called upon the European Commission to block approval of the acquisition. At the same time, several Free Software opinion leaders (including Eben Moglen
Eben Moglen
Eben Moglen is a professor of law and legal history at Columbia University, and is the founder, Director-Counsel and Chairman of Software Freedom Law Center, whose client list includes numerous pro bono clients, such as the Free Software Foundation....

, Pamela Jones
Pamela Jones
Pamela Jones, commonly known as PJ, is the creator and editor of Groklaw, an award-winning website that covers legal news of interest to the free and open-source software community...

 of Groklaw
Groklaw
Groklaw is an award-winning website covering legal news of interest to the free and open source software community. Started as a law blog on May 16, 2003 by paralegal Pamela Jones at Radio UserLand, it has covered issues such as the SCO-Linux lawsuits, the EU anti-trust case against Microsoft, and...

, Jan Wildeboer and Carlo Piana
Carlo Piana
Carlo Piana is a lawyer by training and a Free Software advocate. A qualified attorney in Italy, Piana has been practicing IT law since 1995,focusing his practice on software, technology, standardization, data protection and digital liberties in general, and serves as external General Counsel to...

, who also acted as co-counsel in the merger regulation procedure) advocated for the unconditional approval of the merger. As part of the negotiations with the European Commission, Oracle committed that MySQL server will continue to use the dual-licensing strategy long used by MySQL AB with commercial and GPL versions available until at least 2015. The antitrust of the EU had been "pressuring it to divest MySQL as a condition for approval of the merger." But, as revealed by Wikileaks
Wikileaks
WikiLeaks is an international self-described not-for-profit organisation that publishes submissions of private, secret, and classified media from anonymous news sources, news leaks, and whistleblowers. Its website, launched in 2006 under The Sunshine Press organisation, claimed a database of more...

, the US Department of Justice and Antitrust, at the request of Oracle, pressured the EU to unconditionally approve the merger. The Oracle acquisition was eventually unconditionally approved by the European Commission on January 21, 2010.

Meanwhile, Monty Widenius has released a GPL only fork, MariaDB
MariaDB
MariaDB is a community-developed branch of the MySQL database, the impetus being the community maintenance of its free status under GPL, as opposed to any uncertainty of MySQL license status under its current ownership by Oracle....

. MariaDB is based on the same code base as MySQL server and strives to maintain compatibility with Oracle provided versions.

Forks

  • Drizzle
    Drizzle (database server)
    Drizzle is a free software/open source relational database management system that was forked from version 6.0 of the MySQL DBMS.Like MySQL, Drizzle has a client/server architecture and uses SQL as its primary command language...

     – a fork targeted at the web-infrastructure and cloud computing markets. The developers of the product describe it as a "smaller, slimmer and (hopefully) faster version of MySQL". As such is planned to have many common MySQL features stripped out, including stored procedures, query cache, prepared statements, views, and triggers. This is a complete rewrite of the server that does not maintain compatibility with MySQL.
  • MariaDB
    MariaDB
    MariaDB is a community-developed branch of the MySQL database, the impetus being the community maintenance of its free status under GPL, as opposed to any uncertainty of MySQL license status under its current ownership by Oracle....

     – a community-developed branch of the MySQL database, the impetus being the community maintenance of its free status under GPL as opposed to any uncertainty of MySQL license status under its current ownership by Oracle. The intent also being to maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exacting matching with MySQL APIs and commands. It includes the XtraDB storage engine as a replacement for InnoDB
    InnoDB
    InnoDB is the default storage engine for MySQL as of MySQL 5.5. It provides the standard ACID-compliant transaction features, along with foreign key support...

    .
  • Percona Server – a fork that includes the XtraDB storage engine. It is an enhanced version of MySQL that is fully compatible, and deviates as little as possible from it, while still providing beneficial new features, better performance, and improved instrumentation for analysis of performance and usage.
  • OurDelta – a fork compiled with various patches, including patches from MariaDB, Percona, and Google.

See also

  • Comparison of database tools
    Comparison of database tools
    The following tables compare general and technical information for a number of available database administrator tools. Please see individual product articles for further information...

  • Comparison of relational database management systems
    Comparison of relational database management systems
    The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up to date...

  • Comparison of MySQL database engines
    Comparison of MySQL database engines
    This a comparison between the two primary database engines for the MySQL database management system . A database engine is the underlying software component that a DBMS uses to create, read, update and delete data from a database.-Comparison between InnoDB and MyISAM:#InnoDB recovers from a...

  • Firebird (database server)
    Firebird (database server)
    Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....

  • HSQLDB
    HSQLDB
    HSQLDB is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL-92 and SQL:2008 standards. It offers a fast, small database engine which offers both in-memory and disk-based tables...

     (Native engine used by Open Office
    Open office
    Open office may refer to:* OpenOffice.org, a free and open source suite of office productivity programs .* OpenOffice.org XML, a deprecated international file format used by earlier versions of OpenOffice.org....

    , installs with the suite. Open Office can connect to others, too.)
  • Ingres (database)
  • Oracle RDBMS
  • PostgreSQL
    PostgreSQL
    PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

  • Solution stack
    Solution stack
    In computing, a solution stack is a set of software subsystems or components needed to deliver a fully functional solution, e.g. a product or service....


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK