Jump to content

MySQL: Dallime mes rishikimesh

Nga Wikipedia, enciklopedia e lirë
[redaktim i pashqyrtuar][redaktim i pashqyrtuar]
Content deleted Content added
Faqe e re: MySQL
 
No edit summary
Rreshti 1: Rreshti 1:
{{Infobox software
MySQL
| logo = [[File:MySQL.svg|180px]]
| screenshot = <!-- [[File:Mysql-screenshot.PNG|300px]] A command-line screenshot seems relatively uninformative to be given such a prominent position in the article. -->
| caption = Screenshot of the default MySQL command line.
| developer = [[Oracle Corporation|Oracle]] (formerly [[Sun Microsystems|Sun]], formerly [[MySQL AB]])
| released = {{start-date|df=yes|23 May 1995}}
|latest_release_version = 5.6.15
|latest_release_date = {{release date and age|df=yes|2013|12|03}}<ref>{{cite web |url=http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html |title=Changes in MySQL 5.6.15 |date=3 December 2013 |work=MySQL 5.6 Reference Manual |publisher=[[Oracle Corporation|Oracle]] |accessdate=3 December 2013}}</ref>
|latest_preview_version =
|latest_preview_date = {{release date and age|df=yes|||}}<ref>{{cite web |url=http://dev.mysql.com/doc/refman/5.6/en/news-5-6-x.html |title=Changes in Release 5.6.x (Development) |date=11 November 2012 |work= MySQL 5.6 Reference Manual |publisher=Oracle |accessdate=11 December 2012}}</ref>
| frequently updated = yes
| programming language = [[C (programming language)|C]], [[C++]]<ref>{{cite web |url=http://www.ohloh.net/p/mysql/analyses/latest |title=MySQL: Project Summary |work=Ohloh |publisher=Black Duck Software |accessdate=17 September 2012}}</ref>
| operating system = [[Cross-platform]]
| language = English
| genre = [[Relational database management system|RDBMS]]
| license = Proprietary [[EULA]]<br>MySQL Community Edition: [[GNU General Public License]] (version 2)<ref>http://www.mysql.com/downloads/</ref>
| website = [http://www.mysql.com/ www.mysql.com]<br/>[http://dev.mysql.com/ dev.mysql.com]
}}

'''MySQL''' ({{IPAc-en|m|aɪ|_|ˌ|ɛ|s|k|juː|ˈ|ɛ|l}} "My S-Q-L",<ref name="whatismysql">{{cite web |title=What is MySQL? |work=MySQL 5.1 Reference Manual |publisher=Oracle |url=http://dev.mysql.com/doc/refman/5.1/en/what-is-mysql.html |accessdate=17 September 2012 |quote=The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”)}}</ref> officially, but also called {{IPAc-en|m|aɪ|_|ˈ|s|iː|k|w|əl}} "My Sequel") is (as of July 2013) the world's second most{{refn|group=nb|Following [[Sqllite]], which is deployed with every [[iPhone]] and [[Android (operating system)|Android]] device along with the [[Google Chrome|Chrome]] and [[Firefox]] browsers.<ref name="sqllite">{{cite web | url=https://www.sqlite.org/famous.html | title=Well-Known Users of SQLite | publisher=The SQLite Consortium | accessdate=8 October 2013 | quote=Apple uses SQLite for many functions within Mac OS X, including Apple Mail, Safari, and in Aperture. Apple uses SQLite in the iPhone and in the iPod touch and in iTunes software. .... SQLite is the primary meta-data storage format for the Firefox Web Browser and the Thunderbird Email Reader from Mozilla. .... It is known that Google uses SQLite in their Desktop for Mac, in Google Gears, in the Android cell-phone operating system, and in the [[Google Chrome]] Web Browser.}}</ref> In the second quarter of 2013 alone, 213 million smartphones shipped, of which 200 million were Android and iOS.<ref>{{cite web | url=http://venturebeat.com/2013/08/01/android-reaches-massive-80-market-share-windows-phone-hits-global-high-iphone-languishes/ | title=Android reaches massive 80% market share, Windows Phone hits global high, iPhone languishes Read more at http://venturebeat.com/2013/08/01/android-reaches-massive-80-market-share-windows-phone-hits-global-high-iphone-languishes | publisher=VentureBeat | work=MobileBeat | date=1 August 2013 | accessdate=8 October 2013 | author=Koetsier, John | quote=Global smartphone shipments grew 47 percent to hit 230 million devices in the second quarter of 2013, according to a new report from research firm Strategy Analytics. Android captured record market share of 80 percent, while iOS hit a new low of 14 percent.}}</ref>}} widely used<ref>{{cite web |url=http://www.mysql.com/why-mysql/marketshare/ |title=Market Share |work=Why MySQL? |publisher=Oracle |accessdate=17 September 2012}}</ref><ref>{{cite web |url=http://db-engines.com/en/ranking |title=DB-Engines Ranking |accessdate=29 July 2013}}</ref> open-source [[relational database management system]] (RDBMS).<ref>{{cite web |first1=Robin |last1=Schumacher |first2=Arjen |last2=Lentz |title=Dispelling the Myths |publisher=[[MySQL AB]] |url=http://dev.mysql.com/tech-resources/articles/dispelling-the-myths.html |archiveurl=http://web.archive.org/web/20110606013619/http://dev.mysql.com/tech-resources/articles/dispelling-the-myths.html |archivedate=6 June 2011 |accessdate=17 September 2012}}</ref> It is named after co-founder [[Michael Widenius]]'s daughter, My.<ref>{{cite web |url=http://dev.mysql.com/doc/refman/5.1/en/history.html |title=History of MySQL |work=MySQL 5.1 Reference Manual |publisher=MySQL AB |accessdate=26 August 2011}}</ref> The [[SQL]] phrase stands for [[Structured Query Language]].<ref name="whatismysql"/>

The MySQL 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 software|proprietary]] agreements. MySQL was owned and sponsored by a single [[Business|for-profit]] firm, the [[Sweden|Swedish]] company [[MySQL AB]], now owned by [[Oracle Corporation]].<ref name="sunacquire">{{cite press release |title=Sun Microsystems Announces Completion of MySQL Acquisition; Paves Way for Secure, Open Source Platform to Power the Network Economy |publisher=Sun Microsystems |date=26 February 2008 |url=http://www.sun.com/aboutsun/pr/2008-02/sunflash.20080226.1.xml |accessdate=17 September 2012 |archiveurl=http://web.archive.org/web/20080228025123/http://www.sun.com/aboutsun/pr/2008-02/sunflash.20080226.1.xml |archivedate=28 February 2008}}</ref>

MySQL is a popular choice of database for use in web applications, and is a central component of the widely used [[LAMP (software bundle)|LAMP]] open source web application software stack (and other [[List of AMP packages|'AMP']] stacks). LAMP is an acronym for "[[Linux]], [[Apache HTTP Server|Apache]], MySQL, [[Perl]]/[[PHP]]/[[Python (programming language)|Python]]." [[Free software|Free-software]]-open source projects that require a full-featured database management system often use MySQL.

For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: [[TYPO3]], [[MODx]], [[Joomla]], [[WordPress]], [[phpBB]], [[MyBB]], [[Drupal]] and other software. MySQL is also used in many high-profile, large-scale [[website]]s, including [[Wikipedia]],<ref>{{cite web |url=http://meta.wikimedia.org/wiki/Wikimedia_servers#System_architecture |title= Wikimedia servers&nbsp;— System architecture |work=Wikimedia Meta-Wiki |publisher=Wikimedia Foundation |accessdate=17 September 2012}}</ref> [[Google]]<ref name="mysqlatgoogle">{{cite web |url=http://zurlocker.typepad.com/theopenforce/2005/12/googles_use_of_.html |title=Google Runs MySQL |last=Urlocker |first=M. Zack |date=13 December 2005 |work=The Open Force |publisher=M. Zack Urlocker |accessdate=3 August 2010 |quote=AdWords was built using the MySQL database}}</ref><ref>{{cite news |url=http://www.informationweek.com/google-releases-improved-mysql-code/199201237 |title=Google Releases Improved MySQL Code |last=Claburn |first=Thomas |date=24 April 2007 |work=InformationWeek |publisher=[[InformationWeek]] |accessdate=30 November 2008}}</ref> (though not for searches), [[Facebook]],<ref name="mysqlatfacebook">{{cite video |title=MySQL at Facebook |url=http://www.youtube.com/watch?v=Zofzid6xIZ4 |last=Callaghan |first=Mark |date=13 April 2010 |work=YouTube |publisher=Google |accessdate=3 August 2010 |quote=x,000 servers, ... Master-slave replication, InnoDB}}</ref><ref>{{cite web |url=http://blog.facebook.com/blog.php?post=7899307130 |title=Keeping Up |last=Sobel |first=Jason |date=21 December 2007 |work=The Facebook Blog |publisher=Facebook |accessdate=30 October 2008}}</ref><ref>{{cite web |url=http://gigaom.com/2008/04/25/facebooks-insatiable-hunger-for-hardware/ |title= Facebook’s Insatiable Hunger for Hardware |last=Malik |first=Om |date=25 April 2008 |work=[[GigaOM]] |publisher=GigaOmniMedia |accessdate=30 October 2008}}</ref> [[Twitter]],<ref>{{cite video |title=Big and Small Data at @Twitter |url=http://www.youtube.com/watch?v=5cKTP36HVgI |last=Cole |first=Jeremy |date=14 April 2011 |work=YouTube |publisher=Google |accessdate=20 October 2011}}</ref> [[Flickr]],<ref>{{cite web |url=http://www.mysql.com/customers/view/?id=720 |title=MySQL Customer: Flickr |work=MySQL Customers |publisher=Oracle |accessdate=17 September 2012}}</ref> and [[YouTube]].<ref>{{cite web |url=http://www.mysql.com/customers/view/?id=750 |title=MySQL Customer: YouTube |work=MySQL Customers |publisher=Oracle |accessdate=17 September 2012}}</ref>

==Interfaces==
[[File:Mysqlwb-homepage.png|thumb|right|[[MySQL Workbench]] in Windows]]
MySQL is a [[relational database management system]] (RDBMS), and ships with no [[Graphical user interface|GUI]] tools to administer MySQL databases or manage data contained within the databases. Users may use the included [[command line]] tools,<ref name="mysql — The MySQL Command-Line Tool">[http://dev.mysql.com/doc/refman/5.5/en/mysql.html mysql — The MySQL Command-Line Tool], MySQL Reference Manual</ref><ref name="mysqladmin - the MySQL command-line tool">[http://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html mysqladmin - the MySQL command-line tool], MySQL Reference Manual</ref> or use MySQL "front-ends", desktop software and web applications that create and manage MySQL databases, build database structures, back up data, inspect status, and work with data records.<ref>[http://dev.mysql.com/doc/refman/5.0/en/programs-client.html MySQL Client Programs], MySQL Reference Manual</ref><ref>[http://www.sqlmaestro.com/products/mysql/ MySQL Tools Family], SQLMaestro Group</ref><ref>[http://www.webyog.com/en/ MySQL GUI Tools], WebYog</ref><ref>[http://www.heidisql.com/ HeidiSQL], HeidiSQL MySQL GUI</ref> The official set of MySQL front-end tools, [[MySQL Workbench]] is actively developed by Oracle, and is freely available for use.<ref>[http://dev.mysql.com/downloads/workbench/ MySQL Workbench], MySQL Downloads</ref>

===Graphical===
The official [[MySQL Workbench]] is a free integrated environment developed by MySQL AB, that enables users to graphically administer MySQL databases and visually design database structures. MySQL Workbench replaces the previous package of software, [[MySQL GUI Tools]]. Similar to other third-party packages, but still considered the authoritative MySQL front end, MySQL Workbench lets users manage database design & modeling, SQL development (replacing MySQL Query Browser) and Database administration (replacing MySQL Administrator).

MySQL Workbench is available in two editions, the regular [[Free and open source software|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.

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. Some well-known front ends, in alphabetical order, are:

* [[Adminer]]&nbsp;– a free MySQL front end written in one [[PHP]] script, capable of managing multiple databases, with many [[Cascading Style Sheets|CSS]] skins available.
* [[DaDaBIK]]&nbsp;– a customizable [[Create, read, update and delete|CRUD]] front-end to MySQL. Written in PHP. Commercial.
* [[DBEdit]]&nbsp;– a free front end for MySQL and other databases.
* [[HeidiSQL]]&nbsp;– a full featured free front end that runs on [[Windows]], and can connect to local or remote MySQL servers to manage databases, tables, column structure, and individual data records. Also supports specialised GUI features for date/time fields and enumerated multiple-value fields.<ref>{{cite web | url=http://www.heidisql.com/screenshots.php?which=grideditors | title=HeidiSQL Grid editing features}}</ref>
* [[LibreOffice|LibreOffice Base]]&nbsp;- 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 MySQL or [[PostgreSQL]].<ref>{{cite web | url=http://www.libreoffice.org/features/base/ | title=LibreOffice Base | accessdate=5 January 2012}}</ref>
* [[Navicat]]&nbsp;– a series of proprietary graphical database management applications, developed for Windows, Macintosh and Linux.
* [[OpenOffice.org]]&nbsp;– [[OpenOffice.org Base]] can manage MySQL databases if the entire suite is installed. Free and open-source.
* [[phpMyAdmin]]&nbsp;– a free Web-based front end widely installed{{citation needed|date=October 2012}} by [[Web hosting service|web hosts]], since it is developed in PHP and is included in the LAMP stack, [[MAMP]], [[XAMPP]] and [[WAMP (software bundle)|WAMP]] software bundle installers.
* [[SQLBuddy]]&nbsp;- a free Web-based front end, developed in PHP.
* [[SQLyog]]&nbsp;- commercial, but there is also a free 'community' edition available.
* [[TOAD (software)|Toad for MySQL]]&nbsp;– a free development and administration front end for MySQL from [[Quest Software]]
Other available proprietary MySQL front ends include [[dbForge Studio for MySQL]], DBStudio, [[Epictetus Database Client|Epictetus]], [[Microsoft Access]], [[Oracle SQL Developer]], SchemaBank, [[SQLPro SQL Client]], [[Toad Data Modeler]].

===Command line===
MySQL ships with many [[command line]] tools, from which the main interface is 'mysql' client.<ref name="mysql — The MySQL Command-Line Tool"/><ref name="mysqladmin - the MySQL command-line tool"/> Third-parties have also developed tools to manage, optimize, monitor and backup a MySQL server, some listed below. All these tools work on *NIX type operating systems, and some of them also on Windows.

* Maatkit - a cross-platform toolkit for MySQL, [[PostgreSQL]] and [[Memcached]], developed in [[Perl]].<ref>{{cite web|author=Home |url=http://www.maatkit.org/ |title=Maatkit website |publisher=Maatkit.org |date= |accessdate=5 November 2012}}</ref> Maatkit can be used to prove replication is working correctly, fix corrupted data, automate repetitive tasks, and speed up servers. Maatkit is included with several [[Linux]] distributions such as [[CentOS]] and [[Debian]] and packages are available for [[Fedora (operating system)|Fedora]] and [[Ubuntu (operating system)|Ubuntu]] as well. As of late 2011, Maatkit is no longer developed, but [[Percona]] has continued development under the Percona Toolkit brand.<ref>[http://www.percona.com/software/percona-toolkit Percona Toolkit], Percona Software</ref>

* XtraBackup - Open Source MySQL hot backup software. Some notable features include hot, non-locking backups for InnoDB storage, incremental backups, streaming, parallel-compressed backups, throttling based on the number of IO operations per second, etc.<ref>{{cite web|url=http://www.percona.com/doc/percona-xtrabackup/index.html|title=XtraBackup|publisher=Percona|accessdate=19 January 2013}}</ref>

* MySQL::Replication - a replacement for MySQL's built-in replication, developed in [[Perl]].<ref>{{cite web|author=Home |url=https://github.com/alfie/MySQL--Replication |title=MySQL::Replication |publisher=Opera Software |date= |accessdate=11 December 2012}}</ref> MySQL::Replication can be used to create a peer-to-peer, multi-master MySQL replication network.

* [[SymmetricDS]] - asynchronous MySQL multi-master replication capable of multi-tier replication and designed for a large number of databases across low-bandwidth connections. Licensed as open source ([[GPL]]) with commercial options from [[JumpMind]].

===Programming===
MySQL works on many [[system platform]]s, including [[AIX operating system|AIX]], [[BSD/OS|BSDi]], [[FreeBSD]], [[HP-UX]], [[eComStation]], [[IBM i5/OS|i5/OS]], [[IRIX]], Linux, [[OS X]], [[Microsoft Windows]], [[NetBSD]], [[Novell NetWare]], [[OpenBSD]], [[OpenSolaris]], [[OS/2]] Warp, [[QNX]], [[Solaris (operating system)|Solaris]], [[Symbian]], [[SunOS]], [[SCO OpenServer]], SCO [[UnixWare]], [[Sanos]] and [[Tru64]]. A port of MySQL to [[OpenVMS]] also exists.<ref>{{cite web|author=Jean-François Piéronne |url= http://www.pi-net.dyndns.org/anonymous/kits/ |title=PCSI Kits of Open Source Software for OpenVMS |publisher=Pi-net.dyndns.org |date= |accessdate=8 June 2009}}</ref>

MySQL is written in [[C (programming language)|C]] and [[C++]]. Its SQL parser is written in [[yacc]], but it uses a home-brewed [[Lexical analysis|lexical analyzer]].<ref>{{cite web|url=http://dev.mysql.com/doc/internals/en/index.html |title=MySQL Internals Manual |publisher=Dev.mysql.com |date=4 March 2009 |accessdate=8 June 2009}}</ref> Many [[programming language]]s with language-specific [[application programming interface|API]]s include [[library (computing)|libraries]] for accessing MySQL databases. These include MySQL Connector/Net for integration with Microsoft's [[Visual Studio]] (languages such as [[C Sharp (programming language)|C#]] and [[Visual Basic|VB]] are most commonly used) and the JDBC driver for Java. In addition, an [[ODBC]] interface called [[MyODBC]] allows additional programming languages that support the ODBC interface to communicate with a MySQL database, such as [[Active Server Pages|ASP]] or [[Adobe ColdFusion|ColdFusion]]. The [[HTSQL]] - [[Uniform resource locator|URL]]-based query method also ships with a MySQL adapter, allowing direct interaction between a MySQL database and any web client via structured URLs.

==Features==
{{As of|2009|4}}, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercial [[MySQL Enterprise|Enterprise Server]]. MySQL 5.5 is offered under the same licences.<ref>{{cite web | url=http://www.mysql.com/products/which-edition.html | title=Which Should I Use: MySQL Enterprise or MySQL Community Server? | publisher=MySQL AB | accessdate=8 April 2009}}</ref> They have a common code base and include the following features:
* A broad subset of [[SQL:1999|ANSI SQL 99]], as well as extensions
* Cross-platform support
* [[Stored procedure]]s, using a procedural language that closely adheres to [[SQL/PSM]]<ref name="HarrisonFeuerstein2008">{{cite book|author1=Guy Harrison|author2=Steven Feuerstein|title=MySQL Stored Procedure Programming|url=http://books.google.com/books?id=YpeP0ok0cO4C&pg=PT75|year=2008|publisher=O'Reilly Media|isbn=978-0-596-10089-6|page=49}}</ref>
* [[Database trigger|Trigger]]s
* [[Cursor (databases)|Cursor]]s
* Updatable [[View (SQL)|view]]s
* [[Information schema]]
* Strict mode (ensures MySQL does not truncate or otherwise modify data to conform to an underlying data type, when an incompatible value is inserted into that type)
* [[X/Open XA]] [[distributed transaction processing]] (DTP) support; [[Two-phase-commit protocol|two phase commit]] as part of this, using Oracle's [[InnoDB]] engine
* Independent [[storage engine]]s ([[MyISAM]] for read speed, InnoDB for transactions and [[referential integrity]], [[MySQL Archive]] for storing historical data in little space)
* Transactions with the InnoDB and [[NDB Cluster]] storage engines; [[savepoint]]s with InnoDB
* [[Secure Sockets Layer|SSL]] support
* Query [[cache (computing)|caching]]
* Sub-[[Select (SQL)|SELECT]]s (i.e. nested SELECTs)
* [[Database replication|Replication]] support (i.e. Master-Master Replication & Master-Slave Replication) with one master per slave, many slaves per master.<ref>{{cite web|url=http://dev.mysql.com/doc/refman/5.6/en/replication.html|title=Replication|publisher=MySQL}}</ref> [[Multi-master replication]] is provided in [[MySQL Cluster]],<ref>{{cite web|url=http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-replication-multi-master.html|title=MySQL Cluster Replication: Multi-Master and Circular Replication|publisher=MySQL}}</ref> and multi-master support can be added to unclustered configurations using Galera Cluster.<ref>{{cite web|url=https://blogs.oracle.com/mysqlf/entry/mysql_university_mysql_galera_multi|title= MySQL University: MySQL Galera Multi-Master Replication |publisher=[[Oracle Corporation]]|date=2010-02-09}}</ref>
* Full-text [[Index (database)|indexing]] and searching using MyISAM engine
* Embedded database library
* [[Unicode]] support (however prior to 5.5.3 [[UTF-8]] and [[UTF-16/UCS-2|UCS-2]] encoded strings are limited to the [[Basic Multilingual Plane|BMP]], in 5.5.3 and later use utf8mb4 for full unicode support)
* [[atomicity, consistency, isolation, durability|ACID]] compliance when using transaction capable storage engines (InnoDB and Cluster)<ref>{{cite web | url=http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_acid | title=MySQL :: InnoDB 1.1 for MySQL 5.5 User’s Guide :: C InnoDB Glossary :: ACID | accessdate=5 January 2011}}</ref>
* Partitioned tables with pruning of partitions in optimizer
* [[Shared-nothing]] clustering through [[MySQL Cluster]]
* Hot backup (via <tt>mysqlhotcopy</tt>) under certain conditions<ref>{{cite web | title= 4.6.9. mysqlhotcopy - A Database Backup Program | url= http://dev.mysql.com/doc/refman/5.1/en/mysqlhotcopy.html | work=MySQL 5.1 Reference Manual | publisher= Oracle |accessdate=23 September 2009 | quote= mysqlhotcopy is a Perl script [...]. It uses Lock Tables, Flush Tables, and cp or scp to make a database backup quickly [...] but it can be run only on the same machine where the database directories are located. mysqlhotcopy works only for backing up MyISAM and Archive tables. It runs on Unix and NetWare.}}</ref>
* Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at [[Run time (program lifecycle phase)|run time]]):
** Native storage engines (MyISAM, [[Falcon (storage engine)|Falcon]], Merge, Memory (heap), [[MySQL Federated|Federated]], Archive, [[Comma-separated values|CSV]], Blackhole, Cluster, EXAMPLE, [[Aria (storage engine)|Aria]], and InnoDB, which was made the default as of 5.5)
** Partner-developed storage engines ([[solidDB]], [[Infobright]] (formerly Brighthouse), [[Kickfire]], [[XtraDB]], [[IBM DB2]]).<ref>{{cite web|url=http://solutions.mysql.com/engines/ibm_db2_storage_engine.html|title=The DB2 for i (IBMDB2I) Storage Engine for MySQL on IBM i |date=|publisher=MySQL|accessdate=18 January 2010}}</ref> InnoDB used to be a partner-developed storage engine, but with recent acquisitions, [[Oracle Corporation|Oracle]] now owns both MySQL core and InnoDB.
** Community-developed storage engines ([[memcache engine]], [[Web server|httpd]], PBXT, [[Revision Engine]])
** Custom storage engines
* Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second. (PostgreSQL has an advanced form of this functionality<ref>{{cite web |url=http://planet.mysql.com/entry/?id=26651| title=Group commit in PostgreSQL |accessdate=8 April 2012}}</ref>)

The developers release monthly versions of the MySQL Server. The sources can be obtained from MySQL's website or from MySQL's [[Bazaar (software)|Bazaar]] repository, both under the GPL license.

===Limitations===
Like other [[SQL#Cross-vendor portability|SQL databases]], MySQL does not currently comply with the full SQL standard for some of the implemented functionality, including foreign key references when using some storage engines other than the 'standard' InnoDB (or third-party engines which supports foreign keys).<ref>{{cite web
|url=http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html
|title=dev.mysql.com
|publisher=dev.mysql.com
|date=
|accessdate=1 February 2012}}</ref>

Triggers are currently limited to one per action / timing, i.e. maximum one after insert and one before insert on the same table.<ref name="dev.mysql.com">{{cite web
|url=http://dev.mysql.com/doc/refman/5.6/en/create-trigger.html
|title=dev.mysql.com
|publisher=dev.mysql.com
|date=
|accessdate=1 February 2012}}</ref>
There are no triggers on views.<ref name="dev.mysql.com"/>

MySQL, like most other [[Database transaction|transactional]] relational databases, is strongly limited by hard disk performance. This is especially true in terms of write latency.<ref>{{cite web|url=https://blogs.oracle.com/realneel/entry/mysql_innodb_zfs_best_practices |title=MySQL Innodb ZFS Best Practices. |publisher=Blogs.oracle.com |date= |accessdate=2013-04-16}}</ref> Given the recent appearance of very affordable consumer grade SATA interface [[Solid-state drive]]s that offer zero [[Latency (engineering)#Mechanical latency|mechanical latency]], a fivefold speedup over even an eight drive RAID array can be had for a smaller investment.<ref>{{cite web|author=11 September 2012 |url=http://www.mysqlperformanceblog.com/2012/09/11/intel-ssd-910-vs-hdd-raid-in-tpcc-mysql-benchmark/ |title=Intel SSD 910 vs HDD RAID in tpcc-mysql benchmark. |publisher=Mysqlperformanceblog.com |date=2012-09-11 |accessdate=2013-04-16}}</ref><ref>Matsunobu, Yoshinori. [http://www.slideshare.net/matsunobu/ssd-deployment-strategies-for-mysql "SSD Deployment Strategies for MySQL."] ''Sun Microsystems'', 15 April 2010.</ref>

MySQL database's inbuilt functions like UNIX_TIMESTAMP() will return 0 after 03:14:07 [[UTC]] on 19 January 2038.<ref>{{cite web|url=http://ajoeblk.blogspot.in/2012/09/year-2038-bug.html |title=aj_blk: Year 2038 Bug |publisher=Ajoeblk.blogspot.in |date= |accessdate=2013-03-12}}</ref>

===Deployment===
[[File:LAMP software bundle.svg|thumb|400px|The LAMP software bundle (here additionally with [[Squid (software)|Squid]]). A high performance and high-availability solution for a hostile environment]]

MySQL can be built and installed manually from source code, but this can be tedious so it is more commonly installed from a binary package unless special customizations are required. On most Linux distributions the [[package management system]] 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 (software bundle)|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 [[Database replication|replicated]] to multiple slaves that handle all read operations.<ref>{{cite web |title=The future of replication in MySQL |publisher=Facebook |url=http://www.facebook.com/note.php?note_id=126049465932 |accessdate=9 December 2009}}</ref> The master server synchronizes continually with its slaves so in the event of failure a slave can be promoted to become the new master, minimizing downtime. Further improvements in performance can be achieved by caching the results from database queries in memory using [[memcached]], or breaking down a database into smaller chunks called [[Shard (database architecture)|shards]] which can be spread across a number of distributed server clusters.<ref>{{cite web |title=Database Sharding|publisher=Code Futures |url= http://www.codefutures.com/dbshards-cloud/|accessdate=9 December 2009}}</ref>

==={{anchor|FABRIC|HA}}High availability===
Ensuring [[high availability]] requires a certain amount of redundancy in the system. For database systems, the redundancy traditionally takes the form of having a primary server acting as a master, and using [[Replication (computing)|replication]] to keep secondaries available to take over in case the primary fails. This means that the "server" that the application connects to is in reality a collection of servers, not a single server. In a similar manner, if the application is using a [[Shard (database architecture)|sharded]] database, it is in reality working with a collection of servers, not a single server. In this case, a collection of servers is usually referred to as a ''farm.''<ref name="fabric-mats">{{cite web
| url = http://mysqlmusings.blogspot.com/2013/09/brief-introduction-to-mysql-fabric.html
| title = A Brief Introduction to MySQL Fabric
| date = 2013-09-21 | accessdate = 2013-12-12
| author = Mats Kindahl | publisher = mysqlmusings.blogspot.com
}}</ref>

One of the projects aiming to provide high availability for MySQL is ''MySQL Fabric'', an integrated system for managing a collection of MySQL servers, and a [[Software framework|framework]] on top of which high availability and database sharding is built. MySQL Fabric is open-source and is intended to be extensible, easy to use, and to support procedure execution even in the presence of failure, providing an execution model usually called ''resilient execution.'' MySQL 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. As of September 2013, there is currently support for Fabric-aware versions of Connector/[[J Sharp|J]], Connector/[[PHP]], Connector/[[Python (programming language)|Python]], as well as some rudimentary support for [[Hibernate (Java)|Hibernate]] and [[Doctrine (PHP)|Doctrine]]. As of November 2013, MySQL Fabric is still in an early alpha development stage.<ref name="fabric-mats" /><ref>{{cite web
| url = http://www.slideshare.net/mkindahl/pluk-2013-my-sql-fabric
| title = MySQL Fabric: Easy Management of MySQL Servers
| date = 2013-11-13 | accessdate = 2013-12-12
| author1 = Mats Kindahl | author2 = Alfrano Correia | author3 = Narayanan Venkateswaran
| publisher = slideshare.net
}}</ref>

===Cloud deployment===
{{Main|Cloud database}}

MySQL can also be run on [[cloud computing]] platforms such as [[Amazon EC2]]. Listed below are some common deployment models for MySQL on the cloud:
* [[Virtual Machine]] Image - 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.<ref>{{cite web | url=http://aws.amazon.com/articles/1663 | title=Running MySQL on Amazon EC2 with EBS (Elastic Block Store) | work=[[Amazon Web Services]] | accessdate=5 February 2013}}</ref>
* 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.<ref name="readwriteweb">{{cite web | first=Klint | last=Finley | url=http://www.readwriteweb.com/cloud/2011/01/7-cloud-based-database-service.php | title=7 Cloud-Based Database Services | work=[http://www.readwriteweb.com ReadWriteWeb] | accessdate=9 November 2011}}</ref> Notable cloud-based MySQL services are the [[Amazon Relational Database Service]]; the [[Xeround|Xeround Cloud Database]], which runs on EC2; [[Rackspace]]; [[HP Converged Cloud]]; [[Heroku]] and [[Jelastic]].
* Managed MySQL cloud hosting - the database is not offered as a service, but the cloud provider hosts the database and manages it on the application owner's behalf. As of 2011, of the major cloud providers, only [[Terremark]] and Rackspace offer managed hosting for MySQL databases.<ref>{{cite web | url=http://www.rackspace.com/managed_hosting/services/database/mysql/ | title=MySQL Server Support at Rackspace | work=Rackspace.com | accessdate=10 November 2011}}
</ref><ref>{{cite web|title=Managed Hosting - Terremark|url=http://www.terremark.com/services/infrastructure-cloud-services/managed-hosting/managed-hosting-service.aspx|work=Terremark.com}}</ref>

==Community==
The MySQL server software itself and the client libraries use [[dual license|dual-licensing]] distribution. They are offered under GPL version 2,<ref>{{cite web|url=http://www.mysql.com/products/licensing/opensource-license.html |title=Oracle :: MySQL Open Source License |publisher=Mysql.com |date= |accessdate=8 June 2009}}</ref> beginning from 28 June 2000<ref>{{cite web|url=http://www.mysql.com/news/article-23.html |archiveurl=http://web.archive.org/web/20010812012244/http://www.mysql.com/news/article-23.html |archivedate=12 August 2001 |title=MySQL GOES GPL}}</ref> (which in 2009 has been extended with a [[Alternative terms for free software|FLOSS]] License Exception)<ref>{{cite web|url=http://www.mysql.com/company/legal/licensing/foss-exception.html |title=Oracle :: FLOSS License Exception |publisher=Mysql.com |date= |accessdate=8 June 2009}}</ref> or to use a proprietary license.<ref>{{cite web|url=http://www.mysql.com/company/legal/licensing/commercial-license.html |title=Oracle :: MySQL Commercial License |publisher=Mysql.com |date= |accessdate=8 June 2009}}</ref> In 2013, the Linux man pages for MySQL switched to a proprietary license<ref>{{cite web|url=https://blog.mariadb.org/mysql-man-pages-silently-relicensed-away-from-gpl/ |title=MySQL man pages silently relicensed away from GPL |publisher=MariaDB Foundation |date=18 June 2013 |accessdate=18 June 2013}}</ref> temporarily due to a build system bug. The original GPL license has since been restored.<ref>{{cite web|url= http://bugs.mysql.com/bug.php?id=69512 |title=MySQL Bugs: #69512: Wrong license in man pages in Community Server |publisher=Oracle bugtracking system |date=19 June 2013 |accessdate=25 June 2013}}</ref>

Support can be obtained from the official manual.<ref>[http://dev.mysql.com/doc/refman/5.5/en/index.html MySQL Support Manual], MySQL Developers</ref> 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, including SkySQL Ab and Percona.

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".<ref>[http://review.techworld.com/applications/346/mysql-50-open-source-database/ Review of MySQL Server 5.0], Techworld.com, November 2005</ref> It has also been tested to be a "fast, stable and true multi-user, multi-threaded sql database server".<ref>[http://community.linuxmint.com/software/view/mysql-server MySQL Server Review], LinuxMint.com</ref>

===Related projects===
* [[Drizzle (database server)|Drizzle]]&nbsp;– a fork targeted at the web-infrastructure and cloud computing markets. The developers of the product describe it as a "smaller, slimmer and (hopefully) faster version of MySQL". As a result, many common MySQL features will be stripped out, including stored procedures, query cache, prepared statements, views, and triggers. This is a partial rewrite of the server that does not maintain compatibility with MySQL.
* [[MariaDB]]&nbsp;– a community-developed fork of the MySQL database source code, the impetus being the community maintenance of its free status under GPL as opposed to any uncertainty of MySQL license status under its current ownership by Oracle. The intent also being to maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the [[XtraDB]] storage engine as a replacement for InnoDB.
* [[Percona Server]]&nbsp;– a fork of MySQL that includes the XtraDB storage engine. Its policy is to deviate as little as possible from MySQL and remain fully compatible, while providing new features, better performance, and additional instrumentation for analysis of performance and usage.<ref>{{cite web
| url = http://www.mysqlperformanceblog.com/2009/08/13/xtradb-the-top-10-enhancements/
| title = XtraDB: The Top 10 enhancements
| date = 2009-08-13 | accessdate = 2013-12-16
| author = Morgan Tocker | publisher = mysqlperformanceblog.com
}}</ref><ref>{{cite web
| url = http://www.mysqlperformanceblog.com/2010/12/21/mysql-5-5-8-and-percona-server-on-fast-flash-card-virident-tachion/
| title = MySQL 5.5.8 and Percona Server on Fast Flash card (Virident tachIOn)
| date = 2010-12-21 | accessdate = 2013-12-16
| author = Vadim Tkachenko | publisher = mysqlperformanceblog.com
}}</ref>
* OurDelta&nbsp;– No longer maintained. It was a fork compiled with various patches, including patches from MariaDB, Percona, and Google, and a storage engine called OQGRAPH.

==History==
MySQL was created by a Swedish company, MySQL AB, founded by [[David Axmark]], [[Allan Larsson]] and [[Michael (Monty) Widenius|Michael "Monty" Widenius]]. 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 [[Structured Query Language|SQL]] interface, while keeping the same [[Application programming interface|API]] as mSQL.

===Legal and acquisition impacts===
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".<ref>{{cite mailing list |url=http://no.spam.ee/~tonu/mysql/tombasil.txt |title=Eyewitness account: "Monty Widenius, International Fugitive" |date=4 September 2001 |accessdate=16 September 2012 |mailinglist=MySQL Life |last=Basil |first=Tom}}</ref><ref>{{cite web |url=http://mysql.com/news/article-75.html |title=FAQ on MySQL vs. NuSphere Dispute |date=13 July 2001 |publisher=MySQL AB |accessdate=16 September 2012 |archiveurl=http://web.archive.org/web/20010717185237/http://mysql.com/news/article-75.html |archivedate=17 July 2001}}</ref>

In 2002, MySQL AB sued Progress NuSphere for [[Copyright infringement|copyright]] and [[trademark infringement]] in [[U.S. District Court for the District of Massachusetts|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.<ref>{{cite web |url=http://www.fsf.org/press/mysql-affidavit.html|archiveurl=http://web.archive.org/web/20050207084821/http://www.fsf.org/press/mysql-affidavit.html|archivedate=2005-02-07|title=Affidavit of Eben Moglen on Progress Software vs. MySQL AB Preliminary Injunction Hearing}}</ref> After a preliminary hearing before Judge Patti Saris on 27 February 2002, the parties entered settlement talks and eventually settled.<ref>{{cite court |litigants=Progress Software Corporation v. MySQL AB |vol=195 |reporter=F. Supp. 2d |opinion=328 |court=D. Mass. |year=2002 |url=http://scholar.google.com/scholar_case?case=13584730711160488510 |accessdate=16 September 2012}}</ref> After the hearing, [[Free Software Foundation|FSF]] commented that "Judge Saris made clear that she sees the GNU GPL to be an enforceable and binding license."<ref>{{cite press release |title=Judge Saris defers GNU GPL Questions for Trial in MySQL vs. Progress Software |publisher=Free Software Foundation |date=1 March 2002 |url=http://www.gnu.org/press/2002-03-01-pi-MySQL.html |accessdate=16 September 2012}}</ref>

In October 2005, Oracle Corporation acquired [[Innobase]] OY, the [[Finland|Finnish]] company that developed the third-party InnoDB storage engine that allows MySQL to provide such functionality as transactions and [[foreign key]]s. After the acquisition, an Oracle [[News release|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.<ref>{{cite press release |title=Oracle Announces the Acquisition of Open Source Software Company, Innobase |publisher=Oracle |date=7 October 2005 |url=http://www.oracle.com/us/corporate/press/016679_EN |accessdate=16 September 2012 |archiveurl=http://web.archive.org/web/20110720225615/http://www.oracle.com/us/corporate/press/016679_EN |archivedate=20 July 2011 |deadurl=no}}</ref> During the MySQL Users Conference in April 2006, MySQL issued a press release that confirmed that MySQL and Innobase OY agreed to a "multi-year" extension of their licensing agreement.<ref>{{cite press release |title=MySQL to Promote New Open Source DB Engines from its Partners and Dev Community |publisher=MySQL AB |date=26 April 2006 |url=http://www.mysql.com/news-and-events/press-release/release_2006_21.html |accessdate=16 September 2012 |archiveurl=http://web.archive.org/web/20110623190958/http://www.mysql.com/news-and-events/generate-article.php?id=2006_21 |archivedate=23 June 2011}}</ref>

In February 2006, Oracle Corporation acquired [[Sleepycat Software]],<ref>{{cite web |url=http://www.informationweek.com/software/showArticle.jhtml?articleID=180200853 |title=Oracle Buys Sleepycat, Is JBoss Next? |last=Babcock |first=Charles |date=14 February 2006 |work=InformationWeek |publisher=CPM Media |accessdate=16 September 2012}}</ref> 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.<ref>{{cite web |url=http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html |title=Changes in MySQL 5.1.12 |date=24 October 2006 |work=MySQL 5.1 Reference Manual |publisher=MySQL AB |accessdate=16 September 2012}}</ref>

In January 2008, Sun Microsystems bought MySQL for $1 billion.<ref>{{cite press release |title=Sun Microsystems Announces Agreement to Acquire MySQL, Developer of the World's Most Popular Open Source Database |publisher=MySQL AB |date=16 January 2008 |url=http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html |archiveurl=http://web.archive.org/web/20110718044718/http://mysql.com/news-and-events/sun-to-acquire-mysql.html |archivedate=18 July 2011 |accessdate=16 September 2012 |deadurl=no}}</ref>

In April 2009, Oracle Corporation entered into an agreement to purchase Sun Microsystems,<ref>{{cite press release |title=Oracle to Buy Sun |publisher=Sun Microsystems |date=20 April 2009 |url=http://www.sun.com/aboutsun/pr/2009-04/sunflash.20090420.1.xml |accessdate=16 September 2012 |archiveurl=http://web.archive.org/web/20090422033454/http://www.sun.com/aboutsun/pr/2009-04/sunflash.20090420.1.xml |archivedate=22 April 2009}}</ref> 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.<ref>{{cite news |title=Oracle wins U.S. approval to buy Sun Microsystems |last1=Thomasch |first1=Paul |last2=Finkle |first2=Jim |date=20 August 2009 |url=http://www.reuters.com/articlebssTechMediaTelecomNews/idUSN2053486920090820 |agency=Reuters |accessdate=16 September 2012}}</ref> On 14 December 2009, Oracle pledged to continue to enhance MySQL<ref>{{cite web |url=http://news.cnet.com/8301-1001_3-10414686-92.html |title=Oracle pledges to play well with MySQL |last=Whitney |first=Lance |date=14 December 2009 |work=CNET |publisher=CBS Interactive |accessdate=16 September 2012}}</ref> as it had done for the previous four years.

A movement against Oracle's acquisition of MySQL, to "Save MySQL"<ref>{{cite web |title=Help saving MySQL |url=http://monty-says.blogspot.com/2009/12/help-saving-mysql.html |last=Michael |first=Widenius |date=12 December 2009 |work=Monty Says |publisher=Google |accessdate=16 September 2012}}</ref> from Oracle was started by one of the MySQL founders, [[Monty Widenius]]. The petition of 50,000+ developers and users called upon the European Commission to block approval of the acquisition. At the same time, several Free Software [[opinion leadership|opinion leader]]s (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.{{Citation needed|date=August 2011}} 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 commercial 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, as revealed by [[Wikileaks]], the US Department of Justice and Antitrust, at the request of Oracle, pressured the EU to unconditionally approve the merger.<ref>{{cite web |url=http://www.pcworld.com/article/239132/wikileaks_cable_offers_new_insights_into_oraclesun_deal.html |title=Wikileaks Cable Offers New Insights Into Oracle-Sun Deal |last=Kanaracus |first=Chris |date=30 August 2011 |work=PC World |publisher=IDG |accessdate=16 September 2012}}</ref> The European Commission eventually unconditionally approved Oracle's acquisition of MySQL on 21 January 2010.<ref>{{cite press release |title=Mergers: Commission clears Oracle's proposed acquisition of Sun Microsystems |publisher=European Union |date=21 January 2010 |url=http://europa.eu/rapid/pressReleasesAction.do?reference=IP/10/40 |accessdate=16 September 2012}}</ref>

In January 2009, prior to Oracle's acquisition of MySQL, Monty Widenius started a GPL-only fork, [[MariaDB]]. MariaDB is based on the same code base as MySQL server 5.1 and strives to maintain compatibility with Oracle-provided versions.<ref>{{cite web |url=http://askmonty.org/wiki/MariaDB_versus_MySQL |title=MariaDB versus MySQL - Compatibility |date=30 July 2010 |work=AskMonty Knowledgebase |publisher=Monty Program |accessdate=16 September 2012}}</ref>

In August 2012, TechCrunch's Alex Williams reported that Oracle was holding back MySQL Server test cases, a move that he concluded indicated that Oracle is attempting to kill the product.<ref>{{cite web |url=http://techcrunch.com/2012/08/18/oracle-makes-more-moves-to-kill-open-source-mysql/ |title=Oracle Makes More Moves To Kill Open Source MySQL |last=Williams |first=Alex |date=18 August 2012 |work=TechCrunch |publisher=AOL |accessdate=16 October 2012}}</ref> Percona also reported that Oracle is no longer synchronizing their changes with the public source repositories.<ref>{{cite web |url=http://www.mysqlperformanceblog.com/2012/08/16/where-to-get-a-bzr-tree-of-the-latest-mysql-releases/ |title=Where to get a BZR tree of the latest MySQL releases |last=Smith |first=Stewart |date=16 August 2012 |work=MySQL Performance Blog |publisher=Percona |accessdate=16 October 2012}}</ref> Widenius called this a breach of the agreement that Oracle entered into with the EU as a condition of their acquisition of Sun.<ref>{{cite web|last=Clarke |first=Gavin |url=http://www.theregister.co.uk/2012/11/29/monty_oracle_eu_promises/ |title=Monty on broken MySQL promises: Oracle's going to fork it up. |publisher=Theregister.co.uk |date=2012-11-29 |accessdate=2013-04-16}}</ref>

Since the final quarter of 2012, several Linux distributions and some important users (like Wikipedia<ref>[https://blog.wikimedia.org/2013/04/22/wikipedia-adopts-mariadb/ Wikipedia Adopts MariaDB]</ref> and Google<ref>http://www.theregister.co.uk/2013/09/12/google_mariadb_mysql_migration/</ref>) started to replace MySQL with MariaDB.<ref>[http://www.itwire.com/opinion-and-analysis/open-sauce/58571-monty-has-last-laugh-as-distros-abandon-mysql Monty has last laugh as distros abandon MySQL]</ref><ref>[http://monty-says.blogspot.it/2013/02/mariadb-living-in-interesting-times.html MariaDB living in interesting times]</ref><ref>[https://kb.askmonty.org/en/distributions-which-include-mariadb/ Distributions Which Include MariaDB]</ref>

===Milestones===
Notable milestones in MySQL development include:

* Original development of MySQL by [[Michael Widenius]] and [[David Axmark]] beginning in 1994<ref>{{cite web|url=http://www.opensourcereleasefeed.com/interview/show/five-questions-with-michael-widenius-founder-and-original-developer-of-mysql |archiveurl=http://web.archive.org/web/20090313160628/http://www.opensourcereleasefeed.com/interview/show/five-questions-with-michael-widenius-founder-and-original-developer-of-mysql |archivedate=2009-03-13 |title=Five Questions With Michael Widenius - Founder And Original Developer of MySQL |publisher=www.opensourcereleasefeed.com |date= |accessdate=13 October 2012}}</ref>
* 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<ref>{{cite web|url=http://www.mysql.com/news/article-54.html |archiveurl=http://web.archive.org/web/20010815175526/http://www.mysql.com/news/article-54.html |archivedate=15 August 2001 |title=MySQL 3.23 Declared Stable}}</ref>
* Version 4.0: beta from August 2002, production release March 2003 ([[Set operations (SQL)|unions]])
* Version 4.01: beta from August 2003, Jyoti{{clarify|date=January 2012}}{{citation needed|date=April 2012}} adopts MySQL for database tracking
* Version 4.1: beta from June 2004, production release October 2004 ([[R-tree]]s and [[B-tree]]s, subqueries, prepared statements)
* Version 5.0: beta from March 2005, production release October 2005 (cursors, stored procedures, triggers, views, [[Database transaction|XA transactions]])

:The developer of the Federated Storage Engine states that "The Federated Storage Engine is a [[proof of concept|proof-of-concept]] storage engine",<ref>{{cite web|url=http://capttofu.livejournal.com/5798.html |title=Capttofu: FederatedX Pluggable Storage Engine Released! |publisher=Capttofu.livejournal.com |date= |accessdate=3 April 2009}}</ref> 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".<ref>{{cite web|url=http://www.oreillynet.com/pub/a/databases/2006/08/10/mysql-federated-tables.html |title=Oreillynet.com |publisher=Oreillynet.com |date=9 October 2008 |accessdate=1 February 2012}}</ref>
* [[Sun Microsystems]] acquired [[MySQL AB]] in 2008.<ref>{{cite web|url=http://techcrunch.com/2008/01/16/sun-picks-up-mysql-for-1-billion-open-source-is-a-legitimate-business-model/ |title=Sun Picks Up MySQL For $1 Billion; Open Source Is A Legitimate Business Model |date= |accessdate=13 October 2012}}</ref>
* Version 5.1: production release 27 November 2008 (event scheduler, [[Partition (database)|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)''.<ref>{{cite web|url=http://www.planetmysql.org/entry.php?id=16232 |title=Archives - Oops, we did it again (MySQL 5.1 released as GA with crashing bugs) |publisher=Planet MySQL |date=29 November 2008 |accessdate=5 February 2013}}</ref>
:MySQL 5.1 and 6.0 showed poor performance when used for [[data warehousing]]&nbsp;— partly due to its inability to utilize multiple CPU cores for processing a single query.<ref>{{cite web|url=http://www.mysqlperformanceblog.com/2008/04/10/tpc-h-run-on-mysql-51-and-60/ |title=TPC-H Run on MySQL 5.1 and 6.0 &#124; MySQL Performance Blog |publisher=MySQL Performance Blog |date= |accessdate=8 June 2009}}</ref>
* Oracle acquired Sun Microsystems on 27 January 2010.<ref>{{cite web|url=http://www.oracle.com/us/sun/index.htm |title=Oracle.com |publisher=Oracle.com |date=7 September 2010 |accessdate=1 February 2012}}</ref>
*MySQL Server 5.5 is currently generally available ({{as of|2010|12|lc=on}}). Enhancements and features include:
** The default storage engine is InnoDB, which supports transactions and referential integrity constraints.
** Improved InnoDB I/O subsystem<ref>{{cite web|url=http://dev.mysql.com/doc/refman/5.5/en/innodb-io-changes.html |title=dev.mysql.com |publisher=dev.mysql.com |date= |accessdate=1 February 2012}}</ref>
** Improved [[Symmetric multiprocessing|SMP]] support<ref>{{cite web|url=http://dev.mysql.com/doc/refman/5.5/en/smp-improvements.html |title=dev.mysql.com |publisher=dev.mysql.com |date= |accessdate=1 February 2012}}</ref>
** 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<ref>{{cite web|url=http://lists.mysql.com/packagers/418 |title=MySQL Lists: packagers: MySQL 6.0.11 Alpha has been released! |publisher=Lists.mysql.com |date= |accessdate=1 February 2012}}</ref> 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.

MySQL 5.6, a development milestone release, was announced at the MySQL users conference 2011. New features include performance improvements to the [[query optimizer]], higher transactional throughput in InnoDB, new [[NoSQL (concept)|NoSQL]]-style memcached APIs, improvements to partitioning for querying and managing very large tables, improvements to replication and better performance monitoring by expanding the data available through the PERFORMANCE_SCHEMA.<ref>{{cite web|url=http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html|title=What's New in MySQL 5.6|publisher=MySQL Developer Zone|accessdate=21 April 2011}}</ref> In July further previews with a BINLOG API, group commit, and InnoDB full text searching were released.

===Versions===
<timeline>
Define $now = 01/07/2013
Define $begindate = 01/01/1999
Define $width = 700
Define $warning = 380 # $width - 120
Define $height = 750
ImageSize = width:$width height:$height
PlotArea = left:40 right:10 bottom:100 top:20
DateFormat = dd/mm/yyyy
Period = from:$begindate till:$now
TimeAxis = orientation:ver
Alignbars = early
Legend = orientation:vertical position:bottom columns:1

##################################################
# Color definitions #
##################################################
Colors =
id:col5.1 value:rgb(0.4,0.6,1) Legend:Active_Development
id:col5.0 value:rgb(1,0.6,0.4) Legend:NO_Active_Development
id:col2.0-l1 value:black
id:col2.0-l2 value:gray(0.98)
id:colbg value:gray(0.98)
id:colgrmaj value:gray(0.5)
id:colgrmin value:gray(0.8)
id:lighttext value:rgb(0.5,0.5,0.5)

ScaleMajor = gridcolor:colgrmaj unit:year increment:1 start:$begindate
ScaleMinor = gridcolor:colgrmin unit:month increment:3 start:$begindate
BackgroundColors = canvas:colbg

PlotData=
##################################################
# 3.23 filled bar #
##################################################
bar:3.23 width:40 from:05/07/1999 till:11/09/2003 color:col5.0 mark:(line,col5.0)

##################################################
# 3.23 line for all other versions #
##################################################
bar:3.23 mark:(line,col2.0-l2)
at: 08/07/1999 shift:(0,-15) # 3.23.1
at: 09/08/1999 shift:(0,-15) # 3.23.2
at: 13/09/1999 shift:(0,-15) # 3.23.3
at: 28/09/1999 shift:(0,-15) # 3.23.4
at: 20/10/1999 shift:(0,-15) # 3.23.5
at: 15/12/1999 shift:(0,-15) # 3.23.6
at: 10/12/1999 shift:(0,-15) # 3.23.7
at: 02/01/2000 shift:(0,-15) # 3.23.8
at: 29/01/2000 shift:(0,-15) # 3.23.9
at: 30/01/2000 shift:(0,-15) # 3.23.10
at: 16/02/2000 shift:(0,-15) # 3.23.11
at: 07/03/2000 shift:(0,-15) # 3.23.12
at: 14/03/2000 shift:(0,-15) # 3.23.13
at: 09/04/2000 shift:(0,-15) # 3.23.14
at: 08/05/2000 shift:(0,-15) # 3.23.15
at: 16/05/2000 shift:(0,-15) # 3.23.16
at: 07/06/2000 shift:(0,-15) # 3.23.16
at: 11/06/2000 shift:(0,-15) # 3.23.17
at: 11/07/2000 shift:(0,-15) # 3.23.18
at: 04/07/2000 shift:(0,-15) # 3.23.21
at: 31/07/2000 shift:(0,-15) # 3.23.22
at: 01/09/2000 shift:(0,-15) # 3.23.23
at: 08/09/2000 shift:(0,-15) # 3.23.24
at: 29/09/2000 shift:(0,-15) # 3.23.25
at: 18/10/2000 shift:(0,-15) # 3.23.26
at: 24/10/2000 shift:(0,-15) # 3.23.27
at: 06/12/2000 shift:(0,-15) # 3.23.29
at: 04/01/2001 shift:(0,-15) # 3.23.30
at: 22/01/2001 shift:(0,-15) # 3.23.32
at: 09/02/2001 shift:(0,-15) # 3.23.33
at: 10/03/2001 shift:(0,-15) # 3.23.34
at: 11/03/2001 shift:(0,-15) # 3.23.34a
at: 15/03/2001 shift:(0,-15) # 3.23.35
at: 27/03/2001 shift:(0,-15) # 3.23.36
at: 17/04/2001 shift:(0,-15) # 3.23.37
at: 09/05/2001 shift:(0,-15) # 3.23.38
at: 12/06/2001 shift:(0,-15) # 3.23.39
at: 18/07/2001 shift:(0,-15) # 3.23.40
at: 11/08/2001 shift:(0,-15) # 3.23.41
at: 08/09/2001 shift:(0,-15) # 3.23.42
at: 04/10/2001 shift:(0,-15) # 3.23.43
at: 31/10/2001 shift:(0,-15) # 3.23.44
at: 22/11/2001 shift:(0,-15) # 3.23.45
at: 29/11/2001 shift:(0,-15) # 3.23.46
at: 27/12/2001 shift:(0,-15) # 3.23.47
at: 14/02/2002 shift:(0,-15) # 3.23.49
at: 21/04/2002 shift:(0,-15) # 3.23.50
at: 31/05/2002 shift:(0,-15) # 3.23.51
at: 14/08/2002 shift:(0,-15) # 3.23.52
at: 09/10/2002 shift:(0,-15) # 3.23.53
at: 05/12/2002 shift:(0,-15) # 3.23.54
at: 23/01/2003 shift:(0,-15) # 3.23.55
at: 13/03/2003 shift:(0,-15) # 3.23.56
at: 06/06/2003 shift:(0,-15) # 3.23.57

##################################################
# 3.23 line & text for first version every year #
##################################################
bar:3.23 mark:(line,col2.0-l1) align:center fontsize:S textcolor:red
at: 05/07/1999 text:"3.23.0 Alfa" shift:(50,-3)
at: 28/06/2000 shift:(54,-3) text:"3.23.20 Beta"
at: 22/11/2000 shift:(51,-8) text:"3.23.28 RC"
at: 17/01/2001 shift:(54,1) text:"3.23.31 FCS"
at: 07/02/2002 shift:(42,-3) text:"3.23.48"
at: 11/09/2003 text:"3.23.58" shift:(0,5)

##################################################
# 4.0 filled bar #
##################################################
bar:4.0 width:40 from:01/10/2001 till:12/02/2007 color:col5.0 mark:(line,col5.0)

##################################################
# 4.0 line for all other versions #
##################################################
bar:4.0 mark:(line,col2.0-l2)
at: 23/12/2001 shift:(0,-15) # 4.0.1
at: 01/07/2002 shift:(0,-15) # 4.0.2
at: 29/09/2002 shift:(0,-15) # 4.0.4
at: 13/11/2002 shift:(0,-15) # 4.0.5
at: 20/12/2002 shift:(0,-15) # 4.0.7
at: 07/01/2003 shift:(0,-15) # 4.0.8
at: 09/01/2003 shift:(0,-15) # 4.0.9
at: 29/01/2003 shift:(0,-15) # 4.0.10
at: 20/02/2003 shift:(0,-15) # 4.0.11
at: 16/05/2003 shift:(0,-15) # 4.0.13
at: 18/07/2003 shift:(0,-15) # 4.0.14
at: 03/09/2003 shift:(0,-15) # 4.0.15
at: 17/10/2003 shift:(0,-15) # 4.0.16
at: 14/12/2003 shift:(0,-15) # 4.0.18
at: 04/05/2004 shift:(0,-15) # 4.0.19
at: 17/05/2004 shift:(0,-15) # 4.0.20
at: 06/09/2004 shift:(0,-15) # 4.0.21
at: 27/10/2004 shift:(0,-15) # 4.0.22
at: 18/12/2004 shift:(0,-15) # 4.0.23
at: 05/07/2005 shift:(0,-15) # 4.0.25
at: 08/09/2005 shift:(0,-15) # 4.0.26
at: 06/05/2006 shift:(0,-15) # 4.0.27

##################################################
# 4.0 line & text for first version every year #
##################################################
bar:4.0 mark:(line,col2.0-l1) align:center fontsize:S textcolor:red
at: 01/10/2001 text:"4.0.0 Alfa" shift:(46,-3)
at: 26/08/2002 shift:(48,-3) text:"4.0.3 Beta"
at: 14/12/2002 shift:(45,-3) text:"4.0.6 RC"
at: 15/03/2003 shift:(51,-2) text:"4.0.12 FCS"
at: 12/02/2004 shift:(40,-3) text:"4.0.18"
at: 04/03/2005 shift:(40,-3) text:"4.0.24"
at: 12/02/2007 text:"4.0.30" shift:(0,5)

##################################################
# 4.1 filled bar #
##################################################
bar:4.1 width:40 from:03/04/2003 till:01/12/2008 color:col5.0 mark:(line,col5.0)

##################################################
# 4.1 line for all other versions #
##################################################
bar:4.1 mark:(line,col2.0-l2)
at: 01/12/2003 shift:(0,-15) # 4.1.1
at: 28/05/2004 shift:(0,-15) # 4.1.2
at: 16/09/2004 shift:(0,-15) # 4.1.5
at: 10/10/2004 shift:(0,-15) # 4.1.6
at: 14/12/2004 shift:(0,-15) # 4.1.8
at: 12/02/2005 shift:(0,-15) # 4.1.10
at: 01/04/2005 shift:(0,-15) # 4.1.11
at: 13/05/2005 shift:(0,-15) # 4.1.12
at: 15/07/2005 shift:(0,-15) # 4.1.13
at: 17/08/2005 shift:(0,-15) # 4.1.14
at: 13/10/2005 shift:(0,-15) # 4.1.15
at: 29/11/2005 shift:(0,-15) # 4.1.16
at: 29/04/2006 shift:(0,-15) # 4.1.19
at: 24/05/2006 shift:(0,-15) # 4.1.20
at: 19/07/2006 shift:(0,-15) # 4.1.21
at: 02/11/2006 shift:(0,-15) # 4.1.22

##################################################
# 4.1 line & text for first version every year #
##################################################
bar:4.1 mark:(line,col2.0-l1) align:center fontsize:S textcolor:red
at: 03/04/2003 text:"4.1.0 Alfa" shift:(46,-3)
at: 28/06/2004 shift:(48,-8) text:"4.1.3 Beta"
at: 26/08/2004 shift:(45,-4) text:"4.1.4 RC"
at: 23/10/2004 shift:(48,-2) text:"4.1.7 FCS"
at: 11/01/2005 shift:(37,1) text:"4.1.9"
at: 27/01/2006 shift:(40,-3) text:"4.1.18"
at: 12/06/2007 shift:(40,-3) text:"4.1.23"
at: 01/03/2008 shift:(40,-3) text:"4.1.24"
at: 01/12/2008 text:"4.1.25" shift:(0,5)

##################################################
# 5.0 filled bar #
##################################################
bar:5.0 width:40 from:22/12/2003 till:21/03/2012 color:col5.0 mark:(line,col5.0)

##################################################
# 5.0 line for all other versions #
##################################################
bar:5.0 mark:(line,col2.0-l2)
at: 01/12/2004 shift:(0,-15) # 5.0.2
at: 16/04/2005 shift:(0,-15) # 5.0.4
at: 26/05/2005 shift:(0,-15) # 5.0.6
at: 10/06/2005 shift:(0,-15) # 5.0.7
at: 05/07/2005 shift:(0,-15) # 5.0.9
at: 27/07/2005 shift:(0,-15) # 5.0.10
at: 06/08/2005 shift:(0,-15) # 5.0.11
at: 02/09/2005 shift:(0,-15) # 5.0.12
at: 10/11/2005 shift:(0,-15) # 5.0.16
at: 14/12/2005 shift:(0,-15) # 5.0.17
at: 21/12/2005 shift:(0,-15) # 5.0.18
at: 31/03/2006 shift:(0,-15) # 5.0.20
at: 18/04/2006 shift:(0,-15) # 5.0.20a
at: 02/05/2006 shift:(0,-15) # 5.0.21
at: 24/05/2006 shift:(0,-15) # 5.0.22
at: 27/07/2006 shift:(0,-15) # 5.0.24
at: 25/08/2006 shift:(0,-15) # 5.0.24a
at: 12/09/2006 shift:(0,-15) # 5.0.25
at: 03/10/2006 shift:(0,-15) # 5.0.26
at: 21/10/2006 shift:(0,-15) # 5.0.27
at: 24/10/2006 shift:(0,-15) # 5.0.28
at: 14/11/2006 shift:(0,-15) # 5.0.30
at: 20/12/2006 shift:(0,-15) # 5.0.32
at: 09/01/2007 shift:(0,-15) # 5.0.33
at: 17/01/2007 shift:(0,-15) # 5.0.34
at: 20/02/2007 shift:(0,-15) # 5.0.36
at: 12/04/2007 shift:(0,-15) # 5.0.36sp1
at: 27/02/2007 shift:(0,-15) # 5.0.37
at: 20/03/2007 shift:(0,-15) # 5.0.38
at: 17/04/2007 shift:(0,-15) # 5.0.40
at: 01/05/2007 shift:(0,-15) # 5.0.41
at: 23/05/2007 shift:(0,-15) # 5.0.42
at: 21/06/2007 shift:(0,-15) # 5.0.44
at: 01/08/2007 shift:(0,-15) # 5.0.44a
at: 04/07/2007 shift:(0,-15) # 5.0.45
at: 13/07/2007 shift:(0,-15) # 5.0.46
at: 27/08/2007 shift:(0,-15) # 5.0.48
at: 19/10/2007 shift:(0,-15) # 5.0.50
at: 12/12/2007 shift:(0,-15) # 5.0.50sp1
at: 15/11/2007 shift:(0,-15) # 5.0.51
at: 11/01/2008 shift:(0,-15) # 5.0.51a
at: 24/04/2008 shift:(0,-15) # 5.0.51b
at: 30/11/2007 shift:(0,-15) # 5.0.52
at: 14/12/2007 shift:(0,-15) # 5.0.54
at: 11/01/2008 shift:(0,-15) # 5.0.54a
at: 06/02/2008 shift:(0,-15) # 5.0.56
at: 30/03/2008 shift:(0,-15) # 5.0.56sp1
at: 28/04/2008 shift:(0,-15) # 5.0.60
at: 27/06/2008 shift:(0,-15) # 5.0.60sp1
at: 12/05/2008 shift:(0,-15) # 5.0.62
at: 10/06/2008 shift:(0,-15) # 5.0.64
at: 09/07/2008 shift:(0,-15) # 5.0.66
at: 16/07/2008 shift:(0,-15) # 5.0.66a
at: 23/10/2008 shift:(0,-15) # 5.0.66sp1
at: 04/08/2008 shift:(0,-15) # 5.0.67
at: 13/08/2008 shift:(0,-15) # 5.0.68
at: 27/09/2008 shift:(0,-15) # 5.0.70
at: 24/10/2008 shift:(0,-15) # 5.0.72
at: 13/01/2009 shift:(0,-15) # 5.0.72sp1
at: 03/12/2008 shift:(0,-15) # 5.0.74
at: 30/04/2009 shift:(0,-15) # 5.0.74sp1
at: 17/12/2008 shift:(0,-15) # 5.0.75
at: 28/01/2009 shift:(0,-15) # 5.0.77
at: 06/02/2009 shift:(0,-15) # 5.0.78
at: 09/03/2009 shift:(0,-15) # 5.0.79
at: 01/05/2009 shift:(0,-15) # 5.0.80
at: 01/05/2009 shift:(0,-15) # 5.0.81
at: 20/05/2009 shift:(0,-15) # 5.0.82
at: 21/07/2009 shift:(0,-15) # 5.0.82sp1
at: 29/05/2009 shift:(0,-15) # 5.0.83
at: 07/07/2009 shift:(0,-15) # 5.0.84
at: 30/09/2009 shift:(0,-15) # 5.0.84sp1
at: 11/08/2009 shift:(0,-15) # 5.0.85
at: 09/09/2009 shift:(0,-15) # 5.0.86
at: 15/10/2009 shift:(0,-15) # 5.0.87
at: 03/02/2010 shift:(0,-15) # 5.0.87sp1
at: 04/11/2009 shift:(0,-15) # 5.0.88
at: 02/12/2009 shift:(0,-15) # 5.0.89
at: 05/05/2010 shift:(0,-15) # 5.0.91
at: 05/05/2011 shift:(0,-15) # 5.0.93
at: 05/07/2011 shift:(0,-15) # 5.0.94

##################################################
# 5.0 line & text for first version every year #
##################################################
bar:5.0 mark:(line,col2.0-l1) align:center fontsize:S textcolor:red
at: 22/12/2003 text:"5.0.0 Alfa" shift:(46,-3)
at: 27/07/2004 shift:(36,-3) text:"5.0.1"
at: 23/03/2005 shift:(48,-3) text:"5.0.3 Beta"
at: 22/09/2005 shift:(48,-8) text:"5.0.13 RC"
at: 19/10/2005 shift:(51,1) text:"5.0.15 FCS"
at: 04/03/2006 shift:(40,-3) text:"5.0.19"
at: 19/01/2007 shift:(50,-3) text:"5.0.30sp1"
at: 11/01/2008 shift:(52,-3) text:"5.0.50sp1a"
at: 05/01/2009 shift:(40,-3) text:"5.0.76"
at: 15/01/2010 shift:(40,-3) text:"5.0.90"
at: 07/02/2011 shift:(40,-3) text:"5.0.92"
at: 10/01/2012 shift:(40,-3) text:"5.0.95"
at: 21/03/2012 shift:(0,5) text:"5.0.96"

##################################################
# 5.1 filled bar #
##################################################
bar:5.1 width:40 from:25/11/2005 till:$now color:col5.1 mark:(line,col5.1)

##################################################
# 5.1 line for all other versions #
##################################################
bar:5.1 mark:(line,col2.0-l2)
at: 29/11/2005 shift:(0,-15) # 5.1.3
at: 21/12/2005 shift:(0,-15) # 5.1.4
at: 10/01/2006 shift:(0,-15) # 5.1.5
at: 01/02/2006 shift:(0,-15) # 5.1.6
at: 27/02/2006 shift:(0,-15) # 5.1.7
at: 12/04/2006 shift:(0,-15) # 5.1.9
at: 25/05/2006 shift:(0,-15) # 5.1.11
at: 24/10/2006 shift:(0,-15) # 5.1.12
at: 05/12/2006 shift:(0,-15) # 5.1.14
at: 25/01/2007 shift:(0,-15) # 5.1.15
at: 26/02/2007 shift:(0,-15) # 5.1.16
at: 04/04/2007 shift:(0,-15) # 5.1.17
at: 08/05/2007 shift:(0,-15) # 5.1.18
at: 25/05/2007 shift:(0,-15) # 5.1.19
at: 25/06/2007 shift:(0,-15) # 5.1.20
at: 16/08/2007 shift:(0,-15) # 5.1.21
at: 29/01/2008 shift:(0,-15) # 5.1.23
at: 08/04/2008 shift:(0,-15) # 5.1.24
at: 28/05/2008 shift:(0,-15) # 5.1.25
at: 30/06/2008 shift:(0,-15) # 5.1.26
at: 28/08/2008 shift:(0,-15) # 5.1.28
at: 11/10/2008 shift:(0,-15) # 5.1.29
at: 19/03/2009 shift:(0,-15) # 5.1.31sp1
at: 12/02/2009 shift:(0,-15) # 5.1.32
at: 13/03/2009 shift:(0,-15) # 5.1.33
at: 02/04/2009 shift:(0,-15) # 5.1.34
at: 25/06/2009 shift:(0,-15) # 5.1.34sp1
at: 13/05/2009 shift:(0,-15) # 5.1.35
at: 16/06/2009 shift:(0,-15) # 5.1.36
at: 13/07/2009 shift:(0,-15) # 5.1.37
at: 10/10/2009 shift:(0,-15) # 5.1.37sp1
at: 01/09/2009 shift:(0,-15) # 5.1.38
at: 04/09/2009 shift:(0,-15) # 5.1.39
at: 06/10/2009 shift:(0,-15) # 5.1.40
at: 25/11/2009 shift:(0,-15) # 5.1.40sp1
at: 05/11/2009 shift:(0,-15) # 5.1.41
at: 15/12/2009 shift:(0,-15) # 5.1.42
at: 15/01/2010 shift:(0,-15) # 5.1.43
at: 25/03/2010 shift:(0,-15) # 5.1.43sp1
at: 04/02/2010 shift:(0,-15) # 5.1.44
at: 01/03/2010 shift:(0,-15) # 5.1.45
at: 06/04/2010 shift:(0,-15) # 5.1.46
at: 23/06/2010 shift:(0,-15) # 5.1.46sp1
at: 06/05/2010 shift:(0,-15) # 5.1.47
at: 02/06/2010 shift:(0,-15) # 5.1.48
at: 09/07/2010 shift:(0,-15) # 5.1.49
at: 28/09/2010 shift:(0,-15) # 5.1.49sp1
at: 03/08/2010 shift:(0,-15) # 5.1.50
at: 10/09/2010 shift:(0,-15) # 5.1.51
at: 11/10/2010 shift:(0,-15) # 5.1.52
at: 21/02/2011 shift:(0,-15) # 5.1.52sp1
at: 03/11/2010 shift:(0,-15) # 5.1.53
at: 26/11/2010 shift:(0,-15) # 5.1.54
at: 01/03/2011 shift:(0,-15) # 5.1.56
at: 05/05/2011 shift:(0,-15) # 5.1.57
at: 05/07/2011 shift:(0,-15) # 5.1.58
at: 15/09/2011 shift:(0,-15) # 5.1.59
at: 16/11/2011 shift:(0,-15) # 5.1.60
at: 10/01/2012 shift:(0,-15) # 5.1.61
at: 21/03/2012 shift:(0,-15) # 5.1.62
at: 07/05/2012 shift:(0,-15) # 5.1.63
at: 09/08/2012 shift:(0,-15) # 5.1.65
at: 28/09/2012 shift:(0,-15) # 5.1.66
at: 03/06/2013 shift:(0,-15) # 5.1.70

##################################################
# 5.1 line & text for first version every year #
##################################################
bar:5.1 mark:(line,col2.0-l1) align:center fontsize:S textcolor:blue
at: 25/11/2005 text:"5.1.3" shift:(36,-8)
at: 10/01/2006 text:"5.1.5" shift:(36,1)
at: 25/01/2007 text:"5.1.15" shift:(40,-3)
at: 24/09/2007 text:"5.1.22 RC" shift:(49,-3)
at: 29/01/2008 text:"5.1.23" shift:(40,-3)
at: 14/11/2008 text:"5.1.30 GA" shift:(49,-5)
at: 19/01/2009 text:"5.1.31" shift:(40,0)
at: 15/01/2010 text:"5.1.43" shift:(40,-3)
at: 07/02/2011 text:"5.1.55" shift:(40,-3)
at: 10/01/2012 text:"5.1.61" shift:(40,-3)
at: 05/02/2013 text:"5.1.68" shift:(40,-3)

##################################################
# 5.5 filled bar #
##################################################
bar:5.5 width:40 from:07/12/2009 till:$now color:col5.1 mark:(line,col5.1)

##################################################
# 5.5 line for all other versions #
##################################################
bar:5.5 mark:(line,col2.0-l2)
at: 04/01/2010 shift:(0,-15) # 5.5.1
at: 12/02/2010 shift:(0,-15) # 5.5.2
at: 24/03/2010 shift:(0,-15) # 5.5.3
at: 09/04/2010 shift:(0,-15) # 5.5.4
at: 06/07/2010 shift:(0,-15) # 5.5.5
at: 13/09/2010 shift:(0,-15) # 5.5.6
at: 14/10/2010 shift:(0,-15) # 5.5.7
at: 12/03/2010 shift:(0,-15) # 5.5.8
at: 07/02/2011 shift:(0,-15) # 5.5.9
at: 15/03/2011 shift:(0,-15) # 5.5.10
at: 07/04/2011 shift:(0,-15) # 5.5.11
at: 05/05/2011 shift:(0,-15) # 5.5.12
at: 31/05/2011 shift:(0,-15) # 5.5.13
at: 05/07/2011 shift:(0,-15) # 5.5.14
at: 28/07/2011 shift:(0,-15) # 5.5.15
at: 15/09/2011 shift:(0,-15) # 5.5.16
at: 19/10/2011 shift:(0,-15) # 5.5.17
at: 16/11/2011 shift:(0,-15) # 5.5.18
at: 08/12/2011 shift:(0,-15) # 5.5.19
at: 10/01/2012 shift:(0,-15) # 5.5.20
at: 17/02/2012 shift:(0,-15) # 5.5.21
at: 21/03/2012 shift:(0,-15) # 5.5.22
at: 12/04/2012 shift:(0,-15) # 5.5.23
at: 07/05/2012 shift:(0,-15) # 5.5.24
at: 30/05/2012 shift:(0,-15) # 5.5.25
at: 05/07/2012 shift:(0,-15) # 5.5.25a
at: 02/08/2012 shift:(0,-15) # 5.5.27
at: 28/09/2012 shift:(0,-15) # 5.5.28
at: 03/06/2013 shift:(0,-15) # 5.5.32

##################################################
# 5.5 line & text for first version every year #
##################################################
bar:5.5 mark:(line,col2.0-l1) align:center fontsize:S textcolor:blue
at: 07/12/2009 text:"5.5.0 M2" shift:(45,-3)
at: 24/03/2010 text:"5.5.3 M3" shift:(45,-3)
at: 13/09/2010 text:"5.5.6 RC" shift:(45,-3)
at: 03/12/2010 text:"5.5.8 GA" shift:(45,-3)
at: 07/02/2011 text:"5.5.9" shift:(36,0)
at: 10/01/2012 text:"5.5.20" shift:(40,-3)
at: 05/02/2013 text:"5.5.30" shift:(40,-3)

##################################################
# 5.6 filled bar #
##################################################
bar:5.6 width:40 from:11/04/2011 till:$now color:col5.1 mark:(line,col5.1)

##################################################
# 5.6 line for all other versions #
##################################################
bar:5.6 mark:(line,col2.0-l2)
at: 11/04/2011 shift:(0,-15) # 5.6.2
at: 03/10/2011 shift:(0,-15) # 5.6.3
at: 20/12/2011 shift:(0,-15) # 5.6.4
at: 10/04/2012 shift:(0,-15) # 5.6.5
at: 07/08/2012 shift:(0,-15) # 5.6.6
at: 29/09/2012 shift:(0,-15) # 5.6.7
at: 07/11/2012 shift:(0,-15) # 5.6.8
at: 11/12/2012 shift:(0,-15) # 5.6.9
at: 05/04/2013 shift:(0,-15) # 5.6.11
at: 03/06/2013 shift:(0,-15) # 5.6.12

##################################################
# 5.6 line & text for first version every year #
##################################################
bar:5.6 mark:(line,col2.0-l1) align:center fontsize:S textcolor:blue
at: 11/04/2011 text:"5.6.2 M5" shift:(45,-3)
at: 04/10/2012 text:"5.6.5 M8" shift:(45,-3)
at: 05/02/2013 text:"5.6.10 GA" shift:(48,-3)

</timeline>
<ref>
{{cite web
| url = http://dev.mysql.com/doc/refman/4.1/en/news-3-23-x.html
| title = B.3. Changes in Release 3.23.x (Lifecycle Support Ended)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref><ref>{{cite web
| url = http://dev.mysql.com/doc/refman/4.1/en/news-4-0-x.html
| title =B.2. Changes in Release 4.0.x (Lifecycle Support Ended)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref><ref>{{cite web
| url = http://dev.mysql.com/doc/refman/4.1/en/news-4-1-x.html
| title = B.1. Changes in Release 4.1.x (Lifecycle Support Ended)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref><ref>{{cite web
| url = http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html#news-5-0-x
| title = C.1. Changes in Release 5.0.x (Lifecycle Support Ended)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref><ref>{{cite web
| url = http://dev.mysql.com/doc/refman/5.1/en/news-5-1-x.html#news-5-1-x
| title = C.1. Changes in Release 5.1.x (Production)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref><ref>{{cite web
| url = http://dev.mysql.com/doc/refman/5.5/en/news-5-5-x.html#news-5-5-x
| title = C.1. Changes in Release 5.5.x (Production)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref><ref>{{cite web
| url = http://dev.mysql.com/doc/refman/5.6/en/news-5-6-x.html#news-5-6-x
| title = C.1. Changes in Release 5.6.x (Development)
| publisher = Oracle
| accessdate =24 August 2010}}
</ref>

==See also==
{{Portal|Free software}}
*[[SQLyog]]
*[[Navicat]]
*[[phpMyAdmin]]
*[[Comparison of database tools]]
*[[Comparison of MySQL database engines]]
*[[Comparison of relational database management systems]]
*[[Firebird (database server)]]
*[[HSQLDB]] (used by [[LibreOffice]] and OpenOffice)
*[[Ingres (database)]]
*[[Oracle RDBMS]]

==Notes==
{{reflist|group=nb}}

==References==
{{Reflist|30em}}

==External links==
{{Commons category}}
{{Wikibooks}}
* {{Official website|www.mysql.com}}
* [http://www.oracle.com/us/products/mysql/index.html MySQL site at Oracle.com]
* [http://intruders.tv/en-tech/mysql-co-founder-david-axmark-on-sun-s-billion-dollar-acquisition/ Interview with David Axmark, MySQL co-founder] Video
* {{dmoz|/Computers/Software/Databases/MySQL/|MySQL}}

{{MySQL}}
{{Sun Microsystems}}
{{Oracle}}
{{Use dmy dates|date=October 2012}}

{{DEFAULTSORT:Mysql}}
[[Category:MySQL]]
[[Category:1995 software]]
[[Category:Free database management systems]]
[[Category:Sun Microsystems software]]
[[Category:Oracle software]]
[[Category:Linux database-related software]]
[[Category:Cross-platform software]]
[[Category:Client-server database management systems]]

Versioni i datës 10 janar 2014 20:50

MySQL
Skeda:MySQL.svg
ZhvilluesOracle (formerly Sun, formerly MySQL AB)
Versioni i parë23 May 1995 (1995-05-23)
Versioni i fundit5.6.15 / 3 dhjetor 2013; 10 vite më parë (2013-12-03)[1]
Gjuhet e programimitC, C++[2]
Sistemi operativCross-platform
Gjuhët e mundshmeEnglish
Përdoret përRDBMS
LicencaProprietary EULA
MySQL Community Edition: GNU General Public License (version 2)[3]
Faqja zyrtarewww.mysql.com
dev.mysql.com

MySQL ( /m ˌɛskjuːˈɛl/ "My S-Q-L",[4] officially, but also called /m ˈskwəl/ "My Sequel") is (as of July 2013) the world's second most[nb 1] widely used[7][8] open-source relational database management system (RDBMS).[9] It is named after co-founder Michael Widenius's daughter, My.[10] The SQL phrase stands for Structured Query Language.[4]

The MySQL 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. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.[11]

MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other 'AMP' stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/PHP/Python." Free-software-open source projects that require a full-featured database management system often use MySQL.

For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other software. MySQL is also used in many high-profile, large-scale websites, including Wikipedia,[12] Google[13][14] (though not for searches), Facebook,[15][16][17] Twitter,[18] Flickr,[19] and YouTube.[20]

Interfaces

MySQL Workbench in Windows

MySQL is a relational database management system (RDBMS), and ships with no GUI tools to administer MySQL databases or manage data contained within the databases. Users may use the included command line tools,[21][22] or use MySQL "front-ends", desktop software and web applications that create and manage MySQL databases, build database structures, back up data, inspect status, and work with data records.[23][24][25][26] The official set of MySQL front-end tools, MySQL Workbench is actively developed by Oracle, and is freely available for use.[27]

Graphical

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

MySQL 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.

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. Some well-known front ends, in alphabetical order, are:

  • Adminer – a free MySQL front end written in one PHP script, capable of managing multiple databases, with many CSS skins available.
  • DaDaBIK – a customizable CRUD front-end to MySQL. Written in PHP. Commercial.
  • DBEdit – a free front end for MySQL and other databases.
  • HeidiSQL – a full featured free front end that runs on Windows, and can connect to local or remote MySQL servers to manage databases, tables, column structure, and individual data records. Also supports specialised GUI features for date/time fields and enumerated multiple-value fields.[28]
  • LibreOffice 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 MySQL or PostgreSQL.[29]
  • Navicat – a series of proprietary graphical database management applications, developed for Windows, Macintosh and Linux.
  • OpenOffice.org – OpenOffice.org Base can manage MySQL databases if the entire suite is installed. Free and open-source.
  • phpMyAdmin – a free Web-based front end widely installed[nevojitet citimi] by web hosts, since it is developed in PHP and is included in the LAMP stack, MAMP, XAMPP and WAMP software bundle installers.
  • SQLBuddy - a free Web-based front end, developed in PHP.
  • SQLyog - commercial, but there is also a free 'community' edition available.
  • Toad for MySQL – a free development and administration front end for MySQL from Quest Software

Other available proprietary MySQL front ends include dbForge Studio for MySQL, DBStudio, Epictetus, Microsoft Access, Oracle SQL Developer, SchemaBank, SQLPro SQL Client, Toad Data Modeler.

Command line

MySQL ships with many command line tools, from which the main interface is 'mysql' client.[21][22] Third-parties have also developed tools to manage, optimize, monitor and backup a MySQL server, some listed below. All these tools work on *NIX type operating systems, and some of them also on Windows.

  • Maatkit - a cross-platform toolkit for MySQL, PostgreSQL and Memcached, developed in Perl.[30] Maatkit can be used to prove replication is working correctly, fix corrupted data, automate repetitive tasks, and speed up servers. Maatkit is included with several Linux distributions such as CentOS and Debian and packages are available for Fedora and Ubuntu as well. As of late 2011, Maatkit is no longer developed, but Percona has continued development under the Percona Toolkit brand.[31]
  • XtraBackup - Open Source MySQL hot backup software. Some notable features include hot, non-locking backups for InnoDB storage, incremental backups, streaming, parallel-compressed backups, throttling based on the number of IO operations per second, etc.[32]
  • MySQL::Replication - a replacement for MySQL's built-in replication, developed in Perl.[33] MySQL::Replication can be used to create a peer-to-peer, multi-master MySQL replication network.
  • SymmetricDS - asynchronous MySQL multi-master replication capable of multi-tier replication and designed for a large number of databases across low-bandwidth connections. Licensed as open source (GPL) with commercial options from JumpMind.

Programming

MySQL works on many system platforms, including AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, OS X, Microsoft Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and Tru64. A port of MySQL to OpenVMS also exists.[34]

MySQL is written in C and C++. Its SQL parser is written in yacc, but it uses a home-brewed lexical analyzer.[35] Many programming languages with language-specific APIs include libraries for accessing MySQL 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 MyODBC 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.

Features

Që prej prill 2009, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercial Enterprise Server. MySQL 5.5 is offered under the same licences.[36] They have a common code base and include the following features:

  • A broad subset of ANSI SQL 99, as well as extensions
  • Cross-platform support
  • Stored procedures, using a procedural language that closely adheres to SQL/PSM[37]
  • Triggers
  • Cursors
  • Updatable views
  • Information schema
  • Strict mode (ensures MySQL does not truncate or otherwise modify data to conform to an underlying data type, when an incompatible value is inserted into that type)
  • X/Open XA distributed transaction processing (DTP) support; two phase commit as part of this, using Oracle's InnoDB engine
  • Independent storage engines (MyISAM for read speed, InnoDB for transactions and referential integrity, MySQL Archive for storing historical data in little space)
  • Transactions with the InnoDB and NDB Cluster storage engines; savepoints with InnoDB
  • SSL support
  • Query caching
  • Sub-SELECTs (i.e. nested SELECTs)
  • Replication support (i.e. Master-Master Replication & Master-Slave Replication) with one master per slave, many slaves per master.[38] Multi-master replication is provided in MySQL Cluster,[39] and multi-master support can be added to unclustered configurations using Galera Cluster.[40]
  • Full-text indexing and searching using MyISAM engine
  • Embedded database library
  • Unicode support (however prior to 5.5.3 UTF-8 and UCS-2 encoded strings are limited to the BMP, in 5.5.3 and later use utf8mb4 for full unicode support)
  • ACID compliance when using transaction capable storage engines (InnoDB and Cluster)[41]
  • Partitioned tables with pruning of partitions in optimizer
  • Shared-nothing clustering through MySQL Cluster
  • Hot backup (via mysqlhotcopy) under certain conditions[42]
  • Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time):
  • Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second. (PostgreSQL has an advanced form of this functionality[44])

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

Limitations

Like other SQL databases, MySQL does not currently comply with the full SQL standard for some of the implemented functionality, including foreign key references when using some storage engines other than the 'standard' InnoDB (or third-party engines which supports foreign keys).[45]

Triggers are currently limited to one per action / timing, i.e. maximum one after insert and one before insert on the same table.[46] There are no triggers on views.[46]

MySQL, like most other transactional relational databases, is strongly limited by hard disk performance. This is especially true in terms of write latency.[47] Given the recent appearance of very affordable consumer grade SATA interface Solid-state drives that offer zero mechanical latency, a fivefold speedup over even an eight drive RAID array can be had for a smaller investment.[48][49]

MySQL database's inbuilt functions like UNIX_TIMESTAMP() will return 0 after 03:14:07 UTC on 19 January 2038.[50]

Deployment

The LAMP software bundle (here additionally with Squid). A high performance and high-availability solution for a hostile environment

MySQL can be built and installed manually from source code, but this can be tedious so it is more commonly installed from a binary package unless special customizations are required. On most Linux distributions the package management system 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.[51] The master server synchronizes continually with its slaves so in the event of failure a slave can be promoted to become the new master, minimizing downtime. Further improvements in performance can be achieved by caching the results from database queries in memory using memcached, or breaking down a database into smaller chunks called shards which can be spread across a number of distributed server clusters.[52]

High availability

Ensuring high availability requires a certain amount of redundancy in the system. For database systems, the redundancy traditionally takes the form of having a primary server acting as a master, and using replication to keep secondaries available to take over in case the primary fails. This means that the "server" that the application connects to is in reality a collection of servers, not a single server. In a similar manner, if the application is using a sharded database, it is in reality working with a collection of servers, not a single server. In this case, a collection of servers is usually referred to as a farm.[53]

One of the projects aiming to provide high availability for MySQL is MySQL Fabric, an integrated system for managing a collection of MySQL servers, and a framework on top of which high availability and database sharding is built. MySQL Fabric is open-source and is intended to be extensible, easy to use, and to support procedure execution even in the presence of failure, providing an execution model usually called resilient execution. MySQL 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. As of September 2013, there is currently support for Fabric-aware versions of Connector/J, Connector/PHP, Connector/Python, as well as some rudimentary support for Hibernate and Doctrine. As of November 2013, MySQL Fabric is still in an early alpha development stage.[53][54]

Cloud deployment


MySQL can also be run on cloud computing platforms such as Amazon EC2. Listed below are some common deployment models for MySQL on the cloud:

  • Virtual Machine Image - 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.[55]
  • 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.[56] Notable cloud-based MySQL services are the Amazon Relational Database Service; the Xeround Cloud Database, which runs on EC2; Rackspace; HP Converged Cloud; Heroku and Jelastic.
  • Managed MySQL cloud hosting - the database is not offered as a service, but the cloud provider hosts the database and manages it on the application owner's behalf. As of 2011, of the major cloud providers, only Terremark and Rackspace offer managed hosting for MySQL databases.[57][58]

Community

The MySQL server software itself and the client libraries use dual-licensing distribution. They are offered under GPL version 2,[59] beginning from 28 June 2000[60] (which in 2009 has been extended with a FLOSS License Exception)[61] or to use a proprietary license.[62] In 2013, the Linux man pages for MySQL switched to a proprietary license[63] temporarily due to a build system bug. The original GPL license has since been restored.[64]

Support can be obtained from the official manual.[65] 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, including SkySQL Ab and Percona.

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".[66] It has also been tested to be a "fast, stable and true multi-user, multi-threaded sql database server".[67]

Related projects

  • Drizzle – a fork targeted at the web-infrastructure and cloud computing markets. The developers of the product describe it as a "smaller, slimmer and (hopefully) faster version of MySQL". As a result, many common MySQL features will be stripped out, including stored procedures, query cache, prepared statements, views, and triggers. This is a partial rewrite of the server that does not maintain compatibility with MySQL.
  • MariaDB – a community-developed fork of the MySQL database source code, the impetus being the community maintenance of its free status under GPL as opposed to any uncertainty of MySQL license status under its current ownership by Oracle. The intent also being to maintain high fidelity with MySQL, ensuring a "drop-in" replacement capability with library binary equivalency and exact matching with MySQL APIs and commands. It includes the XtraDB storage engine as a replacement for InnoDB.
  • Percona Server – a fork of MySQL that includes the XtraDB storage engine. Its policy is to deviate as little as possible from MySQL and remain fully compatible, while providing new features, better performance, and additional instrumentation for analysis of performance and usage.[68][69]
  • OurDelta – No longer maintained. It was a fork compiled with various patches, including patches from MariaDB, Percona, and Google, and a storage engine called OQGRAPH.

History

MySQL was created by a Swedish company, MySQL AB, founded by David Axmark, Allan Larsson and Michael "Monty" Widenius. 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.

Legal and acquisition impacts

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".[70][71]

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.[72] After a preliminary hearing before Judge Patti Saris on 27 February 2002, the parties entered settlement talks and eventually settled.[73] After the hearing, FSF commented that "Judge Saris made clear that she sees the GNU GPL to be an enforceable and binding license."[74]

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.[75] During the MySQL Users Conference in April 2006, MySQL issued a press release that confirmed that MySQL and Innobase OY agreed to a "multi-year" extension of their licensing agreement.[76]

In February 2006, Oracle Corporation acquired Sleepycat Software,[77] 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.[78]

In January 2008, Sun Microsystems bought MySQL for $1 billion.[79]

In April 2009, Oracle Corporation entered into an agreement to purchase Sun Microsystems,[80] 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.[81] On 14 December 2009, Oracle pledged to continue to enhance MySQL[82] as it had done for the previous four years.

A movement against Oracle's acquisition of MySQL, to "Save MySQL"[83] from Oracle was started by one of the MySQL founders, Monty Widenius. The petition of 50,000+ developers and users called upon the European Commission to block approval of the acquisition. At the same time, several Free Software opinion leaders (including Eben Moglen, 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.[nevojitet citimi] 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 commercial 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, as revealed by Wikileaks, the US Department of Justice and Antitrust, at the request of Oracle, pressured the EU to unconditionally approve the merger.[84] The European Commission eventually unconditionally approved Oracle's acquisition of MySQL on 21 January 2010.[85]

In January 2009, prior to Oracle's acquisition of MySQL, Monty Widenius started a GPL-only fork, MariaDB. MariaDB is based on the same code base as MySQL server 5.1 and strives to maintain compatibility with Oracle-provided versions.[86]

In August 2012, TechCrunch's Alex Williams reported that Oracle was holding back MySQL Server test cases, a move that he concluded indicated that Oracle is attempting to kill the product.[87] Percona also reported that Oracle is no longer synchronizing their changes with the public source repositories.[88] Widenius called this a breach of the agreement that Oracle entered into with the EU as a condition of their acquisition of Sun.[89]

Since the final quarter of 2012, several Linux distributions and some important users (like Wikipedia[90] and Google[91]) started to replace MySQL with MariaDB.[92][93][94]

Milestones

Notable milestones in MySQL development include:

  • Original development of MySQL by Michael Widenius and David Axmark beginning in 1994[95]
  • 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[96]
  • Version 4.0: beta from August 2002, production release March 2003 (unions)
  • Version 4.01: beta from August 2003, JyotiStampa:Clarify[nevojitet citimi] adopts MySQL 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",[97] 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".[98]
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).[100]
MySQL 5.1 and 6.0 showed poor performance when used for data warehousing — partly due to its inability to utilize multiple CPU cores for processing a single query.[101]
  • Oracle acquired Sun Microsystems on 27 January 2010.[102]
  • MySQL Server 5.5 is currently generally available (që prej dhjetor 2010). Enhancements and features include:
    • The default storage engine is InnoDB, which supports transactions and referential integrity constraints.
    • Improved InnoDB I/O subsystem[103]
    • Improved SMP support[104]
    • 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[105] 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.

MySQL 5.6, a development milestone release, was announced at the MySQL users conference 2011. New features include 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, improvements to replication and better performance monitoring by expanding the data available through the PERFORMANCE_SCHEMA.[106] In July further previews with a BINLOG API, group commit, and InnoDB full text searching were released.

Versions

[107][108][109][110][111][112][113]

See also

Notes

  1. ^ Following Sqllite, which is deployed with every iPhone and Android device along with the Chrome and Firefox browsers.[5] In the second quarter of 2013 alone, 213 million smartphones shipped, of which 200 million were Android and iOS.[6]

References

  1. ^ "Changes in MySQL 5.6.15". MySQL 5.6 Reference Manual. Oracle. 3 dhjetor 2013. Marrë më 3 dhjetor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  2. ^ "MySQL: Project Summary". Ohloh. Black Duck Software. Marrë më 17 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  3. ^ http://www.mysql.com/downloads/
  4. ^ a b "What is MySQL?". MySQL 5.1 Reference Manual. Oracle. Marrë më 17 shtator 2012. The official way to pronounce "MySQL" is "My Ess Que Ell" (not "my sequel") {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  5. ^ "Well-Known Users of SQLite". The SQLite Consortium. Marrë më 8 tetor 2013. Apple uses SQLite for many functions within Mac OS X, including Apple Mail, Safari, and in Aperture. Apple uses SQLite in the iPhone and in the iPod touch and in iTunes software. .... SQLite is the primary meta-data storage format for the Firefox Web Browser and the Thunderbird Email Reader from Mozilla. .... It is known that Google uses SQLite in their Desktop for Mac, in Google Gears, in the Android cell-phone operating system, and in the Google Chrome Web Browser. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  6. ^ Koetsier, John (1 gusht 2013). "Android reaches massive 80% market share, Windows Phone hits global high, iPhone languishes Read more at http://venturebeat.com/2013/08/01/android-reaches-massive-80-market-share-windows-phone-hits-global-high-iphone-languishes". MobileBeat. VentureBeat. Marrë më 8 tetor 2013. Global smartphone shipments grew 47 percent to hit 230 million devices in the second quarter of 2013, according to a new report from research firm Strategy Analytics. Android captured record market share of 80 percent, while iOS hit a new low of 14 percent. {{cite web}}: Lidhje e jashtme në |title= (Ndihmë!); Mungon ose është bosh parametri |language= (Ndihmë!)
  7. ^ "Market Share". Why MySQL?. Oracle. Marrë më 17 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  8. ^ "DB-Engines Ranking". Marrë më 29 korrik 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  9. ^ Schumacher, Robin; Lentz, Arjen. "Dispelling the Myths". MySQL AB. Arkivuar nga origjinali më 6 qershor 2011. Marrë më 17 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  10. ^ "History of MySQL". MySQL 5.1 Reference Manual. MySQL AB. Marrë më 26 gusht 2011. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  11. ^ Sun Microsystems (26 February 2008). "Sun Microsystems Announces Completion of MySQL Acquisition; Paves Way for Secure, Open Source Platform to Power the Network Economy". Press release. Archived from the original on 28 February 2008. http://web.archive.org/web/20080228025123/http://www.sun.com/aboutsun/pr/2008-02/sunflash.20080226.1.xml. Retrieved 17 September 2012. 
  12. ^ "Wikimedia servers — System architecture". Wikimedia Meta-Wiki. Wikimedia Foundation. Marrë më 17 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  13. ^ Urlocker, M. Zack (13 dhjetor 2005). "Google Runs MySQL". The Open Force. M. Zack Urlocker. Marrë më 3 gusht 2010. AdWords was built using the MySQL database {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  14. ^ Claburn, Thomas (24 prill 2007). "Google Releases Improved MySQL Code". InformationWeek. InformationWeek. Marrë më 30 nëntor 2008. {{cite news}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  15. ^ Callaghan, Mark (13 prill 2010). MySQL at Facebook. YouTube. Google. Marrë më 3 gusht 2010. x,000 servers, ... Master-slave replication, InnoDB {{cite AV media}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  16. ^ Sobel, Jason (21 dhjetor 2007). "Keeping Up". The Facebook Blog. Facebook. Marrë më 30 tetor 2008. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  17. ^ Malik, Om (25 prill 2008). "Facebook's Insatiable Hunger for Hardware". GigaOM. GigaOmniMedia. Marrë më 30 tetor 2008. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  18. ^ Cole, Jeremy (14 prill 2011). Big and Small Data at @Twitter. YouTube. Google. Marrë më 20 tetor 2011. {{cite AV media}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  19. ^ "MySQL Customer: Flickr". MySQL Customers. Oracle. Marrë më 17 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  20. ^ "MySQL Customer: YouTube". MySQL Customers. Oracle. Marrë më 17 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  21. ^ a b mysql — The MySQL Command-Line Tool, MySQL Reference Manual
  22. ^ a b mysqladmin - the MySQL command-line tool, MySQL Reference Manual
  23. ^ MySQL Client Programs, MySQL Reference Manual
  24. ^ MySQL Tools Family, SQLMaestro Group
  25. ^ MySQL GUI Tools, WebYog
  26. ^ HeidiSQL, HeidiSQL MySQL GUI
  27. ^ MySQL Workbench, MySQL Downloads
  28. ^ "HeidiSQL Grid editing features". {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  29. ^ "LibreOffice Base". Marrë më 5 janar 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  30. ^ Home. "Maatkit website". Maatkit.org. Marrë më 5 nëntor 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  31. ^ Percona Toolkit, Percona Software
  32. ^ "XtraBackup". Percona. Marrë më 19 janar 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  33. ^ Home. "MySQL::Replication". Opera Software. Marrë më 11 dhjetor 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  34. ^ Jean-François Piéronne. "PCSI Kits of Open Source Software for OpenVMS". Pi-net.dyndns.org. Marrë më 8 qershor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  35. ^ "MySQL Internals Manual". Dev.mysql.com. 4 mars 2009. Marrë më 8 qershor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  36. ^ "Which Should I Use: MySQL Enterprise or MySQL Community Server?". MySQL AB. Marrë më 8 prill 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  37. ^ Guy Harrison; Steven Feuerstein (2008). MySQL Stored Procedure Programming. O'Reilly Media. fq. 49. ISBN 978-0-596-10089-6. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  38. ^ "Replication". MySQL. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  39. ^ "MySQL Cluster Replication: Multi-Master and Circular Replication". MySQL. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  40. ^ "MySQL University: MySQL Galera Multi-Master Replication". Oracle Corporation. 9 shkurt 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  41. ^ "MySQL :: InnoDB 1.1 for MySQL 5.5 User's Guide :: C InnoDB Glossary :: ACID". Marrë më 5 janar 2011. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  42. ^ "4.6.9. mysqlhotcopy - A Database Backup Program". MySQL 5.1 Reference Manual. Oracle. Marrë më 23 shtator 2009. mysqlhotcopy is a Perl script [...]. It uses Lock Tables, Flush Tables, and cp or scp to make a database backup quickly [...] but it can be run only on the same machine where the database directories are located. mysqlhotcopy works only for backing up MyISAM and Archive tables. It runs on Unix and NetWare. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  43. ^ "The DB2 for i (IBMDB2I) Storage Engine for MySQL on IBM i". MySQL. Marrë më 18 janar 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  44. ^ "Group commit in PostgreSQL". Marrë më 8 prill 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  45. ^ "dev.mysql.com". dev.mysql.com. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  46. ^ a b "dev.mysql.com". dev.mysql.com. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  47. ^ "MySQL Innodb ZFS Best Practices". Blogs.oracle.com. Marrë më 16 prill 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  48. ^ 11 September 2012 (11 shtator 2012). "Intel SSD 910 vs HDD RAID in tpcc-mysql benchmark". Mysqlperformanceblog.com. Marrë më 16 prill 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Emra shifrorë: lista e autorëve (lidhja)
  49. ^ Matsunobu, Yoshinori. "SSD Deployment Strategies for MySQL." Sun Microsystems, 15 April 2010.
  50. ^ "aj_blk: Year 2038 Bug". Ajoeblk.blogspot.in. Marrë më 12 mars 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  51. ^ "The future of replication in MySQL". Facebook. Marrë më 9 dhjetor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  52. ^ "Database Sharding". Code Futures. Marrë më 9 dhjetor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  53. ^ a b Mats Kindahl (21 shtator 2013). "A Brief Introduction to MySQL Fabric". mysqlmusings.blogspot.com. Marrë më 12 dhjetor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  54. ^ Mats Kindahl; Alfrano Correia; Narayanan Venkateswaran (13 nëntor 2013). "MySQL Fabric: Easy Management of MySQL Servers". slideshare.net. Marrë më 12 dhjetor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  55. ^ "Running MySQL on Amazon EC2 with EBS (Elastic Block Store)". Amazon Web Services. Marrë më 5 shkurt 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  56. ^ Finley, Klint. "7 Cloud-Based Database Services". ReadWriteWeb. Marrë më 9 nëntor 2011. {{cite web}}: Lidhje e jashtme në |work= (Ndihmë!); Mungon ose është bosh parametri |language= (Ndihmë!)
  57. ^ "MySQL Server Support at Rackspace". Rackspace.com. Marrë më 10 nëntor 2011. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  58. ^ "Managed Hosting - Terremark". Terremark.com. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  59. ^ "Oracle :: MySQL Open Source License". Mysql.com. Marrë më 8 qershor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  60. ^ "MySQL GOES GPL". Arkivuar nga origjinali më 12 gusht 2001. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  61. ^ "Oracle :: FLOSS License Exception". Mysql.com. Marrë më 8 qershor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  62. ^ "Oracle :: MySQL Commercial License". Mysql.com. Marrë më 8 qershor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  63. ^ "MySQL man pages silently relicensed away from GPL". MariaDB Foundation. 18 qershor 2013. Marrë më 18 qershor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  64. ^ "MySQL Bugs: #69512: Wrong license in man pages in Community Server". Oracle bugtracking system. 19 qershor 2013. Marrë më 25 qershor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  65. ^ MySQL Support Manual, MySQL Developers
  66. ^ Review of MySQL Server 5.0, Techworld.com, November 2005
  67. ^ MySQL Server Review, LinuxMint.com
  68. ^ Morgan Tocker (13 gusht 2009). "XtraDB: The Top 10 enhancements". mysqlperformanceblog.com. Marrë më 16 dhjetor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  69. ^ Vadim Tkachenko (21 dhjetor 2010). "MySQL 5.5.8 and Percona Server on Fast Flash card (Virident tachIOn)". mysqlperformanceblog.com. Marrë më 16 dhjetor 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  70. ^ Basil, Tom (4 shtator 2001). "Eyewitness account: "Monty Widenius, International Fugitive"". MySQL Life (Listë abonentësh). Marrë më 16 shtator 2012. {{cite mailing list}}: Mungon ose është bosh parametri |language= (Ndihmë!); Parametri i panjohur |mailinglist= është injoruar (sugjerohet |mailing-list=) (Ndihmë!)
  71. ^ "FAQ on MySQL vs. NuSphere Dispute". MySQL AB. 13 korrik 2001. Arkivuar nga origjinali më 17 korrik 2001. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  72. ^ "Affidavit of Eben Moglen on Progress Software vs. MySQL AB Preliminary Injunction Hearing". Arkivuar nga origjinali më 7 shkurt 2005. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  73. ^ Progress Software Corporation v. MySQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002).
  74. ^ Free Software Foundation (1 March 2002). "Judge Saris defers GNU GPL Questions for Trial in MySQL vs. Progress Software". Press release. http://www.gnu.org/press/2002-03-01-pi-MySQL.html. Retrieved 16 September 2012. 
  75. ^ Oracle (7 October 2005). "Oracle Announces the Acquisition of Open Source Software Company, Innobase". Press release. Archived from the original on 20 July 2011. http://web.archive.org/web/20110720225615/http://www.oracle.com/us/corporate/press/016679_EN. Retrieved 16 September 2012. 
  76. ^ MySQL AB (26 April 2006). "MySQL to Promote New Open Source DB Engines from its Partners and Dev Community". Press release. Archived from the original on 23 June 2011. http://web.archive.org/web/20110623190958/http://www.mysql.com/news-and-events/generate-article.php?id=2006_21. Retrieved 16 September 2012. 
  77. ^ Babcock, Charles (14 shkurt 2006). "Oracle Buys Sleepycat, Is JBoss Next?". InformationWeek. CPM Media. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  78. ^ "Changes in MySQL 5.1.12". MySQL 5.1 Reference Manual. MySQL AB. 24 tetor 2006. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  79. ^ MySQL AB (16 January 2008). "Sun Microsystems Announces Agreement to Acquire MySQL, Developer of the World's Most Popular Open Source Database". Press release. Archived from the original on 18 July 2011. http://web.archive.org/web/20110718044718/http://mysql.com/news-and-events/sun-to-acquire-mysql.html. Retrieved 16 September 2012. 
  80. ^ Sun Microsystems (20 April 2009). "Oracle to Buy Sun". Press release. Archived from the original on 22 April 2009. http://web.archive.org/web/20090422033454/http://www.sun.com/aboutsun/pr/2009-04/sunflash.20090420.1.xml. Retrieved 16 September 2012. 
  81. ^ Thomasch, Paul; Finkle, Jim (20 gusht 2009). "Oracle wins U.S. approval to buy Sun Microsystems". Reuters. Marrë më 16 shtator 2012. {{cite news}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  82. ^ Whitney, Lance (14 dhjetor 2009). "Oracle pledges to play well with MySQL". CNET. CBS Interactive. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  83. ^ Michael, Widenius (12 dhjetor 2009). "Help saving MySQL". Monty Says. Google. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  84. ^ Kanaracus, Chris (30 gusht 2011). "Wikileaks Cable Offers New Insights Into Oracle-Sun Deal". PC World. IDG. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  85. ^ European Union (21 January 2010). "Mergers: Commission clears Oracle's proposed acquisition of Sun Microsystems". Press release. http://europa.eu/rapid/pressReleasesAction.do?reference=IP/10/40. Retrieved 16 September 2012. 
  86. ^ "MariaDB versus MySQL - Compatibility". AskMonty Knowledgebase. Monty Program. 30 korrik 2010. Marrë më 16 shtator 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  87. ^ Williams, Alex (18 gusht 2012). "Oracle Makes More Moves To Kill Open Source MySQL". TechCrunch. AOL. Marrë më 16 tetor 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  88. ^ Smith, Stewart (16 gusht 2012). "Where to get a BZR tree of the latest MySQL releases". MySQL Performance Blog. Percona. Marrë më 16 tetor 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  89. ^ Clarke, Gavin (29 nëntor 2012). "Monty on broken MySQL promises: Oracle's going to fork it up". Theregister.co.uk. Marrë më 16 prill 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  90. ^ Wikipedia Adopts MariaDB
  91. ^ http://www.theregister.co.uk/2013/09/12/google_mariadb_mysql_migration/
  92. ^ Monty has last laugh as distros abandon MySQL
  93. ^ MariaDB living in interesting times
  94. ^ Distributions Which Include MariaDB
  95. ^ "Five Questions With Michael Widenius - Founder And Original Developer of MySQL". www.opensourcereleasefeed.com. Arkivuar nga origjinali më 13 mars 2009. Marrë më 13 tetor 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  96. ^ "MySQL 3.23 Declared Stable". Arkivuar nga origjinali më 15 gusht 2001. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  97. ^ "Capttofu: FederatedX Pluggable Storage Engine Released!". Capttofu.livejournal.com. Marrë më 3 prill 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  98. ^ "Oreillynet.com". Oreillynet.com. 9 tetor 2008. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  99. ^ "Sun Picks Up MySQL For $1 Billion; Open Source Is A Legitimate Business Model". Marrë më 13 tetor 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  100. ^ "Archives - Oops, we did it again (MySQL 5.1 released as GA with crashing bugs)". Planet MySQL. 29 nëntor 2008. Marrë më 5 shkurt 2013. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  101. ^ "TPC-H Run on MySQL 5.1 and 6.0 | MySQL Performance Blog". MySQL Performance Blog. Marrë më 8 qershor 2009. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  102. ^ "Oracle.com". Oracle.com. 7 shtator 2010. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  103. ^ "dev.mysql.com". dev.mysql.com. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  104. ^ "dev.mysql.com". dev.mysql.com. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  105. ^ "MySQL Lists: packagers: MySQL 6.0.11 Alpha has been released!". Lists.mysql.com. Marrë më 1 shkurt 2012. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  106. ^ "What's New in MySQL 5.6". MySQL Developer Zone. Marrë më 21 prill 2011. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  107. ^ "B.3. Changes in Release 3.23.x (Lifecycle Support Ended)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  108. ^ "B.2. Changes in Release 4.0.x (Lifecycle Support Ended)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  109. ^ "B.1. Changes in Release 4.1.x (Lifecycle Support Ended)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  110. ^ "C.1. Changes in Release 5.0.x (Lifecycle Support Ended)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  111. ^ "C.1. Changes in Release 5.1.x (Production)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  112. ^ "C.1. Changes in Release 5.5.x (Production)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  113. ^ "C.1. Changes in Release 5.6.x (Development)". Oracle. Marrë më 24 gusht 2010. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)

External links

Wikibooks:Category
Wikibooks:Category
Wikibooks ka më shumë informacione për ketë temë:
[[b:{{{1}}}|{{{2}}}]]

Stampa:MySQL Stampa:Sun Microsystems Stampa:Oracle