All Topics  
MySQL

 

   Email Print
   Bookmark   Link






 

MySQL



 
 
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 commercial and open source databases currently in use are based on the relational model....
 (RDBMS) which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases.

MySQL is owned and sponsored by a single for-profit
Business

A business is a legally recognized organization designed to provide good s and/or Service to consumers. Businesses are predominant in capitalism economies, most being privately owned and formed to earn profit that will increase the wealth of its owners....
 firm, the Swedish
Sweden

Sweden , officially the Kingdom of Sweden , is a Nordic countries on the Scandinavian Peninsula in Northern Europe. Sweden has land borders with Norway to the west and Finland to the northeast, and it is connected to Denmark by the ?resund Bridge in the south....
 company MySQL AB
MySQL AB

MySQL Aktiebolag is a company that is the creator and owner of MySQL, a relational database management system, as well as related products such as MySQL Cluster....
, now a subsidiary
Subsidiary

A subsidiary, in business matters, is an entity that is controlled by a bigger and more powerful entity. The controlled entity is called a company , corporation, or limited liability company, and the controlling entity is called its parent ....
 of Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
, which holds the copyright to most of the codebase. The project's source code
Source code

In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language....
 is available under terms of the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
, as well as under a variety of proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 agreements.

"MySQL" is officially (My S Q L), not "My sequel" .






Discussion
Ask a question about 'MySQL'
Start a new discussion about 'MySQL'
Answer questions from other users
Full Discussion Forum



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 commercial and open source databases currently in use are based on the relational model....
 (RDBMS) which has more than 11 million installations. The program runs as a server providing multi-user access to a number of databases.

MySQL is owned and sponsored by a single for-profit
Business

A business is a legally recognized organization designed to provide good s and/or Service to consumers. Businesses are predominant in capitalism economies, most being privately owned and formed to earn profit that will increase the wealth of its owners....
 firm, the Swedish
Sweden

Sweden , officially the Kingdom of Sweden , is a Nordic countries on the Scandinavian Peninsula in Northern Europe. Sweden has land borders with Norway to the west and Finland to the northeast, and it is connected to Denmark by the ?resund Bridge in the south....
 company MySQL AB
MySQL AB

MySQL Aktiebolag is a company that is the creator and owner of MySQL, a relational database management system, as well as related products such as MySQL Cluster....
, now a subsidiary
Subsidiary

A subsidiary, in business matters, is an entity that is controlled by a bigger and more powerful entity. The controlled entity is called a company , corporation, or limited liability company, and the controlling entity is called its parent ....
 of Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
, which holds the copyright to most of the codebase. The project's source code
Source code

In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language....
 is available under terms of the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
, as well as under a variety of proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 agreements.

"MySQL" is officially (My S Q L), not "My sequel" . This adheres to the official ANSI pronunciation; SEQUEL
Sequel

A sequel is a work in literature, film, or other media that portrays events following those of a previous work.In many cases, the sequel continues elements of the original story, often with the same characters and settings....
 was an earlier IBM database language
Query language

Query languages are computer languages used to make query into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages....
, a predecessor to the SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 language. However, the company does not take issue with the pronunciation "My sequel" or other local variations.

Uses

MySQL is popular for web application
Web application

In software engineering, a web application or webapp is an Application software that is accessed via web browser over a network such as the Internet or an intranet....
s and acts as the database component of the LAMP, BAMP, MAMP, SAMP, and WAMP
LAMP (software bundle)

The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or Server s. The original expansion is as follows:...
 platforms (Linux/BSD/Mac/(Open)Solaris/Windows-Apache-MySQL-PHP/Perl/Python), and for open-source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 bug tracking tools like Bugzilla
Bugzilla

