Information about Mysql
| MySQL | |
| | |
| Developer: | MySQL AB |
|---|---|
| Latest release: | 5.0.45 (Community Server) / July 4, 2007 |
| Preview release: | 5.1.22-rc / September 24, 2007 |
| OS: | Cross-platform |
| Genre: | RDBMS |
| License: | GPL or Commercial License or Subscription Agreement |
| Website: | mysql.com |
MySQL is owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, which holds the copyright to most of the codebase. This is similar to the JBoss model. It is dissimilar to the Apache project, where the software is developed by a public community and the copyright to the codebase is owned by its individual authors.
The company develops and maintains the system, selling support and service contracts, as well as proprietary-licensed copies of MySQL, and employing people all over the world who collaborate via the Internet. MySQL AB was founded by David Axmark, Allan Larsson, and Michael "Monty" Widenius. The CEO is Mårten Mickos.
The MySQL company also sells another DBMS, MaxDB, which is from an unrelated codebase.
History
- MySQL was first released internally on May 23, 1995
- Windows version released on January 8, 1998 for Windows 95 and NT
- Version 3.23: beta from June 2000, production release January 2001
- Version 4.0: beta from August 2002, production release March 2003 (unions)
- Version 4.1: beta from June 2004, production release October 2004 (r-trees, subqueries, prepared statements)
- Version 5.0: beta from March 2005, production release October 2005 (cursors, stored procedures, triggers, views, XA transactions)
- Version 5.1: currently pre-production (since November 2005) (event scheduler, partitioning, plugin API, row-based replication, server log tables)
Programming languages
Libraries for accessing MySQL databases are available in all major programming languages with language-specific APIs. 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 MySQL server and official libraries are mostly implemented in ANSI C/ANSI C++.Uses
MySQL is popular for web applications and acts as the database component of the LAMP, MAMP, and WAMP platforms (Linux/Mac/Windows-Apache-MySQL-PHP/Perl/Python), and for open-source bug tracking tools like Bugzilla. Its popularity for use with web application is closely tied to the popularity of PHP, which is often combined with MySQL. PHP and MySQL are essential components for running popular content management systems such as WordPress and Drupal blogging platforms. Wikipedia runs on MediaWiki software, which can also use PHP and a MySQL database.Documentation and administration
Information on using MySQL can be found on the company's site, under their Documentation section. There are also many books written about MySQL.To administer MySQL databases one can use the included command-line tool (commands:
mysql and mysqladmin). Also downloadable from the MySQL site are GUI administration tools: MySQL Administrator and MySQL Query Browser. Both of the GUI tools are now included in one package called MySQL GUI Tools.
In addition to the above mentioned tools developed by MySQL AB, there are several other commercial and non-commercial tools available. phpMyAdmin is a free software webbased administration interface implemented in PHP.
Program specifications
Platforms
MySQL works on many different platforms — including AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP and Windows Vista. A port of MySQL to OpenVMS is also available.[4]The latest production version
As of August 2007, MySQL offers MySQL 5.0 in two different variants: the MySQL Community Server and Enterprise Server. Both 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 commit as part of this, using Oracle's InnoDB engine
- Independent storage engines (MyISAM for read speed, InnoDB for transactions and referential integrity, 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 with one master per slave, many slaves per master, no automatic support for multiple masters per slave.
- Full-text indexing and searching using MyISAM engine
- Embedded database library
- Partial Unicode support (UTF-8 sequences longer than 3 bytes are not supported; UCS-2 encoded strings are also limited to the BMP)
- ACID compliance using the InnoDB, BDB and Cluster engines
- Shared-nothing clustering through MySQL Cluster
Future releases
The MySQL 5.1 roadmap outlines support for:- Pluggable storage engine API
- Partitioning
- Event Scheduling
- XML functions
- Row-based replication
Foreign key support for all storage engines will likely be released with MySQL 5.2 (although it has been present since version 3.23.44 for InnoDB).
The current MySQL 5.1 development release is 5.1.22 RC
A new storage engine is also in the works, called Falcon. A preview of Falcon is available in MySQL 6.0 Alpha.
Distinguishing features
The following features are implemented by MySQL but not by some other RDBMSes:- Multiple storage engines, allowing you to choose the one which 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):
- Native storage engines (MyISAM, Falcon, Merge, Memory (heap), Federated, Archive, CSV, Blackhole, Cluster)
- Partner-developed storage engines (InnoDB, solidDB, NitroEDB, BrightHouse)
- Community-developed storage engines (memcached, httpd, PBXT)
- Custom storage engines
- Commit grouping, gathering multiple transactions from multiple connections together to increase the number of commits per second.
Server compilation type
There are 3 types of MySQL Server Compilations for Enterprise and Community users:- Standard: The MySQL-Standard binaries are recommended for most users, and include the InnoDB storage engine.
- Max: (not MaxDB, which is a cooperation with SAP AG) is mysqld-max Extended MySQL Server. The MySQL-Max binaries include additional features that may not have been as extensively tested or are not required for general usage.
- The MySQL-Debug binaries have been compiled with extra debug information, and are not intended for production use, because the included debugging code may cause reduced performance.
Source code specifics
MySQL is written in C and C++. The SQL parser uses yacc and home-brewed lexer. A document describing some of the internal structures of the code and the coding guidelines is available from the MySQL web site.[9]Support
Via MySQL Enterprise MySQL AB offers support itself, including 24/7 30-minute response time, with the support team having direct access to the developers as necessary to handle problems. In addition it hosts forums and mailing lists and employees and other users are often available in several IRC channels providing assistance.Buyers of MySQL Enterprise enjoy access to binaries and software that is certified for their particular operating system, and access to monthly binary updates with the latest bug fixes. Several levels of Enterprise membership are available, with varying response times and features ranging from how to and emergency support through server performance tuning and system architecture advice. The MySQL Network Monitoring and Advisory Service monitoring tool for database servers is available only to MySQL Enterprise customers.
Licensing
MySQL AB makes MySQL Server available as free software under the GNU General Public License (GPL), but they also offer the MySQL Enterprise subscription offering for business users and dual-license it under traditional proprietary licensing arrangements for cases where the intended use is incompatible with the GPL.Both the MySQL server software itself and the client libraries are distributed under a dual-licensing format. Users may choose the GNU General Public License[10], which MySQL has extended with a FLOSS License Exception. It allows Software licensed under other OSI-compliant Open Source licenses, which are not compatible to the GPL, to link against the MySQL client libraries.[11]
Customers that do not wish to be bound to the terms of the GPL may choose to purchase a proprietary license.[12]
Like many open-source programs, the name "MySQL" is trademarked and may only be used with the trademark holder's permission.
Some users have independently continued to develop earlier versions of the client libraries, which was distributed under the less-restrictive Lesser General Public License.[13]
Issues
There has been some controversy regarding the distribution of GPLed MySQL library files with other open source applications. The biggest controversy arose with PHP, which has a license incompatible with the GPL. This was later resolved when MySQL created a license exception that explicitly allows the inclusion of the MySQL client library in open source projects that are licensed under a number of OSI-compliant Open Source licenses, including the PHP License.[14]In September 2005, MySQL AB and SCO forged a partnership for "joint certification, marketing, sales, training and business development work for a commercial version of the database for SCO's new OpenServer 6 version of Unix". SCO raised controversy beginning in 2003 with a number of high-profile patent lawsuits related to the Linux Operating System. Various MySQL employees expressed that the company was committed to serving its end users, regardless of their operating system choice, that the company would leave it to the courts to resolve the SCO licensing controversy, and that other common open source databases have also been ported to, and support, SCO OpenServer.
In October 2005, Oracle Corporation acquired Innobase OY, the Finnish company that developed the InnoDB storage engine that allows MySQL to provide such functionality as transactions and foreign keys. A press release[15] by Oracle that was issued after the acquisition mentioned that the contracts that make the company's software available to MySQL AB come up for renewal (and presumably renegotiation) some time in 2006. During the MySQL Users Conference in April 2006, MySQL issued a press release which confirmed that MySQL and Innobase OY agreed to a multi-year extension of their licensing agreement.[16]
In February 2006, Oracle Corporation acquired Sleepycat Software,[17] makers of the Berkeley DB, a database engine onto which another MySQL storage engine was built.
Criticism
Early versions of MySQL lacked many standard relational database management system (RDBMS) features, usually with the goal of trading guaranteed accuracy for speed. Many (but not yet all) such criticisms have been remedied in later versions of the software, including transactions and relational integrity constraints — features necessary to support "ACID properties" for relational databases, which allow the DBMS to ensure that client applications cannot interfere with one another or insert inconsistent values.[18]Earlier versions of the MySQL manual included claims that certain missing ACID features were useless or even harmful, and that users were better off without them. One section, entitled "Reasons NOT to use Foreign Keys constraints" (sic), advised users that relational-integrity checking was difficult to use and complicated a database application, and that its only useful purpose was to allow client software to diagram the relationships between database tables.[19] Another section claimed that a DBMS lacking transactions can provide data-integrity assurances as reliable as those provided by a DBMS that supports transactions — thus conflating the issue of transactional integrity with that of saving data when the database server loses power.[20]
Another criticism is MySQL's divergence from the SQL standard on the subject of treatment of NULL values and default values. Its handling of dates allows storing a date with a day beyond the last day of a month with fewer than 31 days, and arithmetic operations are vulnerable to either integer overflow or floating point truncation.[21] Since version 5 of the server, the treatment of illegal values varies according to use of the "SQL Mode" set in the server, which is by default set to the unusually tolerant state that critics dislike.[22]
When the beta version of MySQL 5.0 was released in March 2005, David Axmark, a co-founder of MySQL, said that "People have been criticizing MySQL since we started for not having stored procedures, triggers and views," and "We're fixing 10 years of criticism in one release."[23] MySQL 5.0's 13 October build 5.0.15 was released for production use on 24 October 2005, after more than two million downloads in the 5.0 beta cycle.
Trivia
- The dolphin symbol in the MySQL logo was given the Swati name Sakila in October 2002 after a naming contest.[24]
- MySQL was originally developed on the Solaris operating system.
- The "My" in MySQL was taken from the name of Michael "Monty" Widenius's elder daughter. For mysqld-max, the "max" comes from the name of Monty's son.
- A complete list of authors to MySQL can be found by using the command "SHOW AUTHORS". This was added in 5.1.
MySQL Application of the Year winners
2007 2006- Nokia, using MySQL Cluster to maintain real-time information about mobile network users.
- flickr, Using MySQL to manage millions of photos and users.[25]
- NetQOS, embeds MySQL to manage the world's largest networks including Chevron, American Express and Boeing.
- CNET Networks
- Friendster, in 2005 more than 85 million dynamic page views per day, able to support more than 1.5 billion MySQL queries per day
- Wikipedia, in early 2005 more than 200 million queries and 1.2 million updates per day with peak loads of 11,000 queries per second
Pronunciation
"MySQL"'s official pronunciation of the name is "My Ess Que Ell",[26] pronounced as /maɪ ɛs kjuː ɛl/, not "My sequel" /maɪ siːkwəl/. This adheres to the official ANSI pronunciation; SEQUEL was an earlier IBM database language, a predecessor to the SQL language.[27] However, the company does not take issue with the pronunciation "My sequel" or other local variations.
The "My" portion of the name may come from the name of Widenius's child, spelled "My" but pronounced in Swedish as mü /my/ (or approximately in English, "me"). However, MySQL's own developers are unsure if this is the case or if it is in fact a simple possessive.[28]See also
Clients
- HeidiSQL free and open source
- MySQL Workbench database modeling tool
- SqlPro SQL Client cross platform graphical client
- Sqlyog graphical client
References
1. ^ MySQL 5.1 Reference Manual - 1.4.1 What is MySQL?
2. ^ Robin Schumacher, Arjen Lentz. Dispelling the Myths. MySQL AB. Retrieved on 2007-02-10.
3. ^ Why MySQL?. MySQL AB. Retrieved on 2007-02-10.
4. ^ PCSI Kits of Open Source Software for OpenVMS
5. ^ Peter Zaitsev's blog
6. ^ Kaj Arnö's reply
7. ^ Does MySQL support query parallelisation?
8. ^ MySQL Max Build Policy
9. ^ MySQL Internals Manual
10. ^ [1]
11. ^ [2]
12. ^ [3]
13. ^ [4]
14. ^ MySQL Open Source License. MySQL AB.
15. ^ Oracle Plans to Increase Support for Open Source Software. Oracle and InnoDB.
16. ^ MySQL to Promote New Open Source DB Engines from its Partners and Dev Community. MySQL AB.
17. ^ Oracle Buys Sleepycat, Is JBoss Next?. Charles Babcock.
18. ^ ACID properties. servicearchitecture.com.
19. ^ "Reasons NOT to Use Foreign Keys constraints"
20. ^ MySQL Reference Manual for version 3.23.37.
21. ^ [5] mySQL Gotchas
22. ^ MySQL 5.0 Reference Manual - 5.2.6 SQL Modes. MySQL AB.
23. ^ 'Most important ever' MySQL reaches beta. Ingrid Marson.
24. ^ The MySQL Dolphin Gets a Name: Sakila!. MySQL AB.
25. ^ 2006 MySQL Applications Of The Year. MySQL AB.
26. ^ What is MySQL?, MySQL 5.0 Reference Manual. MySQL AB. Retrieved on 2007-02-10.
27. ^ Understand SQL. www.faqs.org/docs/.
28. ^ MySQL 5.0 Reference Manual - 1.4.2 History of MySQL. MySQL AB.
External links
- MySQL database website
- MySQL General Purpose Stored Routines Library
- Planet MySQL - an aggregation of MySQL-related blogs
- MySQL Forge
- MySQL Users Conference
Documentation
- MySQL Manual
- MySQL Roadmap
- MySQL Gotchas description of many features in MySQL 4.1 and earlier, which work as advertised, but not as those used to other databases may expect
- Replication Implementation Replication Implementation and Binary Logs (Paul Morrison)
- #mysql channel documentation wiki
Articles and guides
- Introduction to MySQL
- MySQL Command Quick Reference
- Blog by Peter Zaitsev/Vadim Tkachenko on MySQL Performance Optimization
- Database Journal articles on MySQL
- MySQL and UTF-8 in Web Applications
Topics in database management systems (DBMS)Concepts
Database Database models Database storage Relational model Distributed DBMS ACID Null
Relational database Relational algebra Relational calculus Database normalization Referential integrity Relational DBMS
Primary key, Foreign key, Surrogate key, Superkey, Candidate keyObjects
Trigger View Table Cursor Log Transaction Index
Stored procedure PartitionTopics in SQL
Select Insert Update Merge Delete Join Union Create Drop
Begin work Commit Rollback Truncate AlterImplementations of database management systems Types of implementations
Relational Flat file Deductive Dimensional Hierarchical Object oriented Object relational Temporal XML data storesDatabase products
Object-oriented (comparison) Relational (comparison)Components
Query language Query optimizer Query plan ODBC JDBCSoftware development is the translation of a user need or marketing goal into a software product.[1][2] Software development is sometimes understood to encompass the processes of software engineering combined with the research and goals of software marketing
..... Click the link for more information.MySQL AB
Private
Founded 1995
Headquarters Uppsala, Sweden and Cupertino, California, USA
Key people Mårten Mickos, CEO
Kevin Harvey, Chairman
Mark C.
..... Click the link for more information.Code complete redirects here. For the Microsoft book, see Code Complete.
A software release is the distribution, whether public or private, of an initial or new and upgraded version of a computer software product.
..... Click the link for more information.- For the United States holiday, the Fourth of July, see Independence Day (United States).
..... Click the link for more information.20th century - 21st century - 22nd century
1970s 1980s 1990s - 2000s - 2010s 2020s 2030s
2004 2005 2006 - 2007 - 2008 2009 2010
2007 by topic:
News by month
Jan - Feb - Mar - Apr - May - Jun
..... Click the link for more information.Code complete redirects here. For the Microsoft book, see Code Complete.
A software release is the distribution, whether public or private, of an initial or new and upgraded version of a computer software product.
..... Click the link for more information.September 24 is the 1st day of the year (2nd in leap years) in the Gregorian calendar. There are 0 days remaining.Events
- 622 - Prophet Muhammad completes his hegira from Mecca to Medina.
..... Click the link for more information.20th century - 21st century - 22nd century
1970s 1980s 1990s - 2000s - 2010s 2020s 2030s
2004 2005 2006 - 2007 - 2008 2009 2010
2007 by topic:
News by month
Jan - Feb - Mar - Apr - May - Jun
..... Click the link for more information.An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.Cross-platform is a term which can refer to computer programs, operating systems, computer languages, programming languages, or other computer software and their implementations which can be made to work on multiple computer platforms.
..... Click the link for more information.Computer software can be organized into categories based on common function, type, or field of use. A list follows of common software categories.Categories of software
- Applications
..... Click the link for more information.A relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd. Relational databases are the most common kind of database in use today (assuming one does not count a file system as a database).
..... Click the link for more information.A software license comprises the permissions, rights and restrictions imposed on software (whether a component or a free-standing program). Use of software without a license could constitute infringement of the owner's exclusive rights under copyright or, occasionally, patent law
..... Click the link for more information.GNU General Public License
Author: Free Software Foundation
Version: 3
Copyright on the license: Free Software Foundation, Inc.
Publication date: 29 June 2007
OSI approved: Yes
Debian approved: Yes
Free Software:
..... Click the link for more information.A website (alternatively, Web site or web site) is a collection of Web pages, images, videos or other digital assets that is hosted on one or several Web server(s), usually accessible via the Internet, cell phone or a LAN.
..... Click the link for more information.thread in computer science is short for a thread of execution. Threads are a way for a program to fork (or split) itself into two or more simultaneously (or pseudo-simultaneously) running tasks.
..... Click the link for more information.Multi-user is a term that defines an operating system or application software that allows concurrent access by multiple users of a computer. Time-sharing systems are multi-user systems.
..... Click the link for more information.SQL
Paradigm: multi-paradigm
Appeared in: 1974
Designed by: Donald D. Chamberlin and Raymond F. Boyce
Developer: IBM
Latest release: SQL:2003/ 2003
Typing discipline: static, strong
Major implementations: Many
SQL
..... Click the link for more information.A database management system (DBMS) is computer software designed for the purpose of managing databases. Typical examples of DBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL, MySQL, FileMaker and Sybase Adaptive Server Enterprise.
..... Click the link for more information.MySQL AB
Private
Founded 1995
Headquarters Uppsala, Sweden and Cupertino, California, USA
Key people Mårten Mickos, CEO
Kevin Harvey, Chairman
Mark C.
..... Click the link for more information.Motto
(Royal) "För Sverige - I tiden" 1
"For Sweden – With the Times" ²
Anthem
Du gamla, Du fria
..... Click the link for more information.MySQL AB
Private
Founded 1995
Headquarters Uppsala, Sweden and Cupertino, California, USA
Key people Mårten Mickos, CEO
Kevin Harvey, Chairman
Mark C.
..... Click the link for more information.JBoss Application Server (or JBoss AS) is a free software / open source Java EE-based application server. Because it is Java-based, JBoss AS is cross-platform, usable on any operating system that Java supports.Environment
JBoss AS 4.0 is a J2EE 1.
..... Click the link for more information.Apache HTTP Server, commonly referred to simply as Apache, is a web server notable for playing a key role in the initial growth of the World Wide Web. Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java
..... Click the link for more information.Software development process
Activities and steps
Requirements | Architecture | Implementation | Testing | Deployment
Models
Agile | Cleanroom | Iterative | RAD | RUP | Spiral | Waterfall | XP
Supporting disciplines
..... Click the link for more information.Service can refer to:- Public services, services carried out with the aim of providing a public good
- A penetrant, as defined by a building code
- Service (Systems Architecture), the provision of a discrete business or technology function within a systems environment; i.
..... Click the link for more information.Contract Law
Part of the common law series
Contract
Contract formation
Offer and acceptance · Mailbox rule
Mirror image rule · Invitation to treat
Firm offer · Consideration
Defenses against formation
..... Click the link for more information.Proprietary software (also called non-free software or closed-source software) is software with restrictions on using, copying and modifying as enforced by the proprietor.
..... Click the link for more information.Internet is a worldwide, publicly accessible series of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP). It is a "network of networks" that consists of millions of smaller domestic, academic, business, and government
..... Click the link for more information.David Axmark is one of the founders of MySQL AB and a developer of the Free Software database server, MySQL.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus