Mysql

Published on March 2017 | Categories: Documents | Downloads: 77 | Comments: 0 | Views: 219
of 7
Download PDF   Embed   Report

Comments

Content

From Wikipedia, the free encyclopedia Jump to: navigation, search MySQL MySQL.svg Mysql-screenshot.PNG Screenshot of the default MySQL command line. Developer(s) MySQL AB (A subsidiary of Oracle) Initial release May 23, 1995 (1995-05-23) Stable release 5.1.51 (September 26, 2010; 14 days ago (2010-09-26)) [+/-] Preview release 5.5.6 RC (September 19, 2010; 21 days ago (2010-09-19)) [+/-] Written in C, C++ Operating system Cross-platform Available in English Type RDBMS License GNU General Public License (version 2, with linking exception) o r proprietary EULA Website www.mysql.com dev.mysql.com MySQL is a relational database management system (RDBMS)[1] that runs as a serve r providing multi-user access to a number of databases. MySQL is officially pron ounced /ma???skju?'?l/ ("My S-Q-L"),[2] but is often also pronounced /ma?'si?kw? l/ ("My Sequel"). It is named for original developer Michael Widenius' daughter My.[3] 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 ag reements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.[4] Members of the MySQL community have created several forks such as Drizzle, OurDe lta, Percona Server, and MariaDB. All of these forks were in progress before the Oracle acquisition (Drizzle was announced 8 months before the Sun acquisition). Free-software projects that require a full-featured database management system o ften use MySQL. Such projects include (for example) WordPress, phpBB, Drupal and other software built on the LAMP software stack. MySQL is also used in many hig h-profile, large-scale World Wide Web products including Wikipedia, Google[5] an d Facebook.[6] Contents [hide] * 1 Uses * 2 Platforms and interfaces * 3 Management and graphical frontends o 3.1 Official o 3.2 Third party o 3.3 Command-line * 4 Deployment * 5 Features o 5.1 Distinguishing features * 6 Product history o 6.1 Future releases * 7 Support and licensing * 8 Corporate backing history * 9 Forks of MySQL * 10 MySQL versions * 11 See also * 12 References * 13 External links

[edit] Uses MySQL is a popular choice of database for use in web applications, and is a cent ral component of the widely-used LAMP web application software stack LAMP is an ac ronym for "Linux, Apache, MySQL, PHP". Its popularity is closely tied to the pop ularity of PHP. MySQL is used in some of the most frequently visited web sites o n the internet including Flickr,[7] Facebook,[8][9] Wikipedia,[10] Google though n ot for searches,[11] Nokia.com[12] and YouTube.[13] [edit] Platforms and interfaces MySQL is written in C, and C++. Its SQL parser is written in yacc, and a home-br ewed lexical analyzer named sql_lex.cc[14] MySQL works on many different system platforms, including AIX, BSDi, FreeBSD, HP -UX, i5/OS, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, eComS tation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixW are, Sanos, Tru64 and Microsoft Windows. A port of MySQL to OpenVMS also exists. [15] Many programming languages with language-specific APIs include libraries for acc essing MySQL databases[examples needed]. In addition, an ODBC interface called M yODBC allows additional programming languages that support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion. The HTSQL - URL b ased query method also ships with MySQL adapter allowing direct interaction with MySQL database from any web client via structured URLs. The MySQL server and of ficial libraries are mostly implemented in ANSI C/ANSI C++. [edit] Management and graphical frontends MySQL Workbench in Windows, displaying the Home Screen which streamlines use of its full capabilities MySQL is primarily an RDBMS and therefore ships with no GUI tools to administer MySQL databases or manage data contained within. Users may use the included comm and-line tools,[16] or download MySQL frontends from various parties that have d eveloped desktop software and web applications to manage MySQL databases, build database structure, and work with data records. One of the popular front end is PhpMyAdmin. [edit] Official The official MySQL Workbench is a free integrated environment developed by MySQL AB, that enables users to graphically administer MySQL databases and visually d esign database structure. MySQL Workbench replaces the previous package of softw are, MySQL GUI Tools. Similar to other third-party packages but still considered the authoritative MySQL frontend, MySQL Workbench lets users manage the followi ng: * Database design & modeling * SQL development replacing MySQL Query Browser * Database administration replacing MySQL Administrator MySQL Workbench is available in two editions, the regular free and open source C ommunity Edition which may be downloaded from the MySQL website, and the proprie tary Standard Edition which extends and improves the feature set of the Communit y Edition. [edit] Third party Several other third-party proprietary and free graphical administration applicat ions (or "Frontends") are available that integrate with MySQL and enable users t o work with database structure and data visually. Some well-known frontends are:

* phpMyAdmin - a free Web-based frontend widely installed by Web hosts world wide, since it is developed in PHP and requires the LAMP stack or WAMP. * HeidiSQL - a full featured free frontend that runs on Windows, and can con nect to local or remote MySQL servers to manage databases, tables, column struct ure, and individual data records. Also supports specialised GUI features for dat e/time fields and enumerated multiple-value fields.[17] * Adminer - a free MySQL frontend written in one PHP script, capable of mana ging multiple databases, with many CSS skins available. * DBEdit - a free frontend for MySQL and other databases. * Navicat - a series of proprietary graphical database management applicatio ns, developed for Windows, Macintosh and Linux. * Other available proprietary MySQL frontends include Aqua Data Studio, dbFo rge Studio for MySQL, Epictetus, Oracle SQL Developer, SchemaBank, SQLyog, SQLPr o SQL Client, Toad, Toad Data Modeler [edit] Command-line MySQL ships with a suite of command-line tools for tasks such as querying the da tabase, backing up data, inspecting status, performing common tasks such as crea ting a database, and many more. A variety of third-party command-line tools is a lso available, including: * Maatkit, a set of power-user tools written in Perl * MySQL Sandbox, a set of scripts for quickly starting server instances for testing and development [edit] Deployment MySQL can be built and installed manually from source code, but this can be tedi ous so it is more commonly installed from a binary package unless special custom izations are required. On most Linux distributions the package management system can download and install MySQL with minimal effort, though further configuratio n is often required to adjust security and optimization settings. Though MySQL began as a low-end alternative to more powerful proprietary databas es, it has gradually evolved to support higher-scale needs as well. It is still most commonly used in small to medium scale single-server deployment s, either as a component in a LAMP based web application or as a standalone data base server. Much of MySQL's appeal originates in its relative simplicity and ea se of use, which is enabled by an ecosystem of open source tools such as phpMyAd min. In the medium range, MySQL can be scaled by deploying it on more powerful hardwa re, such as a multi-processor server with gigabytes of memory. There are however limits to how far performance can scale on a single server, so on larger scales, multi-server MySQL deployments are required to provide improv ed performance and reliability. A typical high-end configuration can include a p owerful master database which handles data write operations and is replicated to multiple slaves that handle all read operations.[18] The master server synchron izes continually with its slaves so in the event of failure a slave can be promo ted to become the new master, minimizing downtime. Further improvements in perfo rmance can be achieved by caching the results from database queries in memory us ing memcached, or breaking down a database into smaller chunks called shards whi ch can be spread across a number of distributed server clusters.[19] [edit] Features As of April 2009[update], MySQL offers MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercial Enterprise Server.[20] The

y 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 * Triggers * Cursors * Updatable Views * True Varchar support * INFORMATION_SCHEMA * Strict mode * X/Open XA distributed transaction processing (DTP) support; two phase comm it as part of this, using Oracle's InnoDB engine * Independent storage engines (MyISAM for read speed, InnoDB for transaction s and referential integrity, MySQL Archive for storing historical data in little space) * Transactions with the InnoDB, BDB and 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 Replica tion) with one master per slave, many slaves per master, no automatic support fo r multiple masters per slave. * Full-text indexing and searching using MyISAM engine * Embedded database library * Partial Unicode support (UTF-8 and UCS-2 encoded strings are limited to th e BMP) * Partial ACID compliance (full compliance only when using the non-default s torage engines InnoDB, BDB and Cluster) * Partititoned tables with pruning of partitions in optimiser * Shared-nothing clustering through MySQL Cluster * Hot backup (via mysqlhotcopy) under certain conditions[21] The developers release monthly versions of the MySQL Server. The sources can be obtained from MySQL's web site or from MySQL's Bazaar repository, both under the GPL license. [edit] Distinguishing features MySQL implements the following features, which some other RDBMS systems may not: * Multiple storage engines, allowing one to choose the one that is most effe ctive for each table in the application (in MySQL 5.0, storage engines must be c ompiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time) : o Native storage engines (MyISAM, Falcon, Merge, Memory (heap), Federa ted, Archive, CSV, Blackhole, Cluster, Berkeley DB, EXAMPLE, and Maria) o Partner-developed storage engines (InnoDB, solidDB, NitroEDB, Infobr ight (formerly Brighthouse), Kickfire, XtraDB, IBM DB2[22]) o Community-developed storage engines (memcache engine, httpd, PBXT, R evision Engine) o Custom storage engines * Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second. [edit] Product history Milestones in MySQL development include: * Original development of MySQL by Michael Widenius and David Axmark beginni

ng in 1994[23] * First internal release on 23 May 1995 * Windows version was released on 8 January 1998 for Windows 95 and NT * Version 3.23: beta from June 2000, production release January 2001 * Version 4.0: beta from August 2002, production release March 2003 (unions) * Version 4.01: beta from August 2003, Jyoti adopts MySQL for database track ing * 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 (cursor s, stored procedures, triggers, views, XA transactions) The developer of the Federated Storage Engine states that "The Federated Sto rage Engine is a proof-of-concept storage engine",[24] but the main distribution s 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 Manua l". * Sun Microsystems acquired MySQL AB on 26 February 2008.[4] * Version 5.1: production release 27 November 2008 (event scheduler, partiti oning, 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.[25] MySQL 5.1 and 6.0 showed poor performance when used for data warehousing par tly due to its inability to utilize multiple CPU cores for processing a single q uery.[26] * Oracle acquired Sun Microsystems on 27 January 2010. Oracle and Sun [edit] Future releases MySQL Server 5.5 is currently available in pre-release (as of June 2010). Enhanc ements and features include: * The default storage engine is InnoDB, which supports transactions and refe rential integrity constraints. * 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. * Improved multi-core scalability MySQL Server 6.0.11-alpha was announced 22 May 2009 as the last release of the 6 .0 line. Future MySQL Server development uses a New Release Model. Features deve loped for 6.0 are being incorporated into future releases. [edit] Support and licensing MySQL offers support via their MySQL Enterprise product, including e with 30-minute response time. The support team has direct access pers as necessary to handle problems. In addition, it hosts forums ists, employees and other users are often available in several IRC iding assistance. a 24/7 servic to the develo and mailing l channels prov

Buyers of MySQL Enterprise have access to binaries and software certified for th eir particular operating system, and access to monthly binary updates with the l atest bug-fixes. Several levels of Enterprise membership are available, with var ying response times and features ranging from how to and emergency support throu gh server performance tuning and system architecture advice. The MySQL Network M

onitoring and Advisory Service monitoring tool for database servers is available only to MySQL Enterprise customers. Potential users can install MySQL Server as free software under the GNU General Public License (GPL), and the MySQL Enterprise subscriptions include a GPL versi on of the server, with a traditional proprietary version available on request at no additional cost for cases where the intended use is incompatible with the GP L.[27] Both the MySQL server software itself and the client libraries use dual-licensin g distribution. Users may choose the GPL,[28] which MySQL has extended with a FL OSS License Exception. It allows Software licensed under other OSI-compliant ope n source licenses, which are not compatible to the GPL, to link against the MySQ L client libraries.[29] Customers that do not wish to follow the terms of the GPL may purchase a proprie tary license.[30] Like many open-source programs, MySQL has trademarked its name, which others may use only with the trademark holder's permission.[31] [edit] Corporate backing history In October 2005, Oracle Corporation acquired Innobase OY, the Finnish company th at developed the third-party InnoDB storage engine that allows MySQL to provide such functionality as transactions and foreign keys. After the acquisition, an O racle press release mentioned that the contracts that make the company's softwar e available to MySQL AB would be due for renewal (and presumably renegotiation) some time in 2006.[32] During the MySQL Users Conference in April 2006, MySQL is sued a press release that confirmed that MySQL and Innobase OY agreed to a "mult i-year" extension of their licensing agreement.[33] In February 2006, Oracle Corporation acquired Sleepycat Software,[34] 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 dep recated (due to lack of use) in MySQL 5.1.12, a pre-GA release of MySQL 5.1 rele ased in October 2006.[35] In January 2008, Sun Microsystems bought MySQL for USD $1 billion.[36] In April 2009, Oracle Corporation entered into an agreement to purchase Sun Micr osystems,[37] then owners of MySQL copyright and trademark. Sun's board of direc tors unanimously approved the deal, it was also approved by Sun's shareholders, and by the U.S. government on August 20, 2009.[38] On December 14, 2009, Oracle pledged to continue to enhance MySQL[39] as it had done for the previous four ye ars. A movement against Oracle's acquisition of MySQL, to "Save MySQL" [40] from Oracle was started by one of the MySQL founders, Monty Widenius. The petition o f 50,000+ developers and users called upon the European Commission to block appr oval of the acquisition. As part of the negotiations with the European Commissio n, Oracle committed that MySQL server will continue to use the dual-licensing st rategy long used by MySQL AB with commercial and GPL versions available until at least 2015. The Oracle acquisition was eventually approved by the European Comm ission on January 21, 2010.[41] Meanwhile, Monty Widenius has released a GPL onl y fork, MariaDB. MariaDB is based on the same code base as MySQL server and stri ves to maintain compatibility with Oracle provided versions.[42] [edit] Forks of MySQL * Drizzle a fork targeted at the web-infrastructure and cloud computing mark ets. The developers of the product describe it as a "smaller, slimmer and (hopef ully) faster version of MySQL". As such is planned to have many common MySQL fea tures stripped out, including stored procedures, query cache, prepared statement

s, views, and triggers. This is a complete rewrite of the server that does not m aintain compatibility with MySQL. * MariaDB a community-developed branch of the MySQL database, the impetus be ing the community maintenance of its free status under GPL as opposed to any unc ertainty of MySQL license status under its current ownership by Oracle. The inte nt also being to maintain high fidelity with MySQL, ensuring a "drop-in" replace ment capability with library binary equivalency and exacting matching with MySQL APIs and commands. It includes the XtraDB storage engine as a replacement for I nnoDB. * Percona Server a fork that includes the XtraDB storage engine. It is an en hanced version of MySQL that is fully compatible, and deviates as little as poss ible from it, while still providing beneficial new features, better performance, and improved instrumentation for analysis of performance and usage. * OurDelta is best characterized as a source of binaries compiled with vario us patches, including patches from MariaDB, Percona, and Google. [edit] MySQL versions [43] [44] [45] [46] [47] [48]

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close