The Info List - MySQL

--- Advertisement ---

My SQL (officially pronounced as /maɪ ˌɛskjuːˈɛl/ "My S-Q-L",[6]) is an open-source relational database management system (RDBMS).[7] Its name is a combination of "My", the name of co-founder Michael Widenius's daughter,[8] and "SQL", the abbreviation for Structured Query Language. The My SQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. My SQL was owned and sponsored by a single for-profit firm, the Swedish company My SQL AB, now owned by Oracle Corporation.[9] For proprietary use, several paid editions are available, and offer additional functionality. My SQL is a central component of the LAMP open-source web application software stack (and other "AMP" stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python". Applications that use the My SQL database include: TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB, and Drupal. My SQL is also used in many high-profile, large-scale websites, including Google[10][11] (though not for searches), Facebook,[12][13][14] Twitter,[15] Flickr,[16] and YouTube.[17]


1 Overview 2 History

2.1 Milestones 2.2 Release history 2.3 Legal disputes and acquisitions

3 Features

3.1 Limitations 3.2 Deployment 3.3 Backup software 3.4 High availability software 3.5 Cloud deployment

4 User interfaces

4.1 Graphical user interfaces 4.2 Command-line interfaces

5 Application programming interfaces 6 Project forks

6.1 Current 6.2 Abandoned

7 See also 8 Notes 9 References 10 External links

Overview[edit] My SQL is written in C and C++. Its SQL parser is written in yacc, but it uses a home-brewed lexical analyzer.[18] My SQL works on many system platforms, including AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, macOS, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2
Warp, QNX, Oracle Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and Tru64. A port of My SQL to OpenVMS
also exists.[19] The My SQL server software itself and the client libraries use dual-licensing distribution. They are offered under GPL version 2,[20] beginning from 28 June 2000[21] (which in 2009 has been extended with a FLOSS License Exception)[22] or to use a proprietary license.[23] Support can be obtained from the official manual.[24] Free support additionally is available in different IRC channels and forums. Oracle offers paid support via its My SQL Enterprise products. They differ in the scope of services and in price. Additionally, a number of third party organisations exist to provide support and services, including MariaDB and Percona. My SQL has received positive reviews, and reviewers noticed it "performs extremely well in the average case" and that the "developer interfaces are there, and the documentation (not to mention feedback in the real world via Web sites and the like) is very, very good".[25] It has also been tested to be a "fast, stable and true multi-user, multi-threaded sql database server".[26] History[edit] My SQL was created by a Swedish company, My SQL AB, founded by David Axmark, Allan Larsson and Michael "Monty" Widenius. Original development of My SQL by Widenius and Axmark began in 1994.[27] The first version of My SQL appeared on 23 May 1995. It was initially created for personal usage from m SQL based on the low-level language ISAM, which the creators considered too slow and inflexible. They created a new SQL interface, while keeping the same API as mSQL. By keeping the API consistent with the m SQL system, many developers were able to use My SQL instead of the (proprietarily licensed) mSQL antecedent.[citation needed][dubious – discuss] Milestones[edit] Additional milestones in My SQL development included:

First internal release on 23 May 1995 Version 3.19: End of 1996, from www.tcx.se Version 3.20: January 1997 Windows version was released on 8 January 1998 for Windows 95 and NT Version 3.21: production release 1998, from www.mysql.com Version 3.22: alpha, beta from 1998 Version 3.23: beta from June 2000, production release 22 January 2001[28] Version 4.0: beta from August 2002, production release March 2003 (unions). Version 4.01: beta from August 2003, Jyoti[clarification needed][citation needed] adopts My SQL for database tracking 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).

The developer of the Federated Storage Engine states that "The Federated Storage Engine is a proof-of-concept storage engine",[29] but the main distributions of My SQL version 5.0 included it and turned it on by default. Documentation of some of the short-comings appears in "My SQL Federated Tables: The Missing Manual".[30]

Sun Microsystems
Sun Microsystems
acquired MySQL AB in 2008.[31] Version 5.1: production release 27 November 2008 (event scheduler, partitioning, plugin API, row-based replication, server log 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).[32] My SQL 5.1 and 6.0-alpha showed poor performance when used for data warehousing – partly due to its inability to utilize multiple CPU cores for processing a single query.[33]

Oracle acquired Sun Microsystems
Sun Microsystems
on 27 January 2010.[34][35][36] The day Oracle announced the purchase of Sun, Michael "Monty" Widenius forked MySQL, launching MariaDB, and took a swath of My SQL developers with him.[37] My SQL Server 5.5 was generally available (as of December 2010[update]). Enhancements and features include:

The default storage engine is InnoDB, which supports transactions and referential integrity constraints. Improved InnoDB I/O subsystem[38] Improved SMP support[39] Semisynchronous replication. SIGNAL and RESIGNAL statement in compliance with the SQL standard. Support for supplementary Unicode
character sets utf16, utf32, and utf8mb4. New options for user-defined partitioning.