Bugzilla is a World Wide Web-based general-purpose bugtracker tool originally developed and used by the Mozilla project, and software license under the Mozilla Public License....
. Its popularity for use with web applications is closely tied to the popularity of PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
, which is often combined with MySQL. Several high-traffic web sites (including Flickr
Flickr

Flickr is an and video hosting service website, web services suite, and online community platform. In addition to being a popular Web site for users to share personal photographs, the service is widely used by bloggers as a photo repository....
, Facebook
Facebook

Facebook is a free-access social network service website that is operated and privately held company by Facebook, Inc. Users can join networks organized by city, workplace, school, and region to connect and interact with other people....
, Wikipedia, Google
Google

Google Inc. is an United States public company, earning revenue from AdWords related to its Google search, Gmail, Google Maps, Google Apps, Orkut, and YouTube services as well as selling advertising-free versions of the Google Search Appliance....
, Nokia
Nokia

Nokia Corporation is a Finland Multinational corporation communications corporation, headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki....
 and YouTube
YouTube

YouTube is a Video hosting service website where users can upload, view and share video clips. Three former PayPal employees created YouTube in February 2005....
) use MySQL for its data storage and logging of user data.

Platforms and interfaces


MySQL is written in C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 and C++
C++

C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
. The SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 parser uses 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 parsing based on an Formal grammar written in a notation similar to Backus-Naur form....
 and a home-brewed lexer
Lex programming tool

In computer science, lex is a Computer program that generates lexical analysiss . Lex is commonly used with the yacc parser generator. Lex, originally written by Eric Schmidt and Mike Lesk, is the standard lexical analyzer generator on many Unix systems, and a tool exhibiting its behavior is specified as part of the POSIX standard....
.

MySQL works on many different system platforms, including AIX
AIX operating system

AIX is the name given to a series of Proprietary software operating systems sold by IBM for several of its computer system platforms, based on UNIX System V with 4.3BSD-compatible command and programming interface extensions....
, BSDi
BSD/OS

BSD/OS was a proprietary version of the Berkeley Software Distribution operating system developed by Berkeley Software Design, Inc. .BSD/OS had a reputation for reliability in server roles; the renowned Unix programmer and author W....
, FreeBSD
FreeBSD

FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
, HP-UX
HP-UX

HP-UX 11i is Hewlett-Packard's proprietary software implementation of the Unix operating system, based on UNIX System V . It runs on the HP 9000 PA-RISC-based range of central processing unit and HP Integrity Intel's Itanium-based systems, and was also available for later Apollo/Domain systems....
, i5/OS, Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
, Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, NetBSD
NetBSD

NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
, 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, and the network protocols were based on the archetypal Xerox Xerox Network Services Protocol 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....
, OpenSolaris
OpenSolaris

File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
, eComStation
EComStation

eComStation is a PC operating system based on OS/2, published by Serenity Systems, USA. It includes several additions and accompanying 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 "IBM Personal System/2 " line of second-generation personal computers....
 Warp, QNX
QNX

QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. On September 12, 2007, the source of the QNX kernel was released for non-commercial use....
, 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....
, Solaris, Symbian, 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 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 computer. Binary distributions of UnixWare are available for x86 architecture computers....
, Sanos
Sanos

For the bus company, motor vehicle industry, see FAS Sanos.Sanos is a minimalistic 32-bit x86 operating system kernel for network server appliances running on standard PC hardware....
, Tru64 and Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. A port of MySQL to OpenVMS
OpenVMS

OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
 is also available.

Libraries for accessing MySQL databases are available in all major programming language
Programming language

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer....
s with language-specific API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
s. In addition, an ODBC interface called MyODBC 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, was Microsoft's first server-side scripting Active Scripting for dynamic web page. Initially released as an add-on to Internet Information Services via the Windows_NT_4.0#Option_Pack, it was subsequently included as a free component of Windows Server ....
 or ColdFusion. The MySQL server and official libraries are mostly implemented in ANSI C
ANSI C

ANSI C is the standard published by the American National Standards Institute for the C . Software developers writing in C are encouraged to conform to the requirements in the document, as it encourages easily porting code....
/ANSI C++.

To administer MySQL databases one can use the included command-line tool (commands: mysql and mysqladmin). Also downloadable from the MySQL site are GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 administration tools: MySQL Administrator and MySQL Query Browser. Both of the GUI tools are now included in one package called tools/5.0.html MySQL GUI Tools.

In addition to the above-mentioned tools developed by MySQL AB, there are several other commercial and non-commercial
Non-commercial

Non-commercial refers to an activity or entity that does not in some sense involve commerce, at least relative to similar activities that do have a commercial objective or emphasis....
 tools available. Examples include SQLyog
SQLyog

SQLyog is a Graphical User Interface tool for the popular Relational Database Management System MySQL. The software is created by the software development company Webyog, based in Bangalore, India....
 Community Edition, a free desktop based GUI tool and phpMyAdmin
PhpMyAdmin

phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQL over the World Wide Web. Currently it can create and drop databases, create/drop/alter Table , delete/edit/add Field , execute any SQL statement, manage users and permissions, and manage keys on fields....
, a free Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
-based administration interface implemented in PHP
PHP

PHP is a scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in Standalone software Graphical user interface....
.

Features

, MySQL offers MySQL 5.0 in two different variants: the MySQL Community Server and Enterprise Server
MySQL Enterprise

MySQL Enterprise is a subscription-based service produced by MySQL AB and targeted toward the business market. MySQL AB's official support, training and certification focus on MySQL Enterprise....
. They have a common code base and include the following features:
  • A broad subset of ANSI SQL 99, as well as extensions
  • Cross-platform support
  • Stored procedure
    Stored procedure

    A stored procedure is a subroutine available to applications accessing a relational database database management system. Stored procedures are actually stored in the database data dictionary....
    s
  • Trigger
    Database trigger

    A database trigger is procedural code that is automatically executed in response to certain events on a particular Table in a database. Triggers can restrict access to specific data, perform logging, or audit data modifications....
    s
  • Cursor
    Cursor (databases)

    In database packages, a cursor comprises a control structure for the successive wikt:traverse of database record in a result set.Database programmers use cursors for processing individual rows returned by the database system for a query....
    s
  • Updatable View
    View (database)

    In database Database theory, a view consists of a stored database query accessible as a virtual Table composed of the result set of a Query language....
    s
  • True VARCHAR support
  • INFORMATION_SCHEMA
  • Strict mode
  • X/Open XA
    X/Open XA

    In computing, the XA standardization 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 a database engine for MySQL, included as standard in all current binaries distributed by MySQL AB. Its main enhancement over other storage engines available for use with MySQL is ACID-compliant Database transaction support, similar to PostgreSQL, along with foreign key support ....
     engine
  • Independent storage engines (MyISAM
    MyISAM

    MyISAM is the default storage engine for the MySQL relational database management system. It is based on the older ISAM code but has many useful extensions....
     for read speed, InnoDB for transactions and referential integrity
    Referential integrity

    Referential integrity in a relational database is consistency between coupled tables. Referential integrity is usually enforced by the combination of a primary key or candidate key and a foreign key....
    , 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....
     for storing historical data in little space)
  • Transactions with the InnoDB, BDB and Cluster storage engines; savepoints with InnoDB
  • SSL support
  • Query caching
  • Sub-SELECT
    Select (SQL)

    The SQL SELECT statement returns a result set of records from one or more tables.It retrieves zero or more rows from one or more base tables, temporary tables, or views in a database....
    s (i.e. nested SELECTs)
  • Replication with one master per slave, many slaves per master, no automatic support for multiple masters per slave.
  • Full-text indexing and searching using MyISAM engine
  • Embedded database library
  • Partial Unicode
    Unicode

    Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....
     support (UTF-8
    UTF-8

    UTF-8 is a Variable-width encoding character encoding for Unicode. It is able to represent any character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is backward compatibility with ASCII....
     sequences longer than 3 bytes are not supported; UCS-2
    UTF-16/UCS-2

    In computing, UTF-16 is a Variable-width encoding character encoding for Unicode, capable of encoding the entire Unicode repertoire.The encoding form maps each character to a sequence of 16-bit Word ....
     encoded strings are also limited to the BMP)
  • ACID
    Acid

    An acid is traditionally considered any chemical compound that, when dissolved in water, gives a solution with a hydrogen ion Activity greater than in pure water, i.e....
     compliance using the InnoDB, BDB
    Berkeley DB

    Berkeley DB is a computer software Library that provides a high-performance embedded database, with Binding in C , C++, Java , Perl, Python , Ruby , Tcl, Smalltalk, and many other programming languages....
     and Cluster engines
  • Shared-nothing clustering through MySQL Cluster
    MySQL Cluster

    MySQL Cluster is a technology which provides Shared nothing architecture clustering capabilities for the MySQL database management system. It was first included in the production release of MySQL 4.1 in November 2004....
The MySQL Enterprise Server is released once per month and the sources can be obtained either from MySQL's customer-only Enterprise site or from MySQL's Bazaar repository, both under the GPL license. The MySQL Community Server is published on an unspecified schedule under the GPL and contains all bug fixes that were shipped with the last MySQL Enterprise Server release. Binaries are no longer provided by MySQL for every release of the Community Server.
  • Replication support (i.e. Master-Master Replication & Master-Slave Replication)


Distinguishing features

The following features are implemented by MySQL but not by some other RDBMS software:

  • Multiple storage engines, allowing you to choose the one which 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
    Run time

    Run time or runtime may refer to:*Run time, the length of a film or television program in minutes, usually with end credits included*Runtime, in computer science, the duration of a computer program's execution, from beginning to termination...
    ):
  • Native storage engines (MyISAM
    MyISAM

    MyISAM is the default storage engine for the MySQL relational database management system. It is based on the older ISAM code but has many useful extensions....
    , Falcon
    Falcon (storage engine)

    Falcon is a new database transaction storage engine for the MySQL relational database management system. It is currently in the Development_stage#Beta of development, being worked at in a development tree based on the MySQL 5.2 release, called MySQL 6.0....
    , Merge, Memory (heap), Federated
    MySQL Federated

    MySQL Federated Storage Engine 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....
    , CSV
    Comma-separated values

    A Comma separated values file is a computer data file used for implementing the tried and true organizational tool, the Comma Separated List....
    , Blackhole, Cluster
    MySQL Cluster

    MySQL Cluster is a technology which provides Shared nothing architecture clustering capabilities for the MySQL database management system. It was first included in the production release of MySQL 4.1 in November 2004....
    , Berkeley DB
    Berkeley DB

    Berkeley DB is a computer software Library that provides a high-performance embedded database, with Binding in C , C++, Java , Perl, Python , Ruby , Tcl, Smalltalk, and many other programming languages....
    , EXAMPLE, and Maria
    Maria (storage engine)

    Maria is a new storage engine for the MySQL relational database management system. Its goal is to make a crash-safe alternative to MyISAM. It is not yet database transaction but plans to add proper support for database transactions at some point in the future....
    )
  • Partner-developed storage engines (InnoDB
    InnoDB

    InnoDB is a database engine for MySQL, included as standard in all current binaries distributed by MySQL AB. Its main enhancement over other storage engines available for use with MySQL is ACID-compliant Database transaction support, similar to PostgreSQL, along with foreign key support ....
    , solidDB
    SolidDB

    solidDB is a relational database management system offered by Solid, an IBM Company. solidDB includes an in-memory database as well as a traditional database, which both employ the same SQL interface, and a high availability option....
    , NitroEDB, BrightHouse)
  • Community-developed storage engines (memcached
    Memcached

    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....
    , httpd
    Web server

    The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
    , PBXT, Revision Engine)
  • Custom storage engines
  • Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second.


Server compilation type

There are 3 types of MySQL Server Compilations for Enterprise and Community users:

  • Standard: The MySQL-Standard binaries are recommended for most users, and include the InnoDB storage engine.
  • Max: (not MaxDB
    MaxDB

    MaxDB is an ANSI SQL-92 compliant relational database management system from SAP AG, which was delivered also by MySQL AB from 2003 to 2007. MaxDB is targeted for large SAP environments e.g....
    , which is a cooperation with SAP AG
    SAP AG

    SAP Aktiengesellschaft is the largest European software enterprise and the fourth largest in the world, with headquarters in Walldorf, Germany....
    ) is mysqld-max Extended MySQL Server. The MySQL-Max binaries include additional features that may not have been as extensively tested or are not required for general usage.
  • The MySQL-Debug binaries have been compiled with extra debug information, and are not intended for production use, because the included debugging code may cause reduced performance.


Beginning with MySQL 5.1, MySQL AB has stopped providing these different package variants. There will only be one MySQL server package, which includes a mysqld binary with all functionality and storage engines enabled. Instead of providing a separate debug package, a server binary with extended debugging information is also included in the standard package.

History

Milestones in MySQL development include:

  • MySQL was first released internally 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
    Union (SQL)

    UNION operatorIn SQL the UNION clause combines the results of two SQL queries into a single table of all matching Row . The two queries must have the same number of Column and compatible Data type to unite....
    )
  • Version 4.1: beta from June 2004, production release October 2004 (R-tree
    R-tree

    R-trees are tree data structures that are similar to B-trees, but are used for spatial indexs i.e., for indexing multi-dimensional information; for example, the coordinates of geographical data....
    s and B-tree
    B-tree

    In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, insertions, and deletions in logarithmic Amortized analysis....
    s, subqueries, prepared statements)
  • Version 5.0: beta from March 2005, production release October 2005 (cursors
    Cursor (databases)

    In database packages, a cursor comprises a control structure for the successive wikt:traverse of database record in a result set.Database programmers use cursors for processing individual rows returned by the database system for a query....
    , stored procedure
    Stored procedure

    A stored procedure is a subroutine available to applications accessing a relational database database management system. Stored procedures are actually stored in the database data dictionary....
    s, triggers
    Database trigger

    A database trigger is procedural code that is automatically executed in response to certain events on a particular Table in a database. Triggers can restrict access to specific data, perform logging, or audit data modifications....
    , views
    View (database)

    In database Database theory, a view consists of a stored database query accessible as a virtual Table composed of the result set of a Query language....
    , XA transactions
    Database transaction

    A database 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....
    )
  • Sun Microsystems acquired MySQL AB 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, optimization or availability reasons....
    , plugin API, row-based replication, server log
    Server log

    A server log is a Data logging 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....
     tables)


Future releases

The MySQL 6 roadmap outlines support for:

  • Referential integrity
    Referential integrity

    Referential integrity in a relational database is consistency between coupled tables. Referential integrity is usually enforced by the combination of a primary key or candidate key and a foreign key....
     (foreign keys)
  • Additional Unicode
    Unicode

    Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....
     characters utf16, utf32, and 4-byte utf8
  • New transactional storage engine (Falcon).


Support for parallelization
Parallel computing

Parallel computing is a form of computing in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved Concurrency ....
 is also part of the roadmap for future versions.

Support for supplementary Unicode characters, beyond the 65,536 characters of the Basic Multilingual Plane (BMP) is announced for MySQL 6.0.

Foreign key
Foreign key

In the context of relational databases, a foreign key is a referential integrity between two tables. The foreign key identifies a column or a set of columns in one table that refers to a column or set of columns in another table....
 support for all storage engines is targeted for release in MySQL 6.1 (although it has been present since version 3.23.44 for InnoDB
InnoDB

InnoDB is a database engine for MySQL, included as standard in all current binaries distributed by MySQL AB. Its main enhancement over other storage engines available for use with MySQL is ACID-compliant Database transaction support, similar to PostgreSQL, along with foreign key support ....
).

A new storage engine is also in the works, called Falcon
Falcon (storage engine)

Falcon is a new database transaction storage engine for the MySQL relational database management system. It is currently in the Development_stage#Beta of development, being worked at in a development tree based on the MySQL 5.2 release, called MySQL 6.0....
. A preview of Falcon is already available on MySQL's website.

Support and licensing

Via MySQL Enterprise MySQL AB offers support itself, including a 24/7
24/7

24/7 is an abbreviation which stands for "24 hours a day, 7 days a week", usually referring to a business or service available at all times without interruption....
 service with 30-minute response time, the support team has direct access
Direct access

Direct Access may refer to:*Direct Access Archive, a proprietary file format*Direct access storage device, a secondary computer storage device...
 to 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 list"....
s, employees and other users are often available in several IRC channels
Internet Relay Chat

Internet Relay Chat is a form of real-time Internet text messaging or synchronous conferencing. It is mainly designed for Many-to-many in discussion forums, called #Channels, but also allows One-to-one via instant messaging, as well as chat and data transfers via Direct Client-to-Client....
 providing assistance.

Buyers of MySQL Enterprise have access to binaries and software that is 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 Computer performance. This is typically a computer application, but the same methods can be applied to economic markets, bureaucracies or other complex systems....
 and system architecture
Systems architecture

A system architecture or systems architecture is the conceptual design that defines the structure and/or behavior of a system.An architecture description is a formal description of a system, organized in a way that supports reasoning about the structural properties 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 via email, pager or other alarms....
 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 software modeling....
s is available only to MySQL Enterprise customers.

MySQL Server is available as free software
Free software

Free Software or software libre 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 minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 under the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
 (GPL), and the MySQL Enterprise
MySQL Enterprise

MySQL Enterprise is a subscription-based service produced by MySQL AB and targeted toward the business market. MySQL AB's official support, training and certification focus on MySQL Enterprise....
 subscriptions include a GPL version of the server, with a traditional proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 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 are distributed under a dual-licensing
Dual license

Dual-licensing is the practice of distributing software under two different sets of terms and conditions. This may mean two different licenses, or two different sets of licenses....
 format. 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....
-compliant Open Source licenses
Open-source license

An open source license is a copyright license for computer software that makes the source code available under terms that allow for modification and redistribution without having to pay the original author....
, which are not compatible to the GPL, to link against the MySQL client libraries.

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

Like many open-source programs
List of trademarked open source software

This is a list of free software/open source software packages whose names are covered by trademarks.References...
, the name "MySQL" is trademark
TradeMark

TradeMark is a tall, primarily residential, skyscraper in Charlotte, North Carolina. It was completed in 2007 and has 28 floors. There are 200 hundred residential units....
ed and may only be used .

Competition


In October 2005, Oracle Corporation
Oracle Corporation

Oracle Corporation specializes in developing and marketing enterprise software products ? particularly database management systems. Through organic growth and a number of high-profile acquisitions, Oracle enlarged its share of the software market....
 acquired Innobase OY, the Finnish
Finland

Finland , officially the Republic of Finland , is a Nordic countries situated in the Fennoscandian region of northern Europe. It borders Sweden on the west, Russia on the east, and Norway on the north, while Estonia lies to its south across the Gulf of Finland....
 company that developed the InnoDB
InnoDB

InnoDB is a database engine for MySQL, included as standard in all current binaries distributed by MySQL AB. Its main enhancement over other storage engines available for use with MySQL is ACID-compliant Database transaction support, similar to PostgreSQL, 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 integrity between two tables. The foreign key identifies a column or a set of columns in one table that refers to a column or set of columns in another table....
s. A press release
News release

A news release, media release, press release or press statement is a written or recorded communication directed at members of the news media for the purpose of announcing something claimed as having news value....
 by Oracle that was issued after the acquisition, mentioned that the contracts that make the company's software available to MySQL AB
MySQL AB

MySQL Aktiebolag is a company that is the creator and owner 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 which 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 commercial entity behind the Berkeley DB, a widely used free software developer database with over 200 million deployments worldwide, now part of Oracle Corporation....
, makers of the Berkeley DB
Berkeley DB

Berkeley DB is a computer software Library that provides a high-performance embedded database, with Binding in C , C++, Java , Perl, Python , Ruby , Tcl, Smalltalk, and many other programming languages....
, a database engine onto which another MySQL storage engine was built.

See also


  • 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....
  • Drizzle
    Drizzle (database server)

    Drizzle is a Free Software/Open Source database management system that was Fork_ from version 6.0 of the MySQL DBMS.Like MySQL, Drizzle has a client/server architecture and uses SQL as its primary command language....
  • HSQLDB
    HSQLDB

    HSQLDB is a relational database management system written in Java . It is based on Dr. Thomas Delbert Mueller, MS, PhD discontinued Hypersonic SQL Project.....
  • PostgreSQL
    PostgreSQL

    PostgreSQL is an object-relational database management system . It is released under a BSD licenses and is thus free software. As with many other open-source programs, PostgreSQL is not controlled by any single company, but has a global community of developers and companies to develop it....


External links

  • - an aggregation of MySQL-related blogs
  • Video