MySQL explained
MySQL [4] is an open-source relational database management system (RDBMS).[5] Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My,[6] and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.
MySQL is free and open-source software under the terms of the GNU General Public License, and is also available under a variety of proprietary licenses. MySQL was owned and sponsored by the Swedish company MySQL AB, which was bought by Sun Microsystems (now Oracle Corporation).[7] In 2010, when Oracle acquired Sun, Widenius forked the open-source MySQL project to create MariaDB.[8]
MySQL has stand-alone clients that allow users to interact directly with a MySQL database using SQL, but more often, MySQL is used with other programs to implement applications that need relational database capability. MySQL is a component of the LAMP web application software stack (and others), which is an acronym for Linux, Apache, MySQL, Perl/PHP/Python. MySQL is used by many database-driven web applications, including Drupal, Joomla, phpBB, and WordPress.[9] MySQL is also used by many popular websites, including Facebook,[10] [11] Flickr,[12] MediaWiki,[13] Twitter,[14] and YouTube.[15]
Overview
MySQL is written in C and C++. Its SQL parser is written in yacc, but it uses a home-brewed lexical analyzer.[16] MySQL works on many system platforms, including AIX, BSDi, FreeBSD, HP-UX, ArcaOS, eComStation, IBM i, 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 MySQL to OpenVMS also exists.[17]
The MySQL server software itself and the client libraries use dual-licensing distribution. They are offered under GPL version 2, or a proprietary license.[18]
Support can be obtained from the official manual.[19] Free support additionally is available in different IRC channels and forums. Oracle offers paid support via its MySQL 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.
MySQL 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".[20] It has also been tested to be a "fast, stable and true multi-user, multi-threaded SQL database server".[21]
History
MySQL was created by a Swedish company, MySQL AB, founded by Swedes David Axmark, Allan Larsson and Finnish Michael "Monty" Widenius.Original development of MySQL by Widenius and Axmark began in 1994.[22] The first version of MySQL appeared on 23 May 1995. It was initially created for personal usage from mSQL 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 mSQL system, many developers were able to use MySQL instead of the (proprietarily licensed) mSQL antecedent.[23]
Milestones
Additional milestones in MySQL 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[24]
- 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).
- The developer of the Federated Storage Engine states that "The Federated Storage Engine is a proof-of-concept storage engine",[25] but the main distributions of MySQL version 5.0 included it and turned it on by default. Documentation of some of the short-comings appears in "MySQL Federated Tables: The Missing Manual".[26]
- Sun Microsystems acquired MySQL AB in 2008.[27]
- 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).[28]
- MySQL 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.[29]
- Oracle acquired Sun Microsystems on 27 January 2010.[30] [31] [32]
- The day Oracle announced the purchase of Sun, Michael "Monty" Widenius forked MySQL, launching MariaDB, and took a swath of MySQL developers with him.[33]
- MySQL Server 5.5 was generally available . Enhancements and features include:
- The default storage engine is InnoDB, which supports transactions and referential integrity constraints.
- Improved InnoDB I/O subsystem[34]
- Improved SMP support[35]
- 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.
- MySQL Server 6.0.11-alpha was announced[36] on 22 May 2009 as the last release of the 6.0 line. Future MySQL Server development uses a New Release Model. Features developed for 6.0 are being incorporated into future releases.
- The general availability of MySQL 5.6 was announced in February 2013.[37] 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, column type that correctly stores milliseconds, improvements to replication, and better performance monitoring by expanding the data available through the .[38] 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.[39] As of MySQL 5.7.8, August 2015,[40] MySQL supports a native JSON data type defined by RFC 7159.[41]
- MySQL Server 8.0 was announced in April 2018,[42] including NoSQL Document Store, atomic and crash safe DDL sentences and JSON Extended syntax, new functions, such as JSON table functions, improved sorting, and partial updates. Previous MySQL Server 8.0.0-dmr (Milestone Release) was announced 12 September 2016.[43]
- MySQL was declared DBMS of the year 2019 from the DB-Engines ranking[44]
Release history
Release | General availability | Latest minor version | Latest release | End of support[45] [46] |
---|
| [47] | 5.1.73[48] | 2013-12-03 | Dec 2013 |
| [49] | 5.5.62[50] | 2018-10-22 | Dec 2018 |
| [51] | 5.6.51[52] | 2021-01-20 | Feb 2021 |
| [53] | 5.7.44[54] | 2023-10-25 | Oct 2023 |
| [55] | 8.0.39[56] | 2024-07-23 | Apr 2026 |
| [57] | 8.1.0[58] | 2023-07-18 | Oct 2023 |
| [59] | 8.2.0[60] | 2023-10-25 | Jan 2024 |
| [61] | 8.3.0[62] | 2024-01-16 | Apr 2024 |
| [63] | 8.4.2[64] | 2024-07-23 | Apr 2032 |
| [65] | 9.0.1[66] | 2024-07-23 | Oct 2024 |
|
LTS = Long-Term Support, IR = Innovation Release | |
Work on version 6 stopped after the Sun Microsystems acquisition. The MySQL Cluster product uses version 7. The decision was made to jump to version 8 as the next major version number.[67]
Legal disputes and acquisitions
On 15 June 2001, NuSphere sued MySQL AB, TcX DataKonsult AB and its original authors Michael ("Monty") Widenius and David Axmark in U.S. District Court in Boston for "breach of contract, tortious interference with third party contracts and relationships and unfair competition".[68] [69]
In 2002, MySQL AB sued Progress NuSphere for copyright and trademark infringement in United States district court. NuSphere had allegedly violated MySQL AB's copyright by linking MySQL's GPL'ed code with NuSphere Gemini table without being in compliance with the license.[70] After a preliminary hearing before Judge Patti Saris on 27 February 2002, the parties entered settlement talks and eventually settled.[71] After the hearing, FSF commented that "Judge Saris made clear that she sees the GNU GPL to be an enforceable and binding license."[72]
In October 2005, Oracle Corporation acquired Innobase OY, the Finnish company that developed the third-party InnoDB storage engine that allows MySQL 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 MySQL AB would be due for renewal (and presumably renegotiation) some time in 2006.[73] During the MySQL Users Conference in April 2006, MySQL AB issued a press release that confirmed that MySQL AB and Innobase OY agreed to a "multi-year" extension of their licensing agreement.[74]
In February 2006, Oracle Corporation acquired Sleepycat Software,[75] makers of the Berkeley DB, a database engine providing the basis for another MySQL 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 MySQL 5.1 released in October 2006.[76]
In January 2008, Sun Microsystems bought MySQL AB for $1 billion.[77]
In April 2009, Oracle Corporation entered into an agreement to purchase Sun Microsystems,[78] then owners of MySQL copyright and trademark. Sun's board of directors unanimously approved the deal. It was also approved by Sun's shareholders, and by the U.S. government on 20 August 2009.[79] On 14 December 2009, Oracle pledged to continue to enhance MySQL[80] as it had done for the previous four years.
A movement against Oracle's acquisition of MySQL AB, to "Save MySQL"[81] from Oracle was started by one of the MySQL AB 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, some Free Software opinion leaders (including 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.[82] [83] [84] 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 MySQL AB, with proprietary and GPL versions available. The antitrust of the EU had been "pressuring it to divest MySQL as a condition for approval of the merger". But the US Department of Justice, at the request of Oracle, pressured the EU to approve the merger unconditionally.[85] The European Commission eventually unconditionally approved Oracle's acquisition of MySQL AB on 21 January 2010.[86]
In January 2010, before Oracle's acquisition of MySQL AB, Monty Widenius started a GPL-only fork, MariaDB. MariaDB is based on the same code base as MySQL server 5.5 and aims to maintain compatibility with Oracle-provided versions.[87]
Features
MySQL is offered under two different editions: the open source MySQL Community Server[88] and the proprietary Enterprise Server.[89] 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 MySQL 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[90]
- Triggers
- Cursors
- Updatable views
- Online Data Definition Language (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.[91]
- 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[92]
- SSL support
- Query caching
- Sub-SELECTs (i.e. nested SELECTs)
- Built-in replication support
- Asynchronous replication: master-slave from one master to many slaves[93] [94] or many masters to one slave[95]
- Semi synchronous replication: Master to slave replication where the master waits on replication[96] [97]
- Synchronous replication: Multi-master replication is provided in MySQL Cluster.[98]
- Virtual Synchronous: Self managed groups of MySQL servers with multi master support can be done using: Galera Cluster[99] or the built in Group Replication plugin[100]
- Full-text indexing and searching
- Embedded database library
- Unicode support
- Partitioned tables with pruning of partitions in optimizer
- Shared-nothing clustering through MySQL Cluster
- Multiple storage engines, allowing one to choose the one that is most effective for each table in the application.
- 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 MySQL 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
When using some storage engines other than the default of InnoDB, MySQL does not comply with the full SQL standard for some of the implemented functionality, including foreign key references.[101] Check constraints are parsed but ignored by all storage engines before MySQL version 8.0.15.[102] [103]
Up until MySQL 5.7, triggers are limited to one per action / timing, meaning that at most one trigger can be defined to be executed after an operation, and one before on the same table.[104] No triggers can be defined on views.[104]
Before MySQL 8.0.28, inbuilt functions like would return after 03:14:07 UTC on 19 January 2038.[105] In 2017, an attempt to solve the problem was submitted, but was not used for the final solution that was shipped in 2022.[106] [107] [108]
Deployment
MySQL 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 MySQL with minimal effort, though further configuration is often required to adjust security and optimization settings.
Though MySQL began as a low-end alternative to more powerful proprietary databases, it has gradually evolved to support higher-scale needs as well. It is still most commonly used in small to medium scale single-server deployments, either as a component in a LAMP-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, MySQL can be scaled by deploying it on more powerful hardware, such as a multi-processor server with gigabytes of memory.
There are, however, limits to how far performance can scale on a single server ('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.[109] 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.[110]
High availability software
Oracle MySQL offers a high availability solution with a mix of tools including the MySQL router and the MySQL shell. They are based on Group Replication, open source tools.[111]
MariaDB offers a similar offer in terms of products.[112]
Cloud deployment
See main article: article and Cloud database.
MySQL can also be run on cloud computing platforms such as Microsoft Azure, Amazon Elastic Compute Cloud, Oracle Cloud Infrastructure.[113] Some common deployment models for MySQL on the cloud are:
- Virtual machine image
In this implementation, cloud users can upload a machine image of their own with MySQL installed, or use a ready-made machine image with an optimized installation of MySQL on it, such as the one provided by Amazon EC2.[114]
- MySQL as a service
Some cloud platforms offer MySQL "as a service". In this configuration, application owners do not have to install and maintain the MySQL 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.[115] Notable cloud-based MySQL services are the Amazon Relational Database Service; Oracle MySQL HeatWave Database Service,[116] Azure Database for MySQL,[117] Rackspace; HP Converged Cloud; Heroku and Jelastic. In this model the database service provider takes responsibility for maintaining the host and database.User interfaces
Graphical user interfaces
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.
Third-party proprietary and free graphical administration applications (or "front ends") are available that integrate with MySQL and enable users to work with database structure and data visually.
MySQL Workbench
See main article: MySQL Workbench. MySQL Workbench is the integrated environment for MySQL. It was developed by MySQL AB, and enables users to graphically administer MySQL databases and visually design database structures.
MySQL Workbench is available in three 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, and the MySQL Cluster CGE.[118] [119]
Other GUI tools
Command-line interfaces
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). MySQL ships with many command line tools, from which the main interface is the client.[120] [121]
MySQL Utilities is a set of utilities designed to perform common maintenance and administrative tasks. Originally included as part of the MySQL Workbench, the utilities are a stand-alone download available from Oracle.
Percona Toolkit is a cross-platform toolkit for MySQL, developed in Perl.[122] 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.
MySQL shell is a tool for interactive use and administration of the MySQL database. It supports JavaScript, Python or SQL modes and it can be used for administration and access purposes.[123]
Application programming interfaces
Many programming languages with language-specific APIs include libraries for accessing MySQL databases. These include MySQL Connector/Net for .NET/CLI Languages,[124] and the JDBC driver for Java.[125]
In addition, an ODBC interface called MySQL Connector/ODBC allows additional programming languages that support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion. The HTSQL URL-based query method also ships with a MySQL adapter, allowing direct interaction between a MySQL database and any web client via structured URLs. Other drivers exists for languages like Python[126] or Node.js.[127]
Project forks
A variety of MySQL forks exist, including the following.
Current
- MariaDB
MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. The fork has been led by the original developers of MySQL, who forked it due to concerns over its acquisition by Oracle.
- Percona Server for MySQL
Percona Server for MySQL, forked by Percona, aims to retain close compatibility to the official MySQL releases.[128] Also included in Percona Server for MySQL is XtraDB, Percona's fork of the InnoDB Storage Engine.[129] Abandoned
- 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 MySQL DBMS.[130] 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
WebScaleSQL was a software branch of MySQL 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 MySQL with new features specific to its large-scale deployments, such as building large replicated databases running on server farms. Thus, WebScaleSQL 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, WebScaleSQL aimed at supporting the deployment of MySQL in large-scale environments.[131] [132] The project's source code is licensed under version 2 of the GNU General Public License, and is hosted on GitHub.[133] [134]
- OurDelta
The OurDelta distribution, created by the Australian company Open Query (later acquired by Catalyst IT Australia), had two versions: 5.0, which was based on MySQL, and 5.1, which was based on MariaDB. It included patches developed by Open Query and by other notable members of the MySQL community including Jeremy Cole and Google. Once the patches were incorporated into the MariaDB mainline, OurDelta's objectives were achieved and OurDelta passed on its build and packaging toolchain to Monty Program (now MariaDB Plc).[135] See also
External links
Notes and References
- Web site: MySQL: Project Summary . Ohloh . Black Duck Software . 17 September 2012 . 7 July 2012 . https://web.archive.org/web/20120707023450/http://www.ohloh.net/p/mysql/analyses/latest . dead .
- Web site: Supported Platforms: MySQL Database . Oracle . 24 March 2014.
- Web site: Downloads . MySQL . 2014-08-03.
- Web site: What is MySQL?. MySQL 8.0 Reference Manual. Oracle Corporation. 2020-04-03. The official way to pronounce "MySQL" is "My Ess Que Ell" (not "my sequel"), but we do not mind if you pronounce it as "my sequel" or in some other localized way..
- Web site: DB-Engines Ranking of Relational DBMS. DB-Engines. solidIT consulting & software development GmbH. 2020-04-03.
- Web site: History of MySQL. MySQL 8.0 Reference Manual. Oracle Corporation. 2020-04-03. MySQL is named after co-founder Monty Widenius's daughter, My..
- Sun Microsystems Announces Completion of MySQL Acquisition; Paves Way for Secure, Open Source Platform to Power the Network Economy . Sun Microsystems . 26 February 2008 . 17 September 2012 . https://web.archive.org/web/20080228025123/http://www.sun.com/aboutsun/pr/2008-02/sunflash.20080226.1.xml . 28 February 2008.
- Web site: Pearce. Rohan. 2013-03-28. Dead database walking: MySQL's creator on why the future belongs to MariaDB. dead. https://web.archive.org/web/20200703115804/https://www.computerworld.com/article/3463901/dead-database-walking-mysql-s-creator-on-why-the-future-belongs-to-mariadb.html. 2020-07-03. 2020-04-03. Computerworld. en. The day the Sun purchase was announced, Widenius responded [...] — he forked MySQL, launching MariaDB [...].
- Web site: WordPress Guns for Web Content Management Duties. WordPress, created in 2003, uses a variety of open-source programs and open standards, such as PHP, MySQL, JavaScript, HTML and CSS.. Joab. Jackson. The New York Times. March 8, 2010. August 24, 2023. en-US.
- Web site: Keeping Up. Sobel. Jason. 2007-12-21. The Facebook Blog. Facebook. dead. https://web.archive.org/web/20090618191723/http://blog.facebook.com/blog.php?post=7899307130. 2009-06-18. 2009-06-18. [...] Facebook's data is stored in MySQL database servers [...].
- Web site: MyRocks: A space- and write-optimized MySQL database. Matsunobu. Yoshinori. 2016-08-31. Facebook Engineering. en-US. live. https://web.archive.org/web/20200307113840/https://engineering.fb.com/core-data/myrocks-a-space-and-write-optimized-mysql-database/. 2020-03-07. 2020-03-07. At Facebook we use MySQL to manage many petabytes of data, along with the InnoDB storage engine [...].
- Web site: Using, Abusing and Scaling MySQL at Flickr. Elliott-McCrea. Kellan. 2010-02-08. code.flickr.com. 2020-04-03. [...] at Flickr, MySQL is our hammer, and we use it for nearly everything. It's our federated data store, our key-value store, and our document store..
- Web site: Manual:MySQL. www.mediawiki.org. MediaWiki, The Free Wiki Engine. 2020-04-03. The MySQL and MariaDB database engines are the most commonly-used database backends for MediaWiki..
- Web site: The Infrastructure Behind Twitter: Scale. Hashemi. Mazdak. 2017-01-19. blog.twitter.com. en-us. 2020-04-03. SQL: This includes MySQL, PostgreSQL and Vertica. MySQL/PosgreSQL are used where we need strong consistency [...].
- Book: Mehta, Chintan. K Bhavsar, Ankit. Oza, Hetal. Shah, Subhash . February 15, 2018 . MySQL 8 Administrator's Guide: Effective Guide to Administering High-performance MySQL 8 Solutions. Packt Publishing. 32. 9781788393843.
- Web site: 4 March 2009 . MySQL Internals Manual . 8 June 2009 . dev.mysql.com .
- Web site: 2011-03-30 . MySQL for OpenVMS . dead . 2014-01-16 . vmsmysql.org . 12 May 2014 . https://web.archive.org/web/20140512060500/http://www.vmsmysql.org/ .
- Web site: July 2010 . Commercial License for OEMs, ISVs and VARs . 2020-04-03 . www.mysql.com . Oracle provides its MySQL database server [...] under a dual license model [...] Oracle makes its MySQL database server [...] available under the GPLv2 [...].
- Web site: MySQL Support Manual, MySQL Developers . 4 February 2012 . 4 February 2012 . https://web.archive.org/web/20120204041451/http://dev.mysql.com/doc/refman/5.5/en/index.html . dead .
- Web site: Review of MySQL Server 5.0. https://web.archive.org/web/20120521204519/http://review.techworld.com/applications/346/mysql-50-open-source-database/ . 21 May 2012 . Techworld.com . November 2005.
- Web site: MySQL Database Server (Metapackage Depending On The Latest Version). community.linuxmint.com.
- Web site: Five Questions With Michael Widenius – Founder And Original Developer of MySQL . https://web.archive.org/web/20090313160628/http://www.opensourcereleasefeed.com/interview/show/five-questions-with-michael-widenius-founder-and-original-developer-of-mysql . 2009-03-13 . opensourcereleasefeed.com . 13 October 2012.
- Web site: Pachev . Sasha . MySQL History and Architecture . 5 December 2020 . www.oreilly.com . en-US.
- Web site: MySQL 3.23 Declared Stable. https://web.archive.org/web/20010815175526/http://www.mysql.com/news/article-54.html . 15 August 2001 .
- Web site: Capttofu: FederatedX Pluggable Storage Engine Released! . Capttofu.livejournal.com . 3 April 2009 . dead . https://web.archive.org/web/20110813040439/http://capttofu.livejournal.com/5798.html . 13 August 2011.
- Web site: 8 October 2006 . MySQL Federated Tables: The Missing Manual . dead . 1 February 2012 . O'Reilly Media . 13 August 2006 . https://web.archive.org/web/20060813161552/http://www.oreillynet.com/pub/a/databases/2006/08/10/mysql-federated-tables.html .
- Web site: Arrington . Michael . 2008-01-16 . Sun Picks Up MySQL For $1 Billion; Open Source Is A Legitimate Business Model . 13 October 2012 . www.techcrunch.com.
- Web site: Archives – Oops, we did it again (MySQL 5.1 released as GA with crashing bugs) . Planet MySQL . 29 November 2008 . 5 February 2013 . dead . https://web.archive.org/web/20081230032718/http://www.planetmysql.org/entry.php?id=16232 . 30 December 2008.
- Web site: Zaitsev . Peter . 2008-04-10 . TPC-H Run on MySQL 5.1 and 6.0 . 8 June 2009 . MySQL Performance Blog.
- Oracle Completes Acquisition of Sun. Oracle . 27 January 2010 . 1 February 2012.
- Web site: Overview and Frequently Asked Questions . dead . 8 February 2016 . 11 February 2016 . https://web.archive.org/web/20160211190401/https://www.oracle.com/us/assets/038563.pdf .
- News: Krill . Paul . 27 January 2010 . Oracle's ambitious plans for integrating Sun's technology . InfoWorld . 2018-05-08.
- News: Pearce . Rohan . 28 March 2013 . Dead database walking: MySQL's creator on why the future belongs to MariaDB . . 2020-10-02 . 3 October 2020 . https://web.archive.org/web/20201003111459/https://www2.computerworld.com.au/article/457551/dead_database_walking_mysql_creator_why_future_belongs_mariadb/ . dead .
- Web site: InnoDB I/O Subsystem Changes. dev.mysql.com. 1 February 2012. dead. https://web.archive.org/web/20120210005904/http://dev.mysql.com/doc/refman/5.5/en/innodb-io-changes.html. 10 February 2012.
- Web site: Scalability Improvements . dev.mysql.com . 1 February 2012 . dead . https://web.archive.org/web/20120210005914/http://dev.mysql.com/doc/refman/5.5/en/smp-improvements.html . 10 February 2012.
- Web site: MySQL Lists: packagers: MySQL 6.0.11 Alpha has been released! . dead . 1 February 2012 . Lists.mysql.com . 23 March 2012 . https://web.archive.org/web/20120323235154/http://lists.mysql.com/packagers/418 .
- Web site: Oracle Announces General Availability of MySQL 5.6 . 13 June 2018 . 13 June 2018 . https://web.archive.org/web/20180613191021/http://www.oracle.com/us/corporate/press/1904335 . dead .
- Web site: What's New in MySQL 5.6. MySQL Developer Zone. 21 April 2011. dead. https://web.archive.org/web/20110423052507/http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html. 23 April 2011.
- Web site: Oracle Announces General Availability of MySQL 5.7 . dead . 1 November 2015 . Oracle . 23 January 2016 . https://web.archive.org/web/20160123022325/https://www.oracle.com/corporate/pressrelease/mysql-5-7-ga-101915.html .
- Web site: MySQL :: MySQL 5.7 Release Notes :: Changes in MySQL 5.7.8 (2015-08-03, Release Candidate) . 10 October 2019 . dev.mysql.com.
- MySQL :: MySQL 5.7 Reference Manual :: 11.6 The JSON Data Type. dev.mysql.com. 2014 . 10.17487/RFC7159 . 10 October 2019. 7159. Bray . T . Bray . T. . free .
- Web site: Announcing General Availability of MySQL 8.0. Mike. Frank. blogs.oracle.com. 10 October 2019.
- Web site: 8.0.0-dmr (Milestone Release) . 12 September 2016.
- Web site: Gelbmann . Matthias . 2020-01-03 . MySQL is the DBMS of the Year 2019 . 7 January 2020 . db-engines.com . DB-Engines.
- Web site: Oracle Lifetime Support Policy. 10 October 2019.
- Web site: Introducing MySQL Innovation and Long-Term Support (LTS) versions . 16 October 2023.
- Web site: A.1 MySQL 5.1 FAQ: General. docs.oracle.com. 2 August 2017. 9 February 2023. https://web.archive.org/web/20230209011159/https://docs.oracle.com/cd/E17952_01/mysql-5.1-en/faqs-general.html. dead.
- Web site: 2 Changes in MySQL 5.1.73 (2013-12-03). docs.oracle.com. 2020-04-28. 30 November 2020. https://web.archive.org/web/20201130230511/https://docs.oracle.com/cd/E17952_01/mysql-5.1-relnotes-en/news-5-1-73.html. dead.
- Web site: MySQL: MySQL 5.5 Release Notes. dev.mysql.com. 15 January 2018.
- Web site: 2 Changes in MySQL 5.5.62 (2018-10-22, General availability). docs.oracle.com. 2020-04-28. 30 November 2020. https://web.archive.org/web/20201130230510/https://docs.oracle.com/cd/E17952_01/mysql-5.5-relnotes-en/news-5-5-62.html. dead.
- Web site: MySQL: MySQL 5.6 Release Notes. dev.mysql.com. 15 January 2018.
- Web site: MySQL :: MySQL 5.6 Release Notes :: Changes in MySQL 5.6.51 (2021-01-20, General Availability). dev.mysql.com. 2021-03-04. 20 January 2021. https://web.archive.org/web/20210120032943/https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-51.html. dead.
- Web site: MySQL: MySQL 5.7 Release Notes. dev.mysql.com. 15 January 2018.
- Web site: Changes in MySQL 5.7.44 (2023-10-25, General Availability) . 2023-10-25 . dev.mysql.com.
- Web site: What's New in MySQL 8.0? (Generally Available). Geir. Hoydalsvik. 19 April 2018. 10 October 2019. 26 August 2021. https://web.archive.org/web/20210826120020/https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/. dead.
- Web site: MySQL :: MySQL 8.0 Release Notes :: Changes in MySQL 8.0.39 (2024-07-23, General Availability) . 2024-07-23 . dev.mysql.com.
- Web site: What Is New in MySQL 8.1. 18 July 2023. 16 October 2023.
- Web site: Changes in MySQL 8.1.0 (2023-07-18, Innovation Release). 18 July 2023. 16 October 2023.
- Web site: What Is New in MySQL 8.2. 25 October 2023. 26 October 2023.
- Web site: Changes in MySQL 8.2.0 (2023-08-25, Innovation Release). 25 October 2023. 26 October 2023.
- Web site: What Is New in MySQL 8.3. 16 January 2024. 16 January 2024.
- Web site: Changes in MySQL 8.3.0 (2024-01-16, Innovation Release). 16 January 2024. 16 January 2024.
- Web site: What Is New in MySQL 8.4 since MySQL 8.0(Generally Available). Geir. Hoydalsvik. 30 April 2024. 30 April 2024.
- Web site: MySQL :: MySQL 8.4 Release Notes :: Changes in MySQL 8.4.2 (2024-07-23, General Availability) . 2024-07-23 . dev.mysql.com.
- Web site: What Is New in MySQL 9.0. 1 June 2024. 1 June 2024.
- Web site: MySQL :: MySQL 9.0 Release Notes :: Changes in MySQL 9.0.1 (2024-07-23, General Availability) . 2024-07-01 . dev.mysql.com.
- Web site: MySQL 8 is coming. opensource.com. 27 April 2018.
- Eyewitness account: "Monty Widenius, International Fugitive" . 4 September 2001 . 16 September 2012 . MySQL Life . Basil . Tom . dead . https://web.archive.org/web/20131004214013/http://no.spam.ee/~tonu/mysql/tombasil.txt . 4 October 2013.
- Web site: FAQ on MySQL vs. NuSphere Dispute . 13 July 2001 . MySQL AB . 16 September 2012 . https://web.archive.org/web/20010717185237/http://mysql.com/news/article-75.html . 17 July 2001.
- Web site: Affidavit of Eben Moglen on Progress Software vs. MySQL AB Preliminary Injunction Hearing. https://web.archive.org/web/20050207084821/http://www.fsf.org/press/mysql-affidavit.html. 2005-02-07.
- Progress Software Corporation v. MySQL AB . 195 . F. Supp. 2d . 328 . D. Mass. . 2002 . https://scholar.google.com/scholar_case?case=13584730711160488510 . 16 September 2012.
- Judge Saris defers GNU GPL Questions for Trial in MySQL vs. Progress Software . Free Software Foundation . 1 March 2002 . 16 September 2012.
- Oracle Announces the Acquisition of Open Source Software Company, Innobase . Oracle . 7 October 2005 . 16 September 2012 . https://web.archive.org/web/20110720225615/http://www.oracle.com/us/corporate/press/016679_EN . 20 July 2011 . live.
- MySQL to Promote New Open Source DB Engines from its Partners and Dev Community . MySQL AB . 26 April 2006 . 16 September 2012 . https://web.archive.org/web/20110623190958/http://www.mysql.com/news-and-events/generate-article.php?id=2006_21 . 23 June 2011. live.
- Web site: Oracle Buys Sleepycat, Is JBoss Next? . Babcock . Charles . 14 February 2006 . InformationWeek . CPM Media . 16 September 2012 . 15 May 2011 . https://web.archive.org/web/20110515023408/http://www.informationweek.com/software/showArticle.jhtml?articleID=180200853 . dead .
- Web site: Changes in MySQL 5.1.12 . 24 October 2006 . MySQL 5.1 Reference Manual . MySQL AB . 16 September 2012 . dead . https://web.archive.org/web/20121020222957/http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html . 20 October 2012.
- Sun Microsystems Announces Agreement to Acquire MySQL, Developer of the World's Most Popular Open Source Database . Sun Microsystems . 16 January 2008 . https://web.archive.org/web/20110718044718/http://mysql.com/news-and-events/sun-to-acquire-mysql.html . 18 July 2011 . 16 September 2012 . dead.
- Oracle to Buy Sun . Sun Microsystems . 20 April 2009 . 16 September 2012 . https://web.archive.org/web/20090422033454/http://www.sun.com/aboutsun/pr/2009-04/sunflash.20090420.1.xml . 22 April 2009. live.
- News: Oracle wins U.S. approval to buy Sun Microsystems . Thomasch . Paul . Finkle . Jim . 20 August 2009 . Reuters . 2 March 2020 .
- Web site: Oracle pledges to play well with MySQL . Whitney . Lance . 14 December 2009 . CNET . https://web.archive.org/web/20160312052010/http://www.cnet.com/news/oracle-pledges-to-play-well-with-mysql/. 12 March 2016. 16 September 2012.
- Web site: Help saving MySQL . Michael . Widenius . 12 December 2009 . Monty Says . Google . 16 September 2012.
- Web site: The Software Freedom Law Center Submits an Opinion on the Oracle/Sun Merger to the EC . 2009-12-04 . www.softwarefreedom.org . Software Freedom Law Center . 2018-02-01 .
- Web site: Many open-sourcers back an Oracle takeover of MySQL . Lai . Eric . 2009-10-28 . www.infoworld.com . InfoWorld . 2018-02-01 .
- Web site: Why I will not sign the MySQL petition . Wildeboer . Jan . 2010-01-05 . jan.wildeboer.net . 2018-02-01 .
- Web site: Wikileaks Cable Offers New Insights into Oracle-Sun Deal . Kanaracus . Chris . 30 August 2011 . . 16 September 2012.
- Mergers: Commission clears Oracle's proposed acquisition of Sun Microsystems . European Union . 21 January 2010 . 16 September 2012.
- Web site: MariaDB versus MySQL - Compatibility. MariaDB KnowledgeBase. 2020-04-03. MariaDB versions function as a "drop-in replacement" for the equivalent MySQL version, with some limitations..
- Web site: MySQL Community Edition. www.mysql.com. 2020-04-03. MySQL Community Edition is the freely downloadable version [...]. It is available under the GPL license [...].
- Web site: Which Should I Use: MySQL Enterprise or MySQL Community Server? . MySQL AB . 8 April 2009 . dead . https://web.archive.org/web/20090409055908/http://www.mysql.com/products/which-edition.html . 9 April 2009.
- Book: Guy Harrison. Steven Feuerstein. MySQL Stored Procedure Programming. 2008. O'Reilly Media. 978-0-596-10089-6. 49.
- Web site: Monitoring RDS MySQL performance metrics . . 2015-10-20 . 14 December 2015.
- Web site: MySQL :: InnoDB 1.1 for MySQL 5.5 User's Guide :: C InnoDB Glossary :: ACID . https://web.archive.org/web/20101225160519/http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_acid . dead . 25 December 2010 . 5 January 2011 .
- Web site: Replication. MySQL. dead. 3 May 2013. 6 May 2013. https://web.archive.org/web/20130506041941/http://dev.mysql.com/doc/refman/5.6/en/replication.html.
- Web site: MariaDB Replication. MariaDB KnowledgeBase. 2019-03-09.
- Web site: MySQL :: MySQL 5.7 Reference Manual :: 16.1.4 MySQL Multi-Source Replication. dev.mysql.com. 2019-03-09.
- Web site: MySQL :: MySQL 5.7 Reference Manual :: 16.3.9 Semisynchronous Replication. dev.mysql.com. 2019-03-09.
- Web site: Semisynchronous Replication. MariaDB KnowledgeBase. 2019-03-09.
- Web site: MySQL Cluster Replication: Multi-Master and Circular Replication. MySQL.
- Web site: MySQL University: MySQL Galera Multi-Master Replication. 2010-02-09. Oracle Corporation. 3 May 2013. 12 December 2013. https://web.archive.org/web/20131212022901/https://blogs.oracle.com/mysqlf/entry/mysql_university_mysql_galera_multi. dead.
- Web site: MySQL :: MySQL 8.0 Reference Manual :: 18 Group Replication. dev.mysql.com. 2019-03-09.
- Web site: 13.1.20.5 FOREIGN KEY Constraints. MySQL. 10 March 2021.
- Web site: Bug #3464 Constraints: support CHECK. MySQL. 14 April 2004. 11 April 2015.
- Web site: MySQL 8.0 Reference Manual: CREATE TABLE Syntax . MySQL Reference Manual. Oracle. 2018-05-07.
- Web site: CREATE TRIGGER Syntax. MySQL. 11 April 2015.
- Web site: MySQL Bugs: #12654: 64-bit unix timestamp is not supported in MySQL functions. MySQL. 2005-08-18. 2017-10-06.
- Web site: Allow dates beyond 2038 by dveeden · Pull Request #130 · mysql/mysql-server. GitHub, Inc.. 2017-03-22. 2017-10-06.
- Web site: MySQL Bugs: #12654: 64-bit unix timestamp is not supported in MySQL functions . 2023-08-29 . bugs.mysql.com.
- Web site: MySQL :: MySQL 8.0 Release Notes :: Changes in MySQL 8.0.28 (2022-01-18, General Availability) . 2023-08-29 . dev.mysql.com.
- Web site: The future of replication in MySQL . Facebook . 2009-12-09 .
- Web site: Database Sharding . Code Futures . 2009-12-09 . dead . https://web.archive.org/web/20100116031912/http://codefutures.com/dbshards-cloud/. 16 January 2010.
- Web site: MySQL :: MySQL Enterprise High Availability. www.mysql.com. 2019-03-09.
- Web site: High Availability & Performance Tuning. MariaDB KnowledgeBase. 2019-03-09.
- Web site: Oracle Cloud Infrastructure . 18 January 2018 . 18 January 2018 . https://web.archive.org/web/20180118185219/https://cloud.oracle.com/en_US/infrastructure/compute . dead .
- Web site: Running MySQL on Amazon EC2 with EBS (Elastic Block Store) . . 5 February 2013 .
- Web site: Klint . Finley . 7 Cloud-Based Database Services . . 2011-11-09 . dead . https://web.archive.org/web/20111109084453/http://www.readwriteweb.com/cloud/2011/01/7-cloud-based-database-service.php . 2011-11-09.
- Web site: Oracle MySQL HeatWave Database Service.
- Web site: Azure Database for MySQL - Managed MySQL Database | Microsoft Azure. azure.microsoft.com.
- Web site: MySQL :: MySQL Products.
- Web site: MySQL :: MySQL Community Edition.
- Web site: mysql — The MySQL Command-Line Tool, MySQL Reference Manual . 17 June 2015 . 17 June 2015 . https://web.archive.org/web/20150617191142/http://dev.mysql.com/doc/refman/5.6/en/mysql.html . dead .
- Web site: mysqladmin – the MySQL command-line tool, MySQL Reference Manual . 18 January 2013 . 12 January 2013 . https://web.archive.org/web/20130112203324/http://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html . dead .
- Web site: Percona Toolkit. Percona . 26 March 2014.
- Web site: MySQL :: Download MySQL Shell. dev.mysql.com. 2019-03-09.
- Web site: MySQL Connector/NET Developer Guide . 2020-09-09. 2020-09-20. mysql.com.
- Web site: MySQL Connector/J Developer Guide . 2020-09-18 . 2020-09-20 . mysql.com . 18 September 2020 . https://web.archive.org/web/20200918080220/https://dev.mysql.com/doc/connector-j/8.0/en/ . dead .
- Web site: MySQL :: Download Connector/Python. dev.mysql.com. 2019-03-09.
- Web site: MySQL :: Download Connector/Node.js. dev.mysql.com. 2019-03-09.
- Web site: How is it related to other MySQL forks?. Percona. Frequently Asked Questions. 6 June 2015. https://web.archive.org/web/20150415051416/http://www.percona.com/software/percona-server/faq. 15 April 2015. dead.
- Web site: Percona challenges Oracle with alternate MySQL release . PC World . 12 February 2015.
- Web site: Clark . Jack . MySQL fork Drizzle gets general release . ZDNet . 2011-03-17 . 2016-01-03.
- News: WebScaleSQL: MySQL for Facebook-sized databases . 28 March 2013 . 1 April 2014 . Steven J. Vaughan-Nichols . ZDNet.
- Google and Facebook Team Up to Modernize Old-School Databases . 27 March 2013 . 1 April 2014 . Klint Finley . Wired.
- Web site: Forkin' 'L! Facebook, Google and friends create WebScaleSQL from MySQL 5.6 . 27 March 2013 . 1 April 2014 . Jack Clark . The Register.
- Web site: Frequently Asked Questions . 27 March 2014 . 1 April 2014 . webscalesql.org.
- Web site: OurDelta . openquery.com.au . 22 August 2017 . 20 August 2021 .