My SQL Server 6.0.11-alpha was announced[40] on 22 May 2009 as the last release of the 6.0 line. Future My SQL Server development uses a New Release Model. Features developed for 6.0 are being incorporated into future releases. The general availability of MySQL 5.6 was announced in February 2013. New features included performance improvements to the query optimizer, higher transactional throughput in InnoDB, new NoSQL-style memcached APIs, improvements to partitioning for querying and managing very large tables, TIMESTAMP column type that correctly stores milliseconds, improvements to replication, and better performance monitoring by expanding the data available through the PERFORMANCE_SCHEMA.[41] The InnoDB storage engine also included support for full-text search and improved group commit performance. The general availability of MySQL 5.7 was announced in October 2015.[42] My SQL Server 8.0.0-dmr (Milestone Release) was announced 12 September 2016.[43]

Release history[edit]

Release General availability Latest minor version Latest release

5.1 2008-11-14[44] 5.1.73[45] Old version, no longer supported: 2013-12-03

5.5 2010-12-03[46] 5.5.59 Older version, yet still supported: 2018-01-15

5.6 2013-02-05[47] 5.6.39 Older version, yet still supported: 2018-01-15

5.7 2015-10-21[48] 5.7.21 Current stable version: 2018-01-15

8.0 N/A 8.0.4 rc[49] Latest preview version of a future release: 2018-01-23

Legend: Old version Older version, still supported Latest version Latest preview version Future release

Legal disputes and acquisitions[edit] On 15 June 2001, NuSphere sued My SQL AB, TcX DataKonsult AB and its original authors Michael ("Monty") Widenius and David Axmark
David Axmark
in U.S District Court in Boston for "breach of contract, tortious interference with third party contracts and relationships and unfair competition".[50][51] In 2002, MySQL AB sued Progress NuSphere for copyright and trademark infringement in United States district court. NuSphere had allegedly violated MySQL's copyright by linking MySQL's GPL'ed code with NuSphere Gemini table without being in compliance with the license.[52] After a preliminary hearing before Judge Patti Saris on 27 February 2002, the parties entered settlement talks and eventually settled.[53] After the hearing, FSF commented that "Judge Saris made clear that she sees the GNU GPL to be an enforceable and binding license."[54] In October 2005, Oracle Corporation
Oracle Corporation
acquired Innobase OY, the Finnish company that developed the third-party InnoDB storage engine that allows My SQL to provide such functionality as transactions and foreign keys. After the acquisition, an Oracle press release mentioned that the contracts that make the company's software available to My SQL AB would be due for renewal (and presumably renegotiation) some time in 2006.[55] During the My SQL Users Conference in April 2006, MySQL issued a press release that confirmed that My SQL and Innobase OY agreed to a "multi-year" extension of their licensing agreement.[56] In February 2006, Oracle Corporation
Oracle Corporation
acquired Sleepycat Software,[57] makers of the Berkeley DB, a database engine providing the basis for another My SQL storage engine. This had little effect, as Berkeley DB was not widely used, and was dropped (due to lack of use) in MySQL 5.1.12, a pre-GA release of My SQL 5.1 released in October 2006.[58] In January 2008, Sun Microsystems
Sun Microsystems
bought My SQL for $1 billion.[59] In April 2009, Oracle Corporation
Oracle Corporation
entered into an agreement to purchase Sun Microsystems,[60] then owners of My SQL 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 20 August 2009.[61] On 14 December 2009, Oracle pledged to continue to enhance MySQL[62] as it had done for the previous four years. A movement against Oracle's acquisition of MySQL, to "Save MySQL"[63] from Oracle was started by one of the My SQL 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, Pamela Jones of Groklaw, Jan Wildeboer and Carlo Piana, who also acted as co-counsel in the merger regulation procedure) advocated for the unconditional approval of the merger.[64][65][66] As part of the negotiations with the European Commission, Oracle committed that MySQL server will continue until at least 2015 to use the dual-licensing strategy long used by My SQL AB, with proprietary and GPL versions available. The antitrust of the EU had been "pressuring it to divest My SQL as a condition for approval of the merger". But, as revealed by WikiLeaks, the US Department of Justice, at the request of Oracle, pressured the EU to approve the merger unconditionally.[67] The European Commission eventually unconditionally approved Oracle's acquisition of My SQL on 21 January 2010.[68] In January 2010, before Oracle's acquisition of MySQL, Monty Widenius started a GPL-only fork, MariaDB. MariaDB is based on the same code base as My SQL server 5.5 and aims to maintain compatibility with Oracle-provided versions.[69] Features[edit] My SQL is offered under two different editions: the open source MySQL Community Server and the proprietary Enterprise Server.[70] MySQL Enterprise Server is differentiated by a series of proprietary extensions which install as server plugins, but otherwise shares the version numbering system and is built from the same code base. Major features as available in My SQL 5.6:

A broad subset of ANSI SQL 99, as well as extensions Cross-platform support Stored procedures, using a procedural language that closely adheres to SQL/PSM[71] Triggers Cursors Updatable views Online DDL when using the InnoDB Storage Engine. Information schema Performance Schema that collects and aggregates statistics about server execution and query performance for monitoring purposes.[72] A set of SQL Mode options to control runtime behavior, including a strict mode to better adhere to SQL standards. X/Open XA distributed transaction processing (DTP) support; two phase commit as part of this, using the default InnoDB storage engine Transactions with savepoints when using the default InnoDB Storage Engine. The NDB Cluster Storage Engine also supports transactions. ACID compliance when using InnoDB and NDB Cluster Storage Engines[73] SSL support Query caching Sub-SELECTs (i.e. nested SELECTs) Built-in replication support (i.e., master-master replication and master-slave replication) with one master per slave, many slaves per master.[74] Multi-master replication is provided in My SQL Cluster,[75] and multi-master support can be added to unclustered configurations using Galera Cluster.[76] Full-text indexing and searching[a] Embedded database library Unicode
support[b] Partitioned tables with pruning of partitions in optimizer Shared-nothing clustering through My SQL Cluster Multiple storage engines, allowing one to choose the one that is most effective for each table in the application.[c] Native storage engines InnoDB, MyISAM, Merge, Memory (heap), Federated, Archive, CSV, Blackhole, NDB Cluster. Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second.

The developers release minor updates of the My SQL Server approximately every two months. The sources can be obtained from MySQL's website or from MySQL's GitHub
repository, both under the GPL license. Limitations[edit] When using some storage engines other than the default of InnoDB, My SQL does not comply with the full SQL standard for some of the implemented functionality, including foreign key references [77] and check constraints.[78] Up until My SQL 5.7, triggers are limited to one per action / timing, meaning that at most one trigger can be defined to be executed after an INSERT operation, and one before INSERT on the same table.[79] No triggers can be defined on views.[79] My SQL database's inbuilt functions like UNIX_TIMESTAMP() will return 0 after 03:14:07 UTC
on 19 January 2038.[80] Recently, there had been an attempt to solve the problem which had been assigned to the internal queue.[81] Deployment[edit] My SQL can be built and installed manually from source code, but it is more commonly installed from a binary package unless special customizations are required. On most Linux
distributions, the package management system can download and install My SQL with minimal effort, though further configuration is often required to adjust security and optimization settings.

LAMP software bundle, displayed here together with Squid.

Though My SQL 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-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. In the medium range, My SQL 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 ('scaling up'), so on larger scales, multi-server MySQL ('scaling out') 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.[82] The master server continually pushes binlog events to connected 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, or breaking down a database into smaller chunks called shards which can be spread across a number of distributed server clusters.[83] Backup software[edit] mysqldump is a logical backup tool included with both community and enterprise editions of MySQL. It supports backing up from all storage engines. My SQL Enterprise Backup is a hot backup utility included as part of the My SQL Enterprise subscription from Oracle, offering native InnoDB hot backup, as well as backup for other storage engines. XtraBackup is an open-source My SQL hot backup software program. Features include hot, non-locking backups for InnoDB storage, incremental backups, streaming, parallel-compressed backups, throttling based on the number of I/O operations per second, etc.[84] High availability software[edit] My SQL Fabric is an integrated system for managing a collection of My SQL servers, and a framework on top of which high availability and database sharding is built. My SQL Fabric is open-source, and supports procedure execution in the presence of failure, providing an execution model usually called resilient execution. My SQL client libraries are extended so they are hiding the complexities of handling failover in the event of a server failure, as well as correctly dispatching transactions to the shards.[85] Cloud deployment[edit] Main article: Cloud database My SQL can also be run on cloud computing platforms such as Microsoft Azure, Amazon EC2, Oracle Cloud Infrastructure. Some common deployment models for My SQL on the cloud are:

Virtual machine image In this implementation, cloud users can upload a machine image of their own with My SQL installed, or use a ready-made machine image with an optimized installation of My SQL on it, such as the one provided by Amazon EC2.[86]

My SQL as a service Some cloud platforms offer My SQL "as a service". In this configuration, application owners do not have to install and maintain the My SQL database on their own. Instead, the database service provider takes responsibility for installing and maintaining the database, and application owners pay according to their usage.[87] Notable cloud-based My SQL services are the Amazon Relational Database Service; Oracle My SQL Cloud Service, Rackspace; HP Converged Cloud; Heroku
and Jelastic.

the data base service provider takes responsibility for maintaining the database User interfaces[edit] Graphical user interfaces[edit] A graphical user interface (GUI) is a type of interface that allows users to interact with electronic devices or programs through graphical icons and visual indicators such as secondary notation, as opposed to text-based interfaces, typed command labels or text navigation. GUIs are easier to learn than command-line interfaces (CLIs), which require commands to be typed on the keyboard. Third-party proprietary and free graphical administration applications (or "front ends") are available that integrate with My SQL and enable users to work with database structure and data visually. Some well-known front ends are:

My SQL Workbench running on macOS

My SQL Workbench My SQL Workbench is the official integrated environment for MySQL. It was developed by My SQL AB, and enables users to graphically administer My SQL databases and visually design database structures. MySQL Workbench replaces the previous package of software, My SQL GUI Tools. Similar to other third-party packages, but still considered the authoritative My SQL front end, My SQL Workbench lets users manage database design & modeling, SQL development (replacing My SQL Query Browser) and Database
administration (replacing My SQL Administrator). My SQL Workbench is available in two editions, the regular free and open source 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.

Adminer Adminer
(formerly known as phpMinAdmin) is a free My SQL front end for managing content in My SQL databases (since version 2, it also works on PostgreSQL, MS SQL, SQLite and Oracle SQL databases). Adminer
is distributed under the Apache license (or GPL v2) in the form of a single PHP
file (around 300 KiB in size), and is capable of managing multiple databases, with many CSS skins available. Its author is Jakub Vrána who started to develop this tool as a light-weight alternative to phpMyAdmin, in July 2007.

ClusterControl ClusterControl is an end-to-end My SQL management system GUI that provides the ability to deploy, monitor, manage and scale MySQL instances from a single interface. It is developed by Severalnines. The Community version of ClusterControl is free to use and let's the user deploy and monitor their My SQL instances. Advanced features like load balancing, backup & restore, failover, etc are part of a paid offering.

Workbench Database Workbench
Database Workbench
is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions. Because Databases Workbench supports multiple database systems, it can provide software developers with the same interface and development environment for these otherwise different database systems and also includes cross database tools. Database Workbench
Database Workbench
supports the following relational databases: Oracle Database, Microsoft SQL Server, SQL Anywhere, Firebird, NexusDB, InterBase, My SQL and MariaDB. Database Workbench
Database Workbench
5 runs on 32-bit or 64 bit Windows platforms. Under Linux, FreeBSD
or macOS Database Workbench can operate using Wine.

DBEdit DBEdit
is a database editor, which can connect to an Oracle, DB2, My SQL and any database that provides a JDBC driver. It runs on Windows, Linux
and Solaris. DBEdit
is free and open source software and distributed under the GNU General Public License. The source code is hosted on SourceForge.

HeidiSQL HeidiSQL, previously known as MySQL-Front, is a free and open source client, or frontend for My SQL (and for its forks like MariaDB and Percona Server), Microsoft SQL Server
Microsoft SQL Server
and PostgreSQL. Heidi SQL is 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 My SQL server with acceptable credentials, creating a session. Within this session users may manage MySQL Databases within the connected My SQL server, disconnecting from the server when done. Its feature set is sufficient for most common and advanced database, table and data record operations but remains in active development to move towards the full functionality expected in a My SQL Frontend.

Base LibreOffice
Base allows the creation and management of databases, preparation of forms and reports that provide end users easy access to data. Like Microsoft Access, it can be used as a front-end for various database systems, including Access databases (JET), ODBC data sources, and My SQL or PostgreSQL[88]

Navicat Navicat
is a series of graphical database management and development software produced by PremiumSoft CyberTech Ltd. for MySQL, MariaDB, Oracle, SQLite, Postgre SQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners. Navicat
is a cross-platform tool and works on Microsoft Windows, OS X and Linux
platforms. Upon purchase, users are able to select a language for the software from eight available languages: English, French, German, Spanish, Japanese, Polish, Simplified Chinese and Traditional Chinese.

OpenOffice.org OpenOffice.org Base
OpenOffice.org Base
is freely available and can manage My SQL databases if the entire suite is installed.

phpMyAdmin phpMyAdmin is a free and open source tool written in PHP
intended to handle the administration of My SQL 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 permissions. The software, which is available in 78 languages,[89] is maintained by The phpMyAdmin Project.[90] It can import data from CSV and SQL, and transform stored data into any format using a set of predefined functions, like displaying BLOB-data as images or download-links.

SQLBuddy SQLBuddy is an open-source web-based application written in PHP intended to handle the administration of My SQL and SQLite with the use of a Web browser. The project places an emphasis on ease of installation and a simple user interface.

SQLyog SQLyog is a GUI tool available in free as well as paid versions. Data manipulations (e.g., insert, update, and delete) may be done from a spreadsheet-like interface. Its editor has syntax highlighting and various automatic formatting options. Both raw table data and a result set from a query can be manipulated. Its data search feature uses Google-like search syntax and translates to SQL transparently for the user. It has a backup tool for performing unattended backups. Backups may be compressed and optionally stored as a file-per-table as well as identified with a timestamp.

Toad for MySQL Toad for My SQL is a software application from Dell Software that database developers, database administrators and data analysts use to manage both relational and non-relational databases using SQL. Toad supports many databases and environments. It runs on all 32-bit/64-bit Windows platforms, including Microsoft Windows
Microsoft Windows
Server, Windows XP, Windows Vista, Windows 7 and 8 (32-Bit or 64-Bit). Dell Software has also released a Toad Mac Edition. Dell provides Toad in commercial and trial/freeware versions. The freeware version is available from the ToadWorld.com community.

Webmin Webmin
is a web-based system configuration tool for Unix-like systems, although recent versions can also be installed and run on Windows. With it, it is possible to configure operating system internals, such as users, disk quotas, services or configuration files, as well as modify and control open source apps, such as the Apache HTTP Server, PHP
or MySQL. Webmin
is largely based on Perl, running as its own process and web server. It defaults to TCP port 10000 for communicating, and can be configured to use SSL if OpenSSL is installed with additional required Perl
Modules. It is built around modules, which have an interface to the configuration files and the Webmin
server. This makes it easy to add new functionality. Due to Webmin's modular design, it is possible for anyone who is interested to write plugins for desktop configuration. Webmin
also allows for controlling many machines through a single interface, or seamless login on other webmin hosts on the same subnet or LAN.

Command-line interfaces[edit] A command-line interface is a means of interacting with a computer program where the user issues commands to the program by typing in successive lines of text (command lines). My SQL ships with many command line tools, from which the main interface is the mysql client.[91][92] My SQL Utilities is a set of utilities designed to perform common maintenance and administrative tasks. Originally included as part of the My SQL Workbench, the utilities are a stand-alone download available from Oracle. Percona Toolkit is a cross-platform toolkit for MySQL, developed in Perl.[93] Percona Toolkit can be used to prove replication is working correctly, fix corrupted data, automate repetitive tasks, and speed up servers. Percona Toolkit is included with several Linux
distributions such as CentOS
and Debian, and packages are available for Fedora and Ubuntu as well. Percona Toolkit was originally developed as Maatkit, but as of late 2011, Maatkit is no longer developed. Application programming interfaces[edit] Many programming languages with language-specific APIs include libraries for accessing My SQL databases. These include MySQL Connector/Net for integration with Microsoft's Visual Studio (languages such as C# and VB are most commonly used) and the JDBC driver for Java. In addition, an ODBC interface called MySQL Connector/ ODBC allows additional programming languages that support the ODBC interface to communicate with a My SQL database, such as ASP or ColdFusion. The HTSQL – URL-based query method also ships with a My SQL adapter, allowing direct interaction between a MySQL database and any web client via structured URLs. Project forks[edit] A variety of My SQL forks exist, including the following. Current[edit]

MariaDB MariaDB is a community-developed fork of the My SQL relational database management system intended to remain free under the GNU GPL. Being a fork of a leading open source software system, it is notable for being led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle.[37] Contributors are required to share their copyright with the MariaDB Foundation.[94] MariaDB intends to maintain high compatibility with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with My SQL APIs and commands.[95] There are some documented differences and incompatibilities between versions of My SQL and MariaDB,[95] however, and some tools for interacting with MySQL, such as the My SQL Workbench, are not fully compatible with MariaDB.[96] It includes the XtraDB storage engine for replacing InnoDB,[97] as well as a new storage engine, Aria, that intends to be both a transactional and non-transactional engine perhaps even included in future versions of MySQL.[98]

Percona Server Percona Server, forked by Percona, aims to retain close compatibility to the official My SQL releases, while focusing on performance and increased visibility into server operations.[99] Also included in Percona Server is XtraDB, Percona's fork of the InnoDB Storage Engine. Percona freely includes a number of scalability, availability, security and backup features only available in MySQL's commercial Enterprise edition.[100]


Drizzle Drizzle was a free software/open source relational database management system (DBMS) that was forked from the now-defunct 6.0 development branch of the My SQL DBMS.[101] Like MySQL, Drizzle had a client/server architecture and uses SQL as its primary command language. Drizzle was distributed under version 2 and 3 of the GNU General Public License (GPL) with portions, including the protocol drivers and replication messaging under the BSD license.

WebScaleSQL WebScale SQL was a software branch of My SQL 5.6, and was announced on 27 March 2014 by Facebook, Google, LinkedIn and Twitter
as a joint effort to provide a centralized development structure for extending My SQL with new features specific to its large-scale deployments, such as building large replicated databases running on server farms. Thus, WebScale SQL opened a path toward deduplicating the efforts each company had been putting into maintaining its own branch of MySQL, and toward bringing together more developers. By combining the efforts of these companies and incorporating various changes and new features into MySQL, WebScale SQL aimed at supporting the deployment of My SQL in large-scale environments.[102][103] The project's source code is licensed under version 2 of the GNU General Public License, and is hosted on GitHub.[104][105]

See also[edit]

Computing portal Free software portal

Comparison of database tools Comparison of My SQL database engines Comparison of relational database management systems SQL compliance


^ Initially, it was a MyISAM-only feature; supported by InnoDB since the release of My SQL 5.6. ^ Prior to My SQL 5.5.3, UTF-8
and UCS-2 encoded strings are limited to the BMP; My SQL 5.5.3 and later use utf8mb4 for full unicode support. ^ In My SQL 5.0, storage engines must be compiled in; since My SQL 5.1, storage engines can be dynamically loaded at run time.


^ "My SQL 5.7 Release Notes". mysql.com. Retrieved 17 January 2018.  ^ "Changes in Release 8.0.4 (2018-01-23, Release Candidate)". MySQL 8.0 Reference Manual. Oracle Corporation. 23 January 2018. Retrieved 24 January 2018.  ^ "MySQL: Project Summary". Ohloh. Black Duck Software. Retrieved 17 September 2012.  ^ "Supported Platforms: My SQL Database". Oracle. Retrieved 24 March 2014.  ^ "Downloads". MySQL. Retrieved 2014-08-03.  ^ "What is MySQL?". My SQL 5.1 Reference Manual. Oracle. Retrieved 17 September 2012. The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”)  ^ "DB-Engines Ranking". Retrieved 12 February 2015.  ^ "History of MySQL". My SQL 5.1 Reference Manual. My SQL AB. Retrieved 26 August 2011.  ^ " Sun Microsystems
Sun Microsystems
Announces Completion of My SQL Acquisition; Paves Way for Secure, Open Source Platform to Power the Network Economy" (Press release). Sun Microsystems. 26 February 2008. Archived from the original on 28 February 2008. Retrieved 17 September 2012.  ^ Urlocker, M. Zack (13 December 2005). " Google
Runs MySQL". The Open Force. M. Zack Urlocker. Retrieved 3 August 2010. AdWords was built using the My SQL database  ^ Claburn, Thomas (24 April 2007). " Google
Releases Improved MySQL Code". InformationWeek. InformationWeek. Retrieved 30 November 2008.  ^ Callaghan, Mark (13 April 2010). My SQL at Facebook. YouTube. Google. Retrieved 3 August 2010. x,000 servers, ... Master-slave replication, InnoDB  ^ Sobel, Jason (21 December 2007). "Keeping Up". The Facebook
Blog. Facebook. Retrieved 30 October 2008.  ^ Malik, Om (25 April 2008). "Facebook's Insatiable Hunger for Hardware". GigaOM. GigaOmniMedia. Retrieved 30 October 2008.  ^ Cole, Jeremy (14 April 2011). Big and Small Data at @Twitter. YouTube. Google. Retrieved 20 October 2011.  ^ "My SQL Customer: Flickr". My SQL Customers. Oracle. Retrieved 17 September 2012.  ^ "My SQL Customer: YouTube". My SQL Customers. Oracle. Retrieved 17 September 2012.  ^ "My SQL Internals Manual". Dev.mysql.com. 4 March 2009. Retrieved 8 June 2009.  ^ "My SQL for OpenVMS". vmsmysql.org. 2011-03-30. Retrieved 2014-01-16.  ^ "Oracle :: My SQL Open Source License". Mysql.com. Retrieved 8 June 2009.  ^ "My SQL GOES GPL". Archived from the original on 12 August 2001.  ^ "Oracle :: FLOSS License Exception". Mysql.com. Retrieved 8 June 2009.  ^ "Oracle :: My SQL Commercial License". Mysql.com. Retrieved 8 June 2009.  ^ My SQL Support Manual, My SQL Developers ^ Review of My SQL Server 5.0, Techworld.com, November 2005 ^ My SQL Server Review, LinuxMint.com ^ "Five Questions With Michael Widenius
Michael Widenius
– Founder And Original Developer of MySQL". www.opensourcereleasefeed.com. Archived from the original on 2009-03-13. Retrieved 13 October 2012.  ^ "My SQL 3.23 Declared Stable". Archived from the original on 15 August 2001.  ^ "Capttofu: FederatedX Pluggable Storage Engine Released!". Capttofu.livejournal.com. Archived from the original on 13 August 2011. Retrieved 3 April 2009.  ^ "My SQL Federated Tables: The Missing Manual". O’Reilly Media. 8 October 2006. Retrieved 1 February 2012.  ^ "Sun Picks Up My SQL For $1 Billion; Open Source Is A Legitimate Business
Model". Retrieved 13 October 2012.  ^ "Archives – Oops, we did it again (My SQL 5.1 released as GA with crashing bugs)". Planet MySQL. 29 November 2008. Archived from the original on 30 December 2008. Retrieved 5 February 2013.  ^ "TPC-H Run on My SQL 5.1 and 6.0 My SQL Performance Blog". MySQL Performance Blog. Retrieved 8 June 2009.  ^ "Oracle Completes Acquisition of Sun" (Press release). Oracle. 27 January 2010. Retrieved 1 February 2012.  ^ "Overview and Frequently Asked Questions" (PDF).  ^ "Oracle's ambitious plans for integrating Sun's technology". InfoWorld. 27 January 2010.  ^ a b "Dead database walking: MySQL's creator on why the future belongs to MariaDB". Computerworld. 28 March 2013. Retrieved 2013-09-11.  ^ " InnoDB I/O Subsystem Changes". dev.mysql.com. Archived from the original on 10 February 2012. Retrieved 1 February 2012.  ^ "Scalability Improvements". dev.mysql.com. Archived from the original on 10 February 2012. Retrieved 1 February 2012.  ^ "My SQL Lists: packagers: My SQL 6.0.11 Alpha has been released!". Lists.mysql.com. Retrieved 1 February 2012.  ^ "What's New in My SQL 5.6". My SQL Developer Zone. Archived from the original on 23 April 2011. Retrieved 21 April 2011.  ^ "Oracle Announces General Availability of My SQL 5.7". Oracle. Retrieved 1 November 2015.  ^ "8.0.0-dmr (Milestone Release)". Retrieved 12 September 2016.  ^ "A.1 My SQL 5.1 FAQ: General". docs.oracle.com. Retrieved 2 August 2017.  ^ "My SQL 5.1 Release Notes". docs.oracle.com. Retrieved 2 August 2017.  ^ "MySQL: My SQL 5.5 Release Notes". dev.mysql.com. Retrieved 15 January 2018.  ^ "MySQL: My SQL 5.6 Release Notes". dev.mysql.com. Retrieved 15 January 2018.  ^ "MySQL: My SQL 5.7 Release Notes". dev.mysql.com. Retrieved 15 January 2018.  ^ "MySQL: My SQL 8.0 Release Notes". dev.mysql.com. Retrieved 25 September 2017.  ^ Basil, Tom (4 September 2001). "Eyewitness account: "Monty Widenius, International Fugitive"". My SQL Life (Mailing list). Archived from the original on 4 October 2013. Retrieved 16 September 2012.  ^ "FAQ on My SQL vs. NuSphere Dispute". My SQL AB. 13 July 2001. Archived from the original on 17 July 2001. Retrieved 16 September 2012.  ^ "Affidavit of Eben Moglen
Eben Moglen
on Progress Software vs. My SQL AB Preliminary Injunction Hearing". Archived from the original on 2005-02-07.  ^ Progress Software Corporation
v. My SQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002). ^ "Judge Saris defers GNU GPL Questions for Trial in My SQL vs. Progress Software" (Press release). Free Software Foundation. 1 March 2002. Retrieved 16 September 2012.  ^ "Oracle Announces the Acquisition of Open Source Software Company, Innobase" (Press release). Oracle. 7 October 2005. Archived from the original on 20 July 2011. Retrieved 16 September 2012.  ^ "My SQL to Promote New Open Source DB Engines from its Partners and Dev Community" (Press release). My SQL AB. 26 April 2006. Archived from the original on 23 June 2011. Retrieved 16 September 2012.  ^ Babcock, Charles (14 February 2006). "Oracle Buys Sleepycat, Is JBoss Next?". InformationWeek. CPM Media. Retrieved 16 September 2012.  ^ "Changes in My SQL 5.1.12". My SQL 5.1 Reference Manual. My SQL AB. 24 October 2006. Archived from the original on 20 October 2012. Retrieved 16 September 2012.  ^ " Sun Microsystems
Sun Microsystems
Announces Agreement to Acquire MySQL, Developer of the World's Most Popular Open Source Database" (Press release). Sun Microsystems. 16 January 2008. Archived from the original on 18 July 2011. Retrieved 16 September 2012.  ^ "Oracle to Buy Sun" (Press release). Sun Microsystems. 20 April 2009. Archived from the original on 22 April 2009. Retrieved 16 September 2012.  ^ Thomasch, Paul; Finkle, Jim (20 August 2009). "Oracle wins U.S. approval to buy Sun Microsystems". Reuters. Retrieved 16 September 2012. [permanent dead link] ^ Whitney, Lance (14 December 2009). "Oracle pledges to play well with MySQL". CNET. Retrieved 16 September 2012.  ^ Michael, Widenius (12 December 2009). " Help saving MySQL". Monty Says. Google. Retrieved 16 September 2012.  ^ "The Software Freedom Law Center Submits an Opinion on the Oracle/Sun Merger to the EC". www.softwarefreedom.org. Software Freedom Law Center. 2009-12-04. Retrieved 2018-02-01.  ^ Lai, Eric (2009-10-28). "Many open-sourcers back an Oracle takeover of MySQL". www.infoworld.com. InfoWorld. Retrieved 2018-02-01.  ^ Wildeboer, Jan (2010-01-05). "Why I will not sign the MySQL petition". jan.wildeboer.net. Retrieved 2018-02-01.  ^ Kanaracus, Chris (30 August 2011). "Wikileaks Cable Offers New Insights Into Oracle-Sun Deal". PC World. Retrieved 16 September 2012.  ^ "Mergers: Commission clears Oracle's proposed acquisition of Sun Microsystems" (Press release). European Union. 21 January 2010. Retrieved 16 September 2012.  ^ " MariaDB versus My SQL – Compatibility". AskMonty Knowledgebase. Monty Program. 30 July 2010. Archived from the original on 27 July 2010. Retrieved 16 September 2012.  ^ "Which Should I Use: My SQL Enterprise or My SQL Community Server?". My SQL AB. Archived from the original on 9 April 2009. Retrieved 8 April 2009.  ^ Guy Harrison; Steven Feuerstein (2008). My SQL Stored Procedure Programming. O'Reilly Media. p. 49. ISBN 978-0-596-10089-6.  ^ "Monitoring RDS My SQL performance metrics". Datadog. 2015-10-20. Retrieved 14 December 2015.  ^ "MySQL :: InnoDB 1.1 for My SQL 5.5 User's Guide :: C InnoDB Glossary :: ACID". Retrieved 5 January 2011. [permanent dead link] ^ "Replication". MySQL.  ^ "My SQL Cluster Replication: Multi-Master and Circular Replication". MySQL.  ^ "My SQL University: My SQL Galera Multi-Master Replication". Oracle Corporation. 2010-02-09.  ^ " InnoDB and FOREIGN KEY Constraints". MySQL. Retrieved 11 April 2015.  ^ "Bug #3464 Constraints: support CHECK". MySQL. 14 April 2004. Retrieved 11 April 2015.  ^ a b "CREATE TRIGGER Syntax". MySQL. Retrieved 11 April 2015.  ^ "My SQL Bugs: #12654: 64-bit unix timestamp is not supported in MySQL functions". MySQL. 2005-08-18. Retrieved 2017-10-06.  ^ "Allow dates beyond 2038 by dveeden · Pull Request #130 · mysql/mysql-server". GitHub, Inc. 2017-03-22. Retrieved 2017-10-06.  ^ "The future of replication in MySQL". Facebook. Retrieved 9 December 2009.  ^ " Database
Sharding". Code Futures. Archived from the original on 16 January 2010. Retrieved 9 December 2009.  ^ "XtraBackup". Percona. Retrieved 19 January 2013.  ^ Mats Kindahl (2014-05-27). "My SQL Fabric: Musings on Release 1.4.3". mysqlmusings.blogspot.com. Retrieved 2014-06-18.  ^ "Running My SQL on Amazon EC2
Amazon EC2
with EBS (Elastic Block Store)". Amazon Web Services. Retrieved 5 February 2013.  ^ Finley, Klint. "7 Cloud-Based Database
Services". ReadWriteWeb. Archived from the original on 9 November 2011. Retrieved 9 November 2011.  ^ " LibreOffice
Base". Archived from the original on 7 January 2012. Retrieved 5 January 2012.  ^ "Translations". phpMyAdmin. Retrieved 2014-12-23.  ^ "Team". phpMyAdmin. Retrieved 2013-03-03.  ^ mysql — The My SQL Command-Line Tool, My SQL Reference Manual ^ mysqladmin – the My SQL command-line tool, My SQL Reference Manual ^ Home. " Percona Toolkit for MySQL". Percona. Retrieved 26 March 2014.  ^ "Contributing Code". MariaDB KnowledgeBase. Retrieved 17 September 2014.  ^ a b " MariaDB versus My SQL - Compatibility". MariaDB KnowledgeBase. Retrieved 16 September 2016.  ^ "Monitoring My SQL performance metrics". Datadog. Retrieved 16 September 2016.  ^ "About XtraDB". MariaDB KnowledgeBase. Retrieved 16 September 2016.  ^ "Aria FAQ". MariaDB KnowledgeBase. Retrieved 16 September 2016.  ^ Percona Server Frequently Asked Questions, How is it related to other My SQL forks? ^ " Percona challenges Oracle with alternate My SQL release". PC World. Retrieved 12 February 2015.  ^ Clark, Jack (2011-03-17). "My SQL fork Drizzle gets general release". ZDNet. Retrieved 2016-01-03.  ^ Steven J. Vaughan-Nichols (28 March 2013). "WebScaleSQL: My SQL for Facebook-sized databases". ZDNet. Retrieved 1 April 2014.  ^ Klint Finley (27 March 2013). " Google
and Facebook
Team Up to Modernize Old-School Databases". Wired. Retrieved 1 April 2014.  ^ Jack Clark (27 March 2013). "Forkin' 'L! Facebook, Google
and friends create WebScale SQL from My SQL 5.6". The Register. Retrieved 1 April 2014.  ^ "Frequently Asked Questions". webscalesql.org. 27 March 2014. Retrieved 1 April 2014. 

External links[edit]

Wikimedia Commons has media related to MySQL.

Wikibooks has more on the topic of: MySQL

Official website My SQL at Oracle Axmark, David (Mar 12, 2008). "My SQL co-founder, David Axmark, on Sun's billion dollar acquisition" (video). intruders.tv.  My SQL at Curlie (based on DMOZ)

v t e



MySQL My SQL Enterprise My SQL Cluster

My SQL tools

My SQL Workbench SQLyog phpMyAdmin HeidiSQL Navicat Database

Storage engines

MyISAM Falcon InnoDB XtraDB My SQL Federated My SQL Archive Aria TokuDB

Procedural Language

My SQL Stored Procedures (a variant of SQL/PSM Standard)

Forks and Branches

Drizzle MariaDB Percona Server WebScaleSQL

v t e

Sun Microsystems
Sun Microsystems
(acquired by Oracle Corp, 2010)


Bill Joy Andy Bechtolsheim Scott McNealy Vinod Khosla List of notable employees


Sun-1 Sun-2 Sun-3 Sun386i Sun-4 SPARCstation Netra Ultra Enterprise Sun Blade Sun Fire SPARC
Enterprise SPARC JavaStation Sun Ray Sun Modular Datacenter more...


SunOS Solaris NIS (+) NFS ZFS SunView NeWS OpenWindows Java Desktop System Sun Studio Java StarOffice iPlanet/Sun ONE/Java Enterprise System Sun Secure Global Desktop MySQL Sun xVM GlassFish more...


StorageTek Sun Open Storage QFS ZFS

High-performance computing

Sun Cloud Sun Constellation System Sun Visualization System Sun Grid Engine Lustre


Sun Labs picoJava Fortress Project Looking Glass


SCPs BlueJ


Common Development and Distribution License Java Community Process NetBeans OpenOffice.org OpenSolaris OpenSPARC OpenJDK OSUM

v t e

Oracle Corporation

Corporate directors

Jeffrey Berg H. Raymond Bingham Michael Boskin Safra Catz Larry Ellison Héctor García-Molina Joseph Grundfest Jeffrey O. Henley Mark Hurd Jack F. Kemp Donald L. Lucas Naomi O. Seligman

Acquisitions (list)

Sun PeopleSoft Hyperion Siebel BEA JD Edwards RightNow Virtual Iron TimesTen Sunopsis NetSuite


Oracle Database MySQL InnoDB Berkeley DB TimesTen Rdb Essbase

Programming languages



JDeveloper Forms NetBeans Apex SQL Developer Developer Studio


Fusion Middleware WebCenter SOA Suite WebLogic Server Coherence Tuxedo GlassFish

Operating systems

Oracle Linux Oracle Solaris

Computer hardware

Sun Fire SPARC
(T-Series, Enterprise) StorageTek

Computer appliances

Oracle Exadata Oracle Exalogic Big Data Appliance

Education and recognition

Oracle Certification Program

Category Commons

Authority control