MySQL

jasonmcmunn's picture

MySQL is a relational database management system (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 firm, the Swedish company MySQL AB, now a subsidiary of Sun Microsystems,[3] which holds the copyright to most of the codebase. The project's source code is available under terms of the GNU General Public License, as well as under a variety of proprietary agreements.
"MySQL" is officially pronounced /maɪˌɛskjuːˈɛl/ (My S Q L), not "My sequel" /maɪˈsiːkwəl/. This adheres to the official ANSI pronunciation; SEQUEL was an earlier IBM database language, a predecessor to the SQL language. The company does not take issue with the pronunciation "My sequel" or other local variations.

History

This article or section needs to be updated. Please update the article to reflect recent events or newly available information, and remove this template when finished.
Milestones in MySQL development include:
MySQL was first released internally on 23 May 1995
Windows version was released on January 8, 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.1: beta from June 2004, production release October 2004 (R-trees and B-trees, subqueries, prepared statements)
Version 5.0: beta from March 2005, production release October 2005 (cursors, stored procedures, triggers, views, XA transactions)
Version 5.1: currently pre-production (since November 2005) (event scheduler, partitioning, plugin API, row-based replication, server log tables)
Sun Microsystems acquired MySQL AB on 26 February 2008.
Future releases
The MySQL 5.1 roadmap outlines support for:
Pluggable storage engine API
Partitioning
Event Scheduling
XML functions
Row-based replication
Support for parallelization is also part of the roadmap for future versions.
Support for supplementary Unicode characters, beyond the 65536 characters of the Basic Multilingual Plane (BMP) is announced for MySQL 6.0.
Foreign key 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).
The current MySQL 5.1 development release is 5.1.29.
A new storage engine is also in the works, called Falcon. 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 service with 30-minute response time, the support team has direct access to the developers as necessary to handle problems. In addition it hosts forums and mailing lists, employees and other users are often available in several IRC channels 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 and system architecture advice. The MySQL Network Monitoring and Advisory Service monitoring tool for database servers is available only to MySQL Enterprise customers.
MySQL Server is available as free software under the GNU General Public License (GPL), and the MySQL Enterprise subscriptions include a GPL version of the server, with a traditional proprietary 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 format. Users may choose the GPL, which MySQL has extended with a FLOSS License Exception. It allows Software licensed under other OSI-compliant Open Source licenses, 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, the name "MySQL" is trademarked and may only be used with the trademark holder's permission.
Some users have independently continued to develop earlier versions of the client libraries, which was distributed under the less-restrictive GNU Lesser General Public License (LGPL).
Issues
There has been some controversy regarding the distribution of GPL licensed MySQL library files with other open source applications. The biggest controversy arose with PHP, which has a license incompatible with the GPL. This was later resolved when MySQL created a license exception that explicitly allows the inclusion of the MySQL client library in open source projects that are licensed under a number of OSI-compliant Open Source licenses, including the PHP License.
In September 2005, MySQL AB and SCO forged a partnership for "joint certification, marketing, sales, training and business development work for a commercial version of the database for SCO's new OpenServer 6 version of Unix". SCO raised controversy beginning in 2003 with a number of high-profile lawsuits related to the Linux Operating System. Various MySQL employees expressed that the company was committed to serving its end users, regardless of their operating system choice, that the company would leave it to the courts to resolve the SCO licensing controversy, and that other common open source databases have also been ported to, and support, SCO OpenServer.
In October 2005, Oracle Corporation acquired Innobase OY, the Finnish company that developed the InnoDB storage engine that allows MySQL to provide such functionality as transactions and foreign keys. A press release by Oracle that was issued after the acquisition, mentioned that the contracts that make the company's software available to MySQL AB 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, makers of the Berkeley DB, a database engine onto which another MySQL storage engine was built.
Criticism

It has been suggested that some of the information in this article's Criticism or Controversy section(s) be merged into other sections to achieve a more neutral presentation. (Discuss)
MySQL's divergence from the SQL standard regarding the treatment of NULL values and default values has been criticized. Its handling of dates in versions prior to 5.0 allows storing a date with a day beyond the last day of a month with fewer than 31 days, and arithmetic operations are vulnerable to either integer overflow or floating point truncation. Since version 5 of the server, the treatment of illegal values varies according to use of the "SQL Mode" set in the server, which is by default set to the unusually tolerant state that critics dislike.
When the beta version of MySQL 5.0 was released in March 2005, David Axmark, a co-founder of MySQL, said that "People have been criticizing MySQL since we started for not having stored procedures, triggers and views," and "We're fixing 10 years of criticism in one release." MySQL 5.0's 13 October build 5.0.15 was released for production use on 24 October 2005, after more than two million downloads in the 5.0 beta cycle.
Critical bugs sometimes do not get fixed for long periods of time. An example is a bug with status critical existing since 2003.
MySQL shows poor performance when used for Data Warehousing; this is partly due to inability to utilize multiple CPU cores for processing a single query.
The developer of the Federated Storage Engine states that "The Federated Storage Engine is a proof-of-concept storage engine" [1], though it was included and turned on by default in the main distributions of MySQL version 5.0. Some of the short-comings are documented in the "MySQL Federated Tables: The Missing Manual".

(From http://en.wikipedia.org/wiki/Mysql on November 25, 2008)