manual.txt
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:1762k
- START-INFO-DIR-ENTRY
- * mysql: (mysql). *MySQL* documentation.
- END-INFO-DIR-ENTRY
- This is a manual for *MySQL*. This version is about the 3.23.35 version
- of *MySQL*. For a *3.20* version see the relevant distribution.
- General Information About MySQL
- *******************************
- This is the *MySQL* reference manual; it documents *MySQL* Version
- 3.23.35. As *MySQL* is work in progress, the manual gets updated
- frequently. There is a very good chance that this version is out of
- date, unless you are looking at it online. The most recent version of
- this manual is available at `http://www.mysql.com/documentation/' in
- many different formats. If you have a hard time finding information in
- the manual, you can try the searchable PHP version at
- `http://www.mysql.com/documentation/manual.php'.
- *MySQL* is a very fast, multi-threaded, multi-user, and robust SQL
- (Structured Query Language) database server.
- *MySQL* is free software. It is licensed with the *GNU GENERAL PUBLIC
- LICENSE* `http://www.gnu.org/'. *Note Licensing and Support::.
- The *MySQL* home page (http://www.mysql.com/) provides the latest
- information about *MySQL*.
- The following list describes some useful sections of the manual:
- * To get information about the company behind MySQL, see *Note What
- is MySQL AB::.
- * For a discussion of *MySQL*'s capabilities, see *Note Features::.
- * For installation instructions, see *Note Installing::.
- * For tips on porting *MySQL* to new architectures or operating
- systems, see *Note Porting::.
- * For information about upgrading from a Version 3.21 release, see
- *Note Upgrading-from-3.21::.
- * For a tutorial introduction to *MySQL*, see *Note Tutorial::.
- * For examples of SQL and benchmarking information, see the
- benchmarking directory (`sql-bench' in the distribution).
- * For a history of new features and bug fixes, see *Note News::.
- * For a list of currently known bugs and misfeatures, see *Note
- Bugs::.
- * For future plans, see *Note TODO::.
- * For a list of all the contributors to this project, see *Note
- Credits::.
- *IMPORTANT:*
- Reports of errors (often called bugs), as well as questions and
- comments, should be sent to the mailing list at <mysql@lists.mysql.com>.
- *Note Bug reports::. The `mysqlbug' script should be used to generate
- bug reports. For source distributions, the `mysqlbug' script can be
- found in the `scripts' directory. For binary distributions, `mysqlbug'
- can be found in the `bin' directory. If you have found a sensitive
- security bug in *MySQL*, you should send an email to
- <security@mysql.com>.
- If you have any suggestions concerning additions or corrections to this
- manual, please send them to the manual team at (<docs@mysql.com>).
- This is a reference manual; it does not provide general instruction on
- SQL or relational database concepts. If you want general information
- about SQL, see *Note General-SQL::. For books that focus more
- specifically on *MySQL*, see *Note MySQL-Books::.
- What Is MySQL
- =============
- *MySQL*, the most popular Open Source SQL database, is provided by
- *MySQL AB*. *MySQL AB* is a commercial company that builds its
- business providing services around the *MySQL* database. *Note What is
- MySQL AB::.
- *MySQL* is a database management system.
- A database is a structured collection of data. It may be anything
- from a simple shopping list to a picture gallery or the vast
- amounts of information in a corporate network. To add, access, and
- process data stored in a computer database, you need a database
- management system such as *MySQL*. Since computers are very good
- at handling large amounts of data, database management plays a
- central role in computing, as stand-alone utilities, or as parts
- of other applications.
- *MySQL* is a relational database management system.
- A relational database stores data in separate tables rather than
- putting all the data in one big storeroom. This adds speed and
- flexibility. The tables are linked by defined relations making it
- possible to combine data from several tables on request. The SQL
- part of *MySQL* stands for "Structured Query Language" - the most
- common standardized language used to access databases.
- *MySQL* is Open Source Software.
- Open source means that it is possible for anyone to use and modify.
- Anybody can download *MySQL* from the Internet and use it without
- paying anything. Anybody so inclined can study the source code and
- change it to fit their needs. *MySQL* uses the GPL (GNU General
- Public License) `http://www.gnu.org', to define what you may and
- may not do with the software in different situations. If you feel
- uncomfortable with the GPL or need to embed *MySQL* into a
- commercial application you can buy a commercially licensed version
- from us.
- Why use *MySQL*?
- *MySQL* is very fast, reliable, and easy to use. If that is what
- you are looking for, you should give it a try. *MySQL* also has a
- very practical set of features developed in very close cooperation
- with our users. You can find a performance comparison of *MySQL*
- to some other database managers on our benchmark page. *Note
- Benchmarks::.
- *MySQL* was originally developed to handle very large databases
- much faster than existing solutions and has been successfully used
- in highly demanding production environments for several years.
- Though under constant development, *MySQL* today offers a rich and
- very useful set of functions. The connectivity, speed, and
- security make *MySQL* highly suited for accessing databases on the
- Internet.
- The technical features of *MySQL*
- For advanced technical information, see *Note Reference::.
- *MySQL* is a client/server system that consists of a
- multi-threaded SQL server that supports different backends,
- several different client programs and libraries, administrative
- tools, and a programming interface.
- We also provide *MySQL* as a multi-threaded library which you can
- link into your application to get a smaller, faster, easier to
- manage product.
- *MySQL* has a lot of contributed software available.
- It is very likely that you will find that your favorite
- application/language already supports *MySQL*.
- The official way to pronounce *MySQL* is "My Ess Que Ell" (not
- MY-SEQUEL). But we try to avoid correcting people who say MY-SEQUEL.
- What Is MySQL AB
- ================
- *MySQL AB* is the Swedish company owned and run by the *MySQL* founders
- and main developers. We are dedicated to developing *MySQL* and
- spreading our database to new users. *MySQL AB* owns the copyright to
- the *MySQL* server source code and the *MySQL* trademark. A
- significant amount of revenues from our services goes to developing
- *MySQL*. *Note What-is::.
- *MySQL AB* has been profitable providing *MySQL AB* from the start. We
- don't get any outside funding, but have earned all our money ourselves.
- We are searching after partners that would like to support our
- development of *MySQL* so that we could accelerate the development
- pace. If you are interested in doing this, you can email
- <partner@mysql.com> about this!
- *MYSQL AB* has currently 20+ people on it's payroll and is growing
- rapidly. `http://www.mysql.com/development/team.html'.
- Our main streams of income are
- * Commercial high quality support for *MySQL* provided by *MySQL*
- developers. If you are interested in getting support, please
- visit `https://order.mysql.com/' to view our support options or to
- order support.
- * Consulting services. We have developers/consults in 12 countries
- and partners in many other countries that can help you with almost
- any *MySQL* related issues. If you need consulting services,
- please email a good description of your needs to <info@mysql.com>!
- If we can't handle this ourselves we can usually find a partner
- or a developer that can help you with your problems.
- * We sell licenses for using *MySQL* as an embedded database. *Note
- Cost::. If you have a commercial product for which you need a
- fast high quality database but you can't afford to make your
- product Open Source, you can buy the right to use the *MySQL*
- server under a normal commercial copyright. If you are interested
- in this you can buy *MySQL* licenses at `https://order.mysql.com/'
- or contact us at <licensing@mysql.com>.
- * Advertising; `http://www.mysql.com/' is a very popular web site
- with more than 10,000,000 page views per months (January 2001).
- By putting a banner on this you are guaranteed to reach a lot of
- potential customers in the Open source, Linux and database
- community. If you are interested in this email
- <advertising@mysql.com>.
- * We are building a partner program to be able to provide *MySQL*
- services in every country. If you are interested in becomming a
- partner of *MySQL AB* please visit
- `http://www.mysql.com/information/partners.html' or email
- <partner@mysql.com>.
- * We provide *MySQL* training through our partner programs. For more
- information, please email <info@mysql.com>.
- * The *MySQL* brand has since 1995 been associated with speed,
- reliability and is known to be something you can depend upon. If
- you are interested in using the *MySQL* trademark in your
- marketing, you can email <info@mysql.com> about this.
- The *MySQL* core values shows our dedication to *MySQL* and Open Source:
- We want *MySQL* to be:
- * The best and the most used database in the world
- * Available and affordable for all
- * Easy to use
- * Continuously improving while remaining fast and safe
- * Fun to use and improve
- * Free from bugs
- *MySQL AB* and the people of *MySQL AB*:
- * Promote Open Source Philosophy and support the Open Source
- Community
- * Aim to be good citizens
- * Prefer partners that share our values and mind-set
- * Answer mail and give support
- * Are a virtual company, networking with others
- * Work against software patents
- About This Manual
- =================
- This manual is currently available in Texinfo, plain text, Info, HTML,
- PostScript, and PDF versions. The primary document is the Texinfo file.
- The HTML version is produced automatically using a modified version of
- `texi2html'. The plain text and Info versions are produced with
- `makeinfo'. The Postscript version is produced using `texi2dvi' and
- `dvips'. The PDF version is produced with `pdftex'.
- This manual is written and maintained by David Axmark, Michael (Monty)
- Widenius, Jeremy Cole, and Paul DuBois. For other contributors, see
- *Note Credits::.
- Conventions Used in This Manual
- -------------------------------
- This manual uses certain typographical conventions:
- `constant'
- Constant-width font is used for command names and options; SQL
- statements; database, table and column names; C and Perl code; and
- environment variables. Example: "To see how `mysqladmin' works,
- invoke it with the `--help' option."
- `filename'
- Constant-width font with surrounding quotes is used for filenames
- and pathnames. Example: "The distribution is installed under the
- `/usr/local/' directory."
- `c'
- Constant-width font with surrounding quotes is also used to
- indicate character sequences. Example: "To specify a wild card,
- use the `%' character."
- _italic_
- Italic font is used for emphasis, _like this_.
- *boldface*
- Boldface font is used for access privilege names (for example, "do
- not grant the *process* privilege lightly") and occasionally to
- convey *especially strong emphasis*.
- When commands are shown that are meant to be executed by a particular
- program, the program is indicated by a prompt shown before the command.
- For example, `shell>' indicates a command that you execute from your
- login shell, and `mysql>' indicates a command that you execute from the
- `mysql' client program:
- shell> type a shell command here
- mysql> type a mysql command here
- Shell commands are shown using Bourne shell syntax. If you are using a
- `csh'-style shell, you may need to issue commands slightly differently.
- For example, the sequence to set an environment variable and run a
- command looks like this in Bourne shell syntax:
- shell> VARNAME=value some_command
- For `csh', you would execute the sequence like this:
- shell> setenv VARNAME value
- shell> some_command
- Often, database, table, and column names must be substituted into
- commands. To indicate that such substitution is necessary, this manual
- uses `db_name', `tbl_name' and `col_name'. For example, you might see
- a statement like this:
- mysql> SELECT col_name FROM db_name.tbl_name;
- This means that if you were to enter a similar statement, you would
- supply your own database, table, and column names, perhaps like this:
- mysql> SELECT author_name FROM biblio_db.author_list;
- SQL statements may be written in uppercase or lowercase. When this
- manual shows a SQL statement, uppercase is used for particular keywords
- if those keywords are under discussion (to emphasize them) and
- lowercase is used for the rest of the statement. For example, you
- might see the following in a discussion of the `SELECT' statement:
- mysql> SELECT count(*) FROM tbl_name;
- On the other hand, in a discussion of the `COUNT()' function, the same
- statement would be written like this:
- mysql> select COUNT(*) from tbl_name;
- If no particular emphasis is intended, all keywords are written
- uniformly in uppercase.
- In syntax descriptions, square brackets (`[' and `]') are used to
- indicate optional words or clauses:
- DROP TABLE [IF EXISTS] tbl_name
- When a syntax element consists of a number of alternatives, the
- alternatives are separated by vertical bars (`|'). When one member
- from a set of choices *may* be chosen, the alternatives are listed
- within square brackets (`[' and `]'):
- TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
- When one member from a set of choices *must* be chosen, the
- alternatives are listed within braces (`{' and `}'):
- {DESCRIBE | DESC} tbl_name {col_name | wild}
- History of MySQL
- ================
- We once started out with the intention of using `mSQL' to connect to our
- tables using our own fast low-level (ISAM) routines. However, after some
- testing we came to the conclusion that `mSQL' was not fast enough nor
- flexible enough for our needs. This resulted in a new SQL interface to
- our database but with almost the same API interface as `mSQL'. This API
- was chosen to ease porting of third-party code.
- The derivation of the name *MySQL* is not perfectly clear. Our base
- directory and a large number of our libraries and tools have had the
- prefix "my" for well over 10 years. However, Monty's daughter (some
- years younger) is also named My. So which of the two gave its name to
- *MySQL* is still a mystery, even for us.
- Books About MySQL
- =================
- While this manual is still the right place for up to date techical
- information, its primary goal is to contain everything there is to know
- about *MySQL*. It is sometimes nice to have a bound book to read in bed
- or while you travel. Here is a list of books about *MySQL* and related
- subjects (in English).
- By purchasing a book through these hyperlinks provided herein, you are
- contributing to the development of *MySQL*.
- _MySQL_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0735709211&bfmtype=book)
- Publisher New Riders
- Author Paul DuBois
- Pub Date 1st Edition December 1999
- ISBN 0735709211
- Pages 800
- Price $49.99 US
- Downloadable examples `samp_db.tar.gz'
- (http://www.mysql.com/Downloads/Contrib/Examples/samp_db.tar.gz)
- Errata are available here
- (http://www.mysql.com/documentation/pauls-mysql-book-errata.html)
- Foreword by Michael "Monty" Widenius, *MySQL* Moderator.
- In _MySQL_, Paul DuBois provides you with a comprehensive guide to one
- of the most popular relational database systems. Paul has contributed
- to the online documentation for *MySQL* and is an active member of the
- *MySQL* community. The principal *MySQL* developer, Monty Widenius, and
- a network of his fellow developers reviewed the manuscript, and
- provided Paul with the kind of insight no one else could supply.
- Instead of merely giving you a general overview of *MySQL*, Paul
- teaches you how to make the most of its capabilities. Through two
- sample database applications that run throughout the book, he gives you
- solutions to problems you're sure to face. He helps you integrate
- *MySQL* efficiently with third-party tools, such as PHP and Perl,
- enabling you to generate dynamic Web pages through database queries. He
- teaches you to write programs that access *MySQL* databases, and also
- provides a comprehensive set of references to column types, operators,
- functions, SQL syntax, *MySQL* programming, C API, Perl `DBI', and PHP
- API. _MySQL_ simply gives you the kind of information you won't find
- anywhere else.
- If you use *MySQL*, this book provides you with:
- * An introduction to *MySQL* and SQL
- * Coverage of *MySQL*'s data types and how to use them
- * Thorough treatment of how to write client programs in C
- * A guide to using the Perl `DBI' and PHP APIs for developing
- command-line and Web-based applications
- * Tips on administrative issues such as user accounts, backup, crash
- recovery, and security
- * Help in choosing an ISP for *MySQL* access
- * A comprehensive reference for *MySQL*'s data types, operators,
- functions, and SQL statements and utilities
- * Complete reference guides for *MySQL*'s C API, the Perl `DBI' API,
- and PHP's *MySQL*-related functions
- _MySQL & mSQL_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1565924347&bfmtype=book)
- Publisher O'Reilly
- Authors Randy Jay Yarger, George Reese & Tim King
- Pub Date 1st Edition July 1999
- ISBN 1-56592-434-7, Order Number: 4347
- Pages 506
- Price $34.95
- This book teaches you how to use *MySQL* and `mSQL', two popular and
- robust database products that support key subsets of SQL on both Linux
- and Unix systems. Anyone who knows basic C, Java, Perl, or Python can
- write a program to interact with a database, either as a stand-alone
- application or through a Web page. This book takes you through the
- whole process, from installation and configuration to programming
- interfaces and basic administration. Includes ample tutorial material.
- _Sams' Teach Yourself MySQL in 21 Days_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0672319144&bfmtype=book)
- Publisher Sams
- Authors Mark Maslakowski and Tony Butcher
- Pub Date June 2000
- ISBN 0672319144
- Pages 650
- Price $39.99
- Sams Teach Yourself *MySQL* in 21 Days is for intermediate Linux users
- who want to move into databases. A large share of the audience is Web
- developers who need a database to store large amounts of information
- that can be retrieved via the Web. _Sams' Teach Yourself MySQL in 21
- Days_ is a practical, step-by-step tutorial. The reader will learn to
- design and employ this open source database technology into his/her Web
- site using practical, hands-on examples to follow.
- _E-Commerce Solutions with MySQL_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0761524452&bfmtype=book)
- Publisher Prima Communications, Inc.
- Authors N/A
- Pub Date January 2000
- ISBN 0761524452
- Pages 500
- Price $39.99
- No description available.
- _MySQL and PHP from Scratch_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0789724405&bfmtype=book)
- Publisher Que
- Authors N/A
- Pub Date September 2000
- ISBN 0789724405
- Pages 550
- Price $34.99
- This book puts together information on installing, setting up, and
- troubleshooting Apache, MySQL, PHP3, and IMP into one complete volume.
- You also learn how each piece is part of a whole by learning,
- step-by-step, how to create a web-based e-mail system. Learn to run the
- equivalent of Active Server Pages (ASP) using PHP3, set up an
- e-commerce site using a database and the Apache web server, and create
- a data entry system (such as sales, product quality tracking, customer
- preferences, etc) that no installation in the PC.
- _Professional MySQL Programming_
- Available Barnes and Noble
- (http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=1861005164)
- Publisher Wrox Press, Inc.
- Authors N/A
- Pub Date Late 2001
- ISBN 1861005164
- Pages 1000
- Price $49.99
- No description available.
- _Professional Linux Programming_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1861003013&bfmtype=book)
- Publisher Wrox Press, Inc.
- Authors N/A
- Pub Date September 2000
- ISBN 1861003013
- Pages 1155
- Price $47.99
- In this follow-up to the best-selling Beginning Linux Programming, you
- will learn from the authors' real-world knowledge and experience of
- developing software for Linux; you'll be taken through the development
- of a sample 'DVD Store' application, with 'theme' chapters addressing
- different aspects of its implementation. Meanwhile, individual
- 'take-a-break' chapters cover important topics that go beyond the
- bounds of the central theme. All focus on the practical aspects of
- programming, showing how crucial it is to choose the right tools for
- the job, use them as they should be used, and get things right first
- time.
- _PHP and MySQL Web Development_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0672317842&bfmtype=book)
- Publisher Sams
- Authors Luke Welling, Laura Thomson
- Pub Date November 2000
- ISBN 0672317842
- Pages 700
- Price $49.99
- PHP3 and MySQL Web Development introduces you to the advantages of
- implementing both MySQL and PHP3. These advantages are detailed through
- the provision of both statistics and several case studies. A practical
- web application is developed throughout the book, providing you with
- the tools necessary to implement a functional online database. Each
- function is developed separately, allowing you the choice to
- incorporate only those parts that you would like to implement.
- Programming concepts of the PHP3 language are highlighted, including
- functions which tie MySQL support into a PHP3 script and advanced
- topics regarding table manipulation.
- *Books recommended by the MySQL Developers*
- _SQL-99 Complete, Really_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0879305681&bfmtype=book)
- Publisher CMP Books
- Authors Peter Gulutzan, Trudy Pelzer
- Pub Date April 1999
- ISBN 0879305681
- Pages 1104
- Price $55.96
- This book contains complete descriptions of the new standards for
- syntax, data structures, and retrieval processes of SQL databases. As
- an example-based reference manual, it includes all of the CLI
- functions, information, schema tables, and status codes, as well as a
- working SQL database provided on the companion disk.
- _C, A reference manual_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0133262243&bfmtype=book)
- Publisher Prentice Hall
- Authors Samuel P. Harbison, Guy L. Steele
- Pub Date September 1994
- ISBN 0133262243
- Pages 480
- Price $35.99
- A new and improved revision of the bestselling C language reference.
- This manual introduces the notion of "Clean C, " writing C code that
- can be compiled as a C++ program, C programming style that emphasizes
- correctness, portability, and maintainability. and incorporates the ISO
- C Amendment 1 (1994) which specifies new facilities for writing
- portable, international programs in C.
- _C++ for Real Programmers_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0120499428&bfmtype=book)
- Publisher Academic Press, Incorporated
- Authors Jeff Alger, Jim Keogh
- Pub Date February 1998
- ISBN 0120499428
- Pages 388
- Price $39.95
- C++ For Real Programmers bridges the gap between C++ as described in
- beginner and intermediate-level books and C++ as it is practiced by
- experts. Numerous valuable techniques are described, organized into
- three simple themes: indirection, class hierarchies, and memory
- management. It also provides indepth coverage of template creation,
- exception handling, pointers and optimization techniques. The focus of
- the book is on ANSI C++ and so is compiler independent. C++ For Real
- Programmers is a revision of Secrets of the C++ Masters and includes a
- new appendix comparing C++ with Java. The book comes with a 3.5" disk
- for Windows with source code.
- _Algorithms in C_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0201514257&bfmtype=book)
- Publisher Addison Wesley Longman, Inc.
- Authors Robert Sedgewick
- Pub Date April 1990
- ISBN 0201514257
- Pages 648
- Price $45.75
- Algorithms in C describes a variety of algorithms in a number of areas
- of interest, including: sorting, searching, string-processing, and
- geometric, graph and mathematical algorithms. The book emphasizes
- fundamental techniques, providing readers with the tools to confidently
- implement, run, and debug useful algorithms.
- _Multithreaded Programming with Pthreads_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0136807291&bfmtype=book)
- Publisher Prentice Hall
- Authors Bil Lewis, Daniel J. Berg
- Pub Date October 1997
- ISBN 0136807291
- Pages 432
- Price $34.95
- Based on the best-selling Threads Primer, Multithreaded Programming
- with Pthreads gives you a solid understanding of Posix threads: what
- they are, how they work, when to use them, and how to optimize them. It
- retains the clarity and humor of the Primer, but includes expanded
- comparisons to Win32 and OS/2 implementations. Code examples tested on
- all of the major UNIX platforms are featured along with detailed
- explanations of how and why they use threads.
- _Programming the PERL DBI: Database Programming with PERL_
- Available Barnes and Noble
- (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1565926994&bfmtype=book)
- Publisher O'Reilly & Associates, Incorporated
- Authors Alligator Descartes, Tim Bunce
- Pub Date February 2000
- ISBN 1565926994
- Pages 400
- Price $27.96
- Programming the Perl DBI is coauthored by Alligator Descartes, one of
- the most active members of the DBI community, and by Tim Bunce, the
- inventor of DBI. For the uninitiated, the book explains the
- architecture of DBI and shows you how to write DBI-based programs. For
- the experienced DBI dabbler, this book explains DBI's nuances and the
- peculiarities of each individual DBD.
- The book includes:
- * An introduction to DBI and its design
- * How to construct queries and bind parameters
- * Working with database, driver, and statement handles
- * Debugging techniques
- * Coverage of each existing DBD
- * A complete reference to DBI
- The Main Features of MySQL
- ==========================
- The following list describes some of the important characteristics of
- *MySQL*:
- * Fully multi-threaded using kernel threads. That means it can easily
- use multiple CPUs if available.
- * C, C++, Eiffel, Java, Perl, PHP, Python and Tcl APIs. *Note
- Clients::.
- * Works on many different platforms. *Note Which OS::.
- * Many column types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes
- long, `FLOAT', `DOUBLE', `CHAR', `VARCHAR', `TEXT', `BLOB',
- `DATE', `TIME', `DATETIME', `TIMESTAMP', `YEAR', `SET', and `ENUM'
- types. *Note Column types::.
- * Very fast joins using an optimized one-sweep multi-join.
- * Full operator and function support in the `SELECT' and `WHERE'
- parts of queries. Example:
- mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
- WHERE income/dependents > 10000 AND age > 30;
- * SQL functions are implemented through a highly optimized class
- library and should be as fast as they can get! Usually there
- shouldn't be any memory allocation at all after query
- initialization.
- * Full support for SQL `GROUP BY' and `ORDER BY' clauses. Support
- for group functions (`COUNT()', `COUNT(DISTINCT)', `AVG()',
- `STD()', `SUM()', `MAX()' and `MIN()').
- * Support for `LEFT OUTER JOIN' and `RIGHT OUTER JOIN' with ANSI SQL
- and ODBC syntax.
- * You can mix tables from different databases in the same query (as
- of Version 3.22).
- * A privilege and password system that is very flexible and secure
- and allows host-based verification. Passwords are secure because
- all password traffic is encrypted when you connect to a server.
- * ODBC (Open-DataBase-Connectivity) support for Win32 (with source).
- All ODBC 2.5 functions and many others. For example, you can use
- MS Access to connect to your *MySQL* server. *Note ODBC::.
- * Very fast B-tree disk tables with index compression.
- * Up to 32 indexes per table are allowed. Each index may consist of
- 1 to 16 columns or parts of columns. The maximum index length is
- 500 bytes (this may be changed when compiling *MySQL*). An index
- may use a prefix of a `CHAR' or `VARCHAR' field.
- * Fixed-length and variable-length records.
- * In-memory hash tables which are used as temporary tables.
- * Handles large databases. We are using *MySQL* with some databases
- that contain 50,000,000 records and we know of users that uses
- *MySQL* with 60,000 tables and about 5,000,000,000 rows
- * All columns have default values. You can use `INSERT' to insert a
- subset of a table's columns; those columns that are not explicitly
- given values are set to their default values.
- * Uses GNU Automake, Autoconf, and `libtool' for portability.
- * Written in C and C++. Tested with a broad range of different
- compilers.
- * A very fast thread-based memory allocation system.
- * No memory leaks. Tested with a commercial memory leakage detector
- (`purify').
- * Includes `myisamchk', a very fast utility for table checking,
- optimization, and repair. *Note Maintenance::.
- * Full support for several different character sets, including
- ISO-8859-1 (Latin1), big5, ujis, and more. For example, the
- Scandinavian characters `a*', `a"' and `o"' are allowed in table
- and column names.
- * All data are saved in the chosen character set. All comparisons
- for normal string columns are case insensitive.
- * Sorting is done according to the chosen character set (the Swedish
- way by default). It is possible to change this when the *MySQL*
- server is started up. To see an example of very advanced sorting,
- look at the Czech sorting code. *MySQL* supports many different
- character sets that can be specified at compile and run time.
- * Aliases on tables and columns are allowed as in the SQL92 standard.
- * `DELETE', `INSERT', `REPLACE', and `UPDATE' return how many rows
- were changed (affected). It is possible to return the number of
- rows matched instead by setting a flag when connecting to the
- server.
- * Function names do not clash with table or column names. For
- example, `ABS' is a valid column name. The only restriction is
- that for a function call, no spaces are allowed between the
- function name and the `(' that follows it. *Note Reserved words::.
- * All *MySQL* programs can be invoked with the `--help' or `-?'
- options to obtain online assistance.
- * The server can provide error messages to clients in many
- languages. *Note Languages::.
- * Clients may connect to the *MySQL* server using TCP/IP Sockets,
- Unix Sockets (Unixes), or Named Pipes (NT).
- * The *MySQL*-specific `SHOW' command can be used to retrieve
- information about databases, tables, and indexes. The `EXPLAIN'
- command can be used to determine how the optimizer resolves a
- query.
- How Stable Is MySQL?
- ====================
- This section addresses the questions "How stable is *MySQL*?" and "Can
- I depend on *MySQL* in this project?" We will try to clarify some
- issues and to answer some of the more important questions that seem to
- concern many people. This section has been put together from
- information gathered from the mailing list (which is very active in
- reporting bugs).
- At TcX, *MySQL* has worked without any problems in our projects since
- mid-1996. When *MySQL* was released to a wider public, we noticed that
- there were some pieces of "untested code" that were quickly found by the
- new users who made queries in a manner different than our own. Each new
- release has had fewer portability problems than the previous one (even
- though each has had many new features).
- Each release of *MySQL* has been usable, and there have been problems
- only when users start to use code from the "gray zones." Naturally,
- outside users don't know what the gray zones are; this section attempts
- to indicate those that are currently known. The descriptions deal with
- Version 3.23.x of *MySQL*. All known and reported bugs are fixed in the
- latest version, with the exception of the bugs listed in the bugs
- section, which are things that are design-related. *Note Bugs::.
- *MySQL* is written in multiple layers and different independent
- modules. These modules are listed below with an indication of how
- well-tested each of them is:
- *The ISAM table handler -- Stable*
- This manages storage and retrieval of all data in *MySQL* Version
- 3.22 and earlier. In all *MySQL* releases there hasn't been a
- single (reported) bug in this code. The only known way to get a
- corrupted table is to kill the server in the middle of an update.
- Even that is unlikely to destroy any data beyond rescue, because
- all data are flushed to disk between each query. There hasn't
- been a single bug report about lost data because of bugs in
- *MySQL*.
- *The MyISAM table handler -- Gamma*
- This is new in *MySQL* Version 3.23. It's largely based on the ISAM
- table code but has a lot of new and very useful features.
- *The parser and lexical analyser -- Stable*
- There hasn't been a single reported bug in this system for a long
- time.
- *The C client code -- Stable*
- No known problems. In early Version 3.20 releases, there were some
- limitations in the send/receive buffer size. As of Version 3.21,
- the buffer size is now dynamic up to a default of 16M.
- *Standard client programs -- Stable*
- These include `mysql', `mysqladmin', `mysqlshow', `mysqldump', and
- `mysqlimport'.
- *Basic SQL -- Stable*
- The basic SQL function system and string classes and dynamic memory
- handling. Not a single reported bug in this system.
- *Query optimizer -- Stable*
- *Range optimizer -- Stable*
- *Join optimizer -- Stable*
- *Locking -- Gamma*
- This is very system-dependent. On some systems there are big
- problems using standard OS locking (`fcntl()'). In these cases,
- you should run the *MySQL* daemon with the `--skip-locking' flag.
- Problems are known to occur on some Linux systems, and on SunOS
- when using NFS-mounted file systems.
- *Linux threads -- Stable*
- The major problem found has been with the `fcntl()' call, which is
- fixed by using the `--skip-locking' option to `mysqld'. Some
- people have reported lockup problems with Version 0.5.
- LinuxThreads will need to be recompiled if you plan to use 1000+
- concurrent connections. Although it is possible to run that many
- connections with the default LinuxThreads (however, you will never
- go above 1021), the default stack spacing of 2 MB makes the
- application unstable, and we have been able to reproduce a
- coredump after creating 1021 idle connections. See Linux Notes for
- more details.
- *Solaris 2.5+ pthreads -- Stable*
- We use this for all our production work.
- *MIT-pthreads (Other systems) -- Stable*
- There have been no reported bugs since Version 3.20.15 and no
- known bugs since Version 3.20.16. On some systems, there is a
- "misfeature" where some operations are quite slow (a 1/20 second
- sleep is done between each query). Of course, MIT-pthreads may
- slow down everything a bit, but index-based `SELECT' statements
- are usually done in one time frame so there shouldn't be a mutex
- locking/thread juggling.
- *Other thread implementions -- Beta - Gamma*
- The ports to other systems are still very new and may have bugs,
- possibly in *MySQL*, but most often in the thread implementation
- itself.
- *`LOAD DATA ...', `INSERT ... SELECT' -- Stable*
- Some people thought they had found bugs here, but these usually
- have turned out to be misunderstandings. Please check the manual
- before reporting problems!
- *`ALTER TABLE' -- Stable*
- Small changes in Version 3.22.12.
- *DBD -- Stable*
- Now maintained by Jochen Wiedmann <wiedmann@neckar-alb.de>. Thanks!
- *`mysqlaccess' -- Stable*
- Written and maintained by Yves Carlier <Yves.Carlier@rug.ac.be>.
- Thanks!
- *`GRANT' -- Stable*
- Big changes made in *MySQL* Version 3.22.12.
- **MyODBC* (uses ODBC SDK 2.5) -- Gamma*
- It seems to work well with some programs.
- *Replication - Beta / Gamma*
- We are still working on replication, so don't expect this to be
- rock solid yet. On the other hand, some *MySQL* users are already
- using this with good results.
- *BDB Tables - Beta*
- The Berkeley DB code is very stable, but we are still improving
- the interface between *MySQL* and BDB tables, so it will take some
- time before this is as tested as the other table types.
- *Innobase Tables - Alpha*
- This is a very recent addition to `MySQL' and are not very tested
- yet.
- *Automatic recovery of MyISAM tables - Beta.*
- This only affects the new code that checks if the table was closed
- properly on open and executes an automatic check/repair of the
- table if it wasn't.
- *MERGE tables - Beta / Gamma*
- The usage of keys on `MERGE' tables is still not that tested. The
- other part of the `MERGE' code is quite well tested.
- *FULLTEXT - Beta*
- Text search seams to work, but is still not widely used.
- MySQL AB provides e-mail support for paying customers, but the *MySQL*
- mailing list usually provides answers to common questions. Bugs are
- usually fixed right away with a patch; for serious bugs, there is almost
- always a new release.
- Year 2000 Compliance
- ====================
- *MySQL* itself has no problems with Year 2000 (Y2K) compliance:
- * *MySQL* uses Unix time functions and has no problems with dates
- until `2069'; all 2-digit years are regarded to be in the range
- `1970' to `2069', which means that if you store `01' in a `year'
- column, *MySQL* treats it as `2001'.
- * All *MySQL* date functions are stored in one file `sql/time.cc'
- and coded very carefully to be year 2000-safe.
- * In *MySQL* Version 3.22 and later, the new `YEAR' column type can
- store years `0' and `1901' to `2155' in 1 byte and display them
- using 2 or 4 digits.
- You may run into problems with applications that use *MySQL* in a way
- that is not Y2K-safe. For example, many old applications store or
- manipulate years using 2-digit values (which are ambiguous) rather than
- 4-digit values. This problem may be compounded by applications that use
- values such as `00' or `99' as "missing" value indicators.
- Unfortunately, these problems may be difficult to fix, because different
- applications may be written by different programmers, each of whom may
- use a different set of conventions and date-handling functions.
- Here is a simple demonstration illustrating that *MySQL* doesn't have
- any problems with dates until the year 2030:
- mysql> DROP TABLE IF EXISTS y2k;
- mysql> CREATE TABLE y2k (date date, date_time datetime, time_stamp timestamp);
- mysql> INSERT INTO y2k VALUES ("1998-12-31","1998-12-31 23:59:59",19981231235959);
- mysql> INSERT INTO y2k VALUES ("1999-01-01","1999-01-01 00:00:00",19990101000000);
- mysql> INSERT INTO y2k VALUES ("1999-09-09","1999-09-09 23:59:59",19990909235959);
- mysql> INSERT INTO y2k VALUES ("2000-01-01","2000-01-01 00:00:00",20000101000000);
- mysql> INSERT INTO y2k VALUES ("2000-02-28","2000-02-28 00:00:00",20000228000000);
- mysql> INSERT INTO y2k VALUES ("2000-02-29","2000-02-29 00:00:00",20000229000000);
- mysql> INSERT INTO y2k VALUES ("2000-03-01","2000-03-01 00:00:00",20000301000000);
- mysql> INSERT INTO y2k VALUES ("2000-12-31","2000-12-31 23:59:59",20001231235959);
- mysql> INSERT INTO y2k VALUES ("2001-01-01","2001-01-01 00:00:00",20010101000000);
- mysql> INSERT INTO y2k VALUES ("2004-12-31","2004-12-31 23:59:59",20041231235959);
- mysql> INSERT INTO y2k VALUES ("2005-01-01","2005-01-01 00:00:00",20050101000000);
- mysql> INSERT INTO y2k VALUES ("2030-01-01","2030-01-01 00:00:00",20300101000000);
- mysql> INSERT INTO y2k VALUES ("2050-01-01","2050-01-01 00:00:00",20500101000000);
- mysql> SELECT * FROM y2k;
- +------------+---------------------+----------------+
- | date | date_time | time_stamp |
- +------------+---------------------+----------------+
- | 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
- | 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
- | 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
- | 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
- | 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
- | 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
- | 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
- | 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
- | 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
- | 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
- | 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
- | 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
- | 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
- +------------+---------------------+----------------+
-
- 13 rows in set (0.00 sec)
- This shows that the `DATE' and `DATETIME' types will not give any
- problems with future dates (they handle dates until the year 9999).
- The `TIMESTAMP' type, which is used to store the current time, has a
- range up to only `2030-01-01'. `TIMESTAMP' has a range of `1970' to
- `2030' on 32-bit machines (signed value). On 64-bit machines it handles
- times up to `2106' (unsigned value).
- Even though *MySQL* is Y2K-compliant, it is your responsibility to
- provide unambiguous input. See *Note Y2K issues:: for *MySQL*'s rules
- for dealing with ambiguous date input data (data containing 2-digit year
- values).
- General SQL Information and Tutorials
- =====================================
- The following book has been recommended by several people on the *MySQL*
- mailing list:
- Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky
- _The Practical SQL Handbook: Using Structured Query Language_
- Second Edition
- Addison-Wesley
- ISBN 0-201-62623-3
- http://www.awl.com
- The following book has also received some recommendations by *MySQL*
- users:
- Martin Gruber
- _Understanding SQL_
- ISBN 0-89588-644-8
- Publisher Sybex 510 523 8233
- Alameda, CA USA
- A SQL tutorial is available on the net at
- http://www.geocities.com/SiliconValley/Vista/2207/sql1.html.
- Useful MySQL-related Links
- ==========================
- Apart from the following links, you can find and download a lot of
- *MySQL* programs, tools and APIs from the Contrib directory
- (http://www.mysql.com/Downloads/Contrib/).
- *MySQL*
- Tutorials and Manuals
- ---------------------
- * `http://www.4t2.com/mysql'
- Information about the German MySQL mailing list.
- * `http://www2.rent-a-database.de/mysql/' *MySQL* manual in German.
- * `http://www.bitmover.com:8888//home/bk/mysql'
- Web access to the *MySQL* BitKeeper repository.
- * `http://www.analysisandsolutions.com/code/mybasic.htm'
- Beginners *MySQL* Tutorial on how to install and set up *MySQL* on
- a Windows machine.
- * `http://www.devshed.com/Server_Side/MySQL/'
- A lot of *MySQL* tutorials.
- * `http://mysql.hitstar.com/'
- MySQL manual in Chinese.
- * `http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/'
- Setting Up a *MySQL*-based Web site.
- *
- `http://www.hotwired.com/webmonkey/backend/tutorials/tutorial1.html'
- *MySQL*-Perl tutorial.
- * `http://www.iserver.com/support/contrib/perl5/modules.html'
- Installing new Perl modules that require locally installed modules.
- *
- `http://www.hotwired.com/webmonkey/databases/tutorials/tutorial4.html'
- PHP/*MySQL* Tutorial.
- * `http://www.useractive.com/'
- Hands on tutorial for *MySQL*.
- Porting MySQL/Using MySQL on Different Systems
- ----------------------------------------------
- * `http://xclave.macnn.com/MySQL/'
- The Mac OS Xclave. Running *MySQL* on Mac OS X
- * `http://www.prnet.de/RegEx/mysql.html'
- MySQL for Mac OS X Server.
- * `http://www.latencyzero.com/macosx/mysql.html'
- Bulding MySQL for Mac OS X
- * `http://www.essencesw.com/Software/mysqllib.html'
- New Client libraries for the Mac OS Classic (Macintosh).
- * `http://www.lilback.com/macsql/'
- Client libraries for Mac OS Classic (Macintosh).
- Perl-related Links
- ------------------
- * `http://dbimysql.photoflux.com/'
- Perl DBI with *MySQL* FAQ.
- MySQL Discussion Forums
- -----------------------
- * `http://www.weberdev.com/'
- Examples using *MySQL*; (check Top 20)
- * `http://futurerealm.com/forum/futureforum.htm'
- FutureForum Web Discussion Software.
- Commercial Applications that Support MySQL
- ------------------------------------------
- * `http://www.supportwizard.com/'
- SupportWizard; Interactive helpdesk on the Web (This product
- includes a licensed copy of *MySQL*.)
- * `http://www.sonork.com/'
- Sonork, Instant Messenger that is not only Internet oriented. It's
- focused on private networks and on small to medium companies.
- Client is free, server is free for up to 5 seats.
- * `http://www.stweb.org/'
- StWeb - Stratos Web and Application server - An easy-to-use, cross
- platform, Internet/Intranet development and deployment system for
- development of web-enabled applications. The standard version of
- StWeb has a native interface to *MySQL* database.
- * `http://www.rightnowtech.com/'
- Right Now Web; Web automation for customer service.
- * `http://www.icaap.org/Bazaar/'
- Bazaar; Interactive Discussion Forums with Web interface.
- * `http://www.phonesweep.com/'
- PhoneSweepT is the world's first commercial Telephone Scanner.
- Many break-ins in recent years have come not through the Internet,
- but through unauthorized dial-up modems. PhoneSweep lets you find
- these modems by repeatedly placing phone calls to every phone
- number that your organization controls. PhoneSweep has a built-in
- expert system that can recognize more than 250 different kinds of
- remote-access programs, including Carbon Copy(TM), pcANYWHERE(TM),
- and Windows NT RAS. All information is stored in the SQL database.
- It then generates a comprehensive report detailing which services
- were discovered on which dial-up numbers in your organization.
- SQL Clients and Report Writers
- ------------------------------
- * `http://www.urbanresearch.com/software/utils/urbsql/index.html'
- *MySQL* Editor/Utility for MS Windows Platforms.
- * `http://ksql.sourceforge.net/'
- KDE *MySQL* client.
- * `http://www.ecker-software.de'
- A Windows GUI client by David Ecker.
- * `http://www.icaap.org/software/kiosk/'
- Kiosk; a *MySQL* client for database management. Written in Perl.
- Will be a part of Bazaar.
- * `http://www.casestudio.com/' Db design tool that supports MySQL
- 3.23.
- * `http://home.skif.net/~voland/zeos/eng/index.html'
- Zeos - A client that supports *MySQL*, Interbase and PostgreSQL.
- *
- `http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html'
- A free report writer in Java
- * `http://www.javaframework.de'
- MySQLExport - Export of *MySQL* create statements and data in a
- lot of different formats (SQL, HTML, CVS, text, ZIP, GZIP...)
- * `http://dlabs.4t2.com'
- M2D, a MySQL-ADmin-client for windows. It supports administration
- of MySQL-Databases, creating of new DBs and tables, editing etc.
- * `http://www.scibit.com/Products/Software/Utils/Mascon.asp'
- Mascon is a powerful Win32 GUI for the administering MySQL server
- databases.
- * `http://www.rtlabs.com/'
- MacSQL Monitor. GUI for MySQL, ODBC, and JDBC databases for the
- Mac OS.
- Distributions that Include MySQL
- --------------------------------
- * `http://www.suse.com/'
- SuSE Linux (6.1 and above)
- * `http://www.redhat.com/'
- RedHat Linux (7.0 and above)
- * `http://distro.conectiva.com.br' Conectiva Linux (4.0 and above)
- Web Development Tools that Support *MySQL*
- ------------------------------------------
- * `http://www.php.net/'
- PHP: A server-side HTML-embedded scripting language.
- * `http://www.midgard-project.org'
- The Midgard Application Server; a powerful Web development
- environment based on *MySQL* and PHP.
- * `http://www.smartworker.org'
- SmartWorker is a platform for Web application development.
- * `http://xsp.lentus.se/'
- XSP: e(X)tendible (S)erver (P)ages and is a HTML embedded tag
- language written in Java (previously known as XTAGS.)
- * `http://www.dbServ.de/'
- dbServ is an extension to a web server to integrate database
- output into your HTML code. You may use any HTML function in your
- output. Only the client will stop you. It works as standalone
- server or as JAVA servlet.
- * `http://www.chilisoft.com/'
- Platform independent ASP from Chili!Soft
- * `http://www.wernhart.priv.at/php/'
- *MySQL* + PHP demos.
- * `http://www.dbwww.com/'
- ForwardSQL: HTML interface to manipulate *MySQL* databases.
- * `http://www.daa.com.au/~james/www-sql/'
- WWW-SQL: Display database information.
- * `http://www.minivend.com/minivend/'
- Minivend: A Web shopping cart.
- * `http://www.heitml.com/'
- HeiTML: A server-side extension of HTML and a 4GL language at the
- same time.
- * `http://www.metahtml.com/'
- Metahtml: A Dynamic Programming Language for WWW Applications.
- * `http://www.binevolve.com/'
- VelocityGen for Perl and Tcl.
- * `http://hawkeye.net/'
- Hawkeye Internet Server Suite.
- * `http://www.fastflow.com/'
- Network Database Connection For Linux
- * `http://www.wdbi.net/'
- WDBI: Web browser as a universal front end to databases which
- supports *MySQL* well.
- * `http://www.webgroove.com/'
- WebGroove Script: HTML compiler and server-side scripting language.
- * `http://www.ihtml.com/'
- A server-side Web site scripting language.
- * `ftp://ftp.igc.apc.org/pub/myodbc/README'
- How to use *MySQL* with ColdFusion on Solaris.
- * `http://calistra.com/MySQL/'
- Calistra's ODBC *MySQL* Administrator.
- * `http://www.webmerger.com'
- Webmerger - This CGI tool interprets files and generates dynamic
- output based on a set of simple tags. Ready-to-run drivers for
- *MySQL* and PostgreSQL through ODBC.
- * `http://phpclub.net/'
- PHPclub - Tips and tricks for PHP.
- * `http://www.penguinservices.com/scripts'
- *MySQL* and Perl Scripts.
- * `http://www.widgetchuck.com'
- The Widgetchuck; Web Site Tools and Gadgets
- * `http://www.adcycle.com/'
- AdCycle - advertising management software.
- * `http://sourceforge.net/projects/pwpage/'
- pwPage - provides an extremely fast and simple approach to the
- creation of database forms. That is, if a database table exists
- and an HTML page has been constructed using a few simple
- guidelines, pwPage can be immediately used for table data
- selections, insertions, updates, deletions and selectable table
- content reviewing.
- * `http://www.omnis-software.com/products/studio/studio.html'
- OMNIS Studio is a rapid application development (RAD) tool.
- * `http://www.webplus.com'
- talentsoft Web+ 4.6 - a powerful and comprehensive development
- language for use in creating web-based client/server applications
- without writing complicated, low-level, and time-consuming CGI
- programs.
- Database Design Tools with MySQL Support
- ----------------------------------------
- * `http://www.mysql.com/documentation/dezign/'
- "DeZign for databases" is a database development tool that uses an
- entity relationship diagram (ERD).
- Web Servers with *MySQL* Tools
- ------------------------------
- * `http://bourbon.netvision.net.il/mysql/mod_auth_mysql/'
- An Apache authentication module.
- * `http://www.roxen.com/'
- The Roxen Challenger Web server.
- Extensions for Other Programs
- -----------------------------
- * `http://www.seawood.org/msql_bind/'
- *MySQL* support for BIND (The Internet Domain Name Server).
- * `http://www.inet-interactive.com/sendmail/'
- *MySQL* support for Sendmail and Procmail.
- Using *MySQL* with Other Programs
- ---------------------------------
- *
- `http://www.iserver.com/support/addonhelp/database/mysql/msaccess.html'
- Using *MySQL* with Access.
- * `http://www.iserver.com/support/contrib/perl5/modules.html'
- Installing new Perl modules that require locally installed modules.
- ODBC-related Links
- ------------------
- * `http://www.iodbc.org/'
- Popular iODBC Driver Manager (libiodbc) now available in Open
- Source format.
- * `http://users.ids.net/~bjepson/freeODBC/'
- The FreeODBC Pages.
- * `http:/http://genix.net/unixODBC/'
- The unixODBC Project goals are to develop and promote unixODBC to
- be the definitive standard for ODBC on the Linux platform. This is
- to include GUI support for KDE.
- * `http://www.sw-soft.com/products/BtrieveODBC/'
- A *MySQL*-based ODBC drivers for Btrieve. From SWsoft.
- *API*-related Links
- -------------------
- * `http://www.amedea.cz/mysqlx/index.html'
- MySQL COM extension - With this COM object you can use MySQL also
- on Windows with ASP pages or with Delphi, Visual Basic, Visual
- C++, etc.
- * `http://www.jppp.com/'
- Partially implemented TDataset-compatible components for *MySQL*.
- * `http://www.riverstyx.net/qpopmysql/'
- qpopmysql - A patch to allow POP3 authentication from a *MySQL*
- database. There's also a link to Paul Khavkine's patch for
- Procmail to allow any MTA to deliver to users in a *MySQL*
- database.
- * `http://www.pbc.ottawa.on.ca'
- Visual Basic class generator for Active X.
- * `http://www.essencesw.com/Software/mysqllib.html'
- New Client libraries for the Mac OS Classic (Macintosh).
- * `http://www.lilback.com/macsql/'
- Client libraries for the Macintosh.
- * `http://www.essencesw.com/Plugins/mysqlplug.html'
- Plugin for REALbasic (for Machintosh)
- * `http://www.iis.ee.ethz.ch/~neeri/macintosh/gusi-qa.html'
- A library that emulates BSD sockets and pthreads on Macintosh.
- This can be used if you want to compile the *MySQL* client library
- on Mac. It could probably even be sued to port *MySQL* to
- Macintosh, but we don't know of anyone that has tried that.
- * `http://www.dedecker.net/jessie/scmdb/'
- SCMDB - an add-on for SCM that ports the mysql C library to scheme
- (SCM). With this library scheme developers can make connections
- to a mySQL database and use embedded SQL in their programs.
- Other *MySQL*-related Links
- ---------------------------
- * SAT (http://www.satisoft.com/) The Small Application Toolkit (SAT)
- is a collection of utilities intended to simplify the development
- of small, multi-user, GUI based applications in a (Microsoft -or-
- X) Windows Client / Unix Server environment.
- * `http://www.wix.com/mysql-hosting/'
- Registry of Web providers who support *MySQL*.
- * `http://www.softagency.co.jp/mysql/index.en.phtml'
- Links about using *MySQL* in Japan/Asia.
- * `http://abattoir.cc.ndsu.nodak.edu/~nem/mysql/udf/'
- *MySQL* UDF Registry.
- * `http://www.open.com.au/products.html'
- Commercial Web defect tracking system.
- * `http://www.stonekeep.com/pts/'
- PTS: Project Tracking System.
- * `http://tomato.nvgc.vt.edu/~hroberts/mot'
- Job and software tracking system.
- * `http://www.cynergi.net/non-secure/exportsql/'
- ExportSQL: A script to export data from Access95+.
- * `http://SAL.KachinaTech.COM/H/1/MYSQL.html'
- SAL (Scientific Applications on Linux) *MySQL* entry.
- * `http://www.infotech-nj.com/itech/index.shtml'
- A consulting company which mentions *MySQL* in the right company.
- * `http://www.pmpcs.com/'
- PMP Computer Solutions. Database developers using *MySQL* and
- `mSQL'.
- * `http://www.aewa.org/'
- Airborne Early Warning Association.
- * `http://www.dedserius.com/y2kmatrix/'
- Y2K tester.
- SQL and Database Interfaces
- ---------------------------
- * `http://java.sun.com/products/jdbc/'
- The JDBC database access API.
- * `http://www.gagme.com/mysql'
- Patch for `mSQL' Tcl.
- * `http://www.amsoft.ru/easysql/'
- EasySQL: An ODBC-like driver manager.
- * `http://www.lightlink.com/hessling/rexxsql.html'
- A REXX interface to SQL databases.
- * `http://www.mytcl.cx/'
- Tcl interface based on tcl-sql with many bugfixes.
- * `http://www.binevolve.com/~tdarugar/tcl-sql/'
- Tcl interface.
- Examples of MySQL Use
- ---------------------
- * `http://www.little6.com/about/linux/'
- Little6 Inc., An online contract and job finding site that is
- powered by *MySQL*, PHP3, and Linux.
- *
- `http://www.delec.com/is/products/prep/examples/BookShelf/index.html'
- DELECis - A tool that makes it very easy to create an
- automatically generated table documentation. They have used
- *MySQL* as an example.
- * `http://www.worldrecords.com'
- World Records - A search engine for information about music that
- uses *MySQL* and PHP.
- * `http://www.webtechniques.com/archives/1998/01/note/'
- A Contact Database using *MySQL* and PHP.
- * `http://modems.rosenet.net/mysql/'
- Web based interface and Community Calender with PHP.
- * `http://www.odbsoft.com/cook/sources.htm'
- Perl package to generate html from a SQL table structure and for
- generating SQL statements from an html form.
- * `http://www.gusnet.cx/proj/telsql/'
- Basic telephone database using `DBI'/`DBD'.
- * `http://tecfa.unige.ch/guides/java/staf2x/ex/jdbc/coffee-break'
- JDBC examples by Daniel K. Schneider.
- * `http://www.spade.com/linux/howto/PostgreSQL-HOWTO-41.html' SQL BNF
- * `http://www.ooc.com/'
- Object Oriented Concepts Inc; CORBA applications with examples in
- source.
- * `http://www.pbc.ottawa.on.ca/'
- DBWiz; Includes an example of how to manage cursors in VB.
- * `http://keilor.cs.umass.edu/pluribus/'
- Pluribus is a free search engine that learns to improve the
- quality of its results over time. Pluribus works by recording
- which pages a user prefers among those returned for a query. A user
- votes for a page by selecting it; Pluribus then uses that knowledge
- to improve the quality of the results when someone else submits the
- same (or similar) query. Uses PHP and *MySQL*.
- * `http://www.stopbit.com/'
- Stopbit - A technology news site using *MySQL* and PHP.
- * `http://www.jokes2000.com/scripts/'
- Example scripts at Jokes2000.
- * `http://www.linuxsupportline.com/~kalendar/'
- KDE based calendar manager - The calendar manager has both single
- user (file based) and multi-user (*MySQL* database) support.
- * `http://tim.desert.net/~tim/imger/'
- Example of storing/retrieving images with *MySQL* and CGI.
- * `http://www.penguinservices.com/scripts'
- Online shopping cart system.
- * `http://www.city-gallery.com/album/'
- Old Photo Album - The album is a collaborative popular history of
- photography project that generates all pages from data stored in a
- *MySQL* database. Pages are dynamically generated through a php3
- interface to the database content. Users contribute images and
- descriptions. Contributed images are stored on the web server to
- avoid storing them in the database as BLOBs. All other
- information is stored on the shared *MySQL* server.
- General Database Links
- ----------------------
- * `http://www.pcslink.com/~ej/dbweb.html'
- Database Jump Site
- * `http://black.hole-in-the.net/guy/webdb/'
- Homepage of the webdb-l (Web Databases) mailing list.
- * `http://www.symbolstone.org/technology/perl/DBI/index.html'
- Perl `DBI'/`DBD' modules homepage.
- * `http://www.student.uni-koeln.de/cygwin/'
- Cygwin tools. Unix on top of Windows.
- * `http://dbasecentral.com/'
- dbasecentral.com; Development and distribution of powerful and
- easy-to-use database applications and systems.
- * `http://www.Tek-Tips.com'
- Tek-Tips Forums are 800+ independent peer-to-peer non-commercial
- support forums for Computer Professionals. Features include
- automatic e-mail notification of responses, a links library, and
- member confidentiality guaranteed.
- * `http://www.public.asu.edu/~peterjn/btree/'
- B-Trees: Balanced Tree Data Structures
- * `http://www.fit.qut.edu.au/~maire/baobab/lecture/sld001.htm'
- A lecture about B-Trees
- There are also many Web pages that use *MySQL*. *Note Users::. Send any
- additions to this list to <webmaster@mysql.com>. We now require that
- you show a *MySQL* logo somewhere if you wish your site to be added.
- (It is okay to have it on a "used tools" page or something similar.)
- MySQL Mailing Lists
- *******************
- The MySQL Mailing Lists
- =======================
- To subscribe to the main *MySQL* mailing list, send a message to the
- electronic mail address <mysql-subscribe@lists.mysql.com>.
- To unsubscribe from the main *MySQL* mailing list, send a message to
- the electronic mail address <mysql-unsubscribe@lists.mysql.com>.
- Only the address to which you send your messages is significant. The
- subject line and the body of the message are ignored.
- If your reply address is not valid, you can specify your address
- explicitly. Adding a hyphen to the subscribe or unsubscribe command
- word, followed by your address with the `@' character in your address
- replaced by a `='. For example, to subscribe `your_name@host.domain',
- send a message to
- `mysql-subscribe-your_name=host.domain@lists.mysql.com'.
- Mail to <mysql-subscribe@lists.mysql.com> or
- <mysql-unsubscribe@lists.mysql.com> is handled automatically by the
- ezmlm mailing list processor. Information about ezmlm is available at
- The ezmlm Website (http://www.ezmlm.org).
- To post a message to the list itself, send your message to
- `mysql@lists.mysql.com'. However, please _do not_ send mail about
- subscribing or unsubscribing to <mysql@lists.mysql.com>, because any
- mail sent to that address is distributed automatically to thousands of
- other users.
- Your local site may have many subscribers to <mysql@lists.mysql.com>.
- If so, it may have a local mailing list, so that messages sent from
- `lists.mysql.com' to your site are propagated to the local list. In such
- cases, please contact your system administrator to be added to or
- dropped from the local *MySQL* list.
- The following *MySQL* mailing lists exist:
- `announce (mailto:announce-subscribe@lists.mysql.com)'
- This is for announcement of new versions of *MySQL* and related
- programs. This is a low volume list that we think all *MySQL*
- users should be on.
- `mysql (mailto:mysql-subscribe@lists.mysql.com)'
- The main list for general *MySQL* discussion. Please note that some
- topics are better discussed on the more-specialized lists. If you
- post to the wrong list, you may not get an answer!
- `mysql-digest (mailto:mysql-digest-subscribe@lists.mysql.com)'
- The `mysql' list in digest form. That means you get all individual
- messages, sent as one large mail message once a day.
- `bugs (mailto:bugs-subscribe@lists.mysql.com)'
- On this list you should only post a full, repeatable bug report
- using the `mysqlbug' script (if you are running on Windows, you
- should include a description of the operating system and the
- *MySQL* version). Preferably, you should test the problem using
- the latest stable or development version of *MySQL* before posting!
- Anyone should be able to repeat the bug by just using `mysql test
- < script' on the included test case. All bugs posted on this list
- will be corrected or documented in the next *MySQL* release! If
- there are only small code changes involved, we will also post a
- patch that fixes the problem.
- `bugs-digest (mailto:bugs-digest-subscribe@lists.mysql.com)'
- The `bugs' list in digest form.
- `developer (mailto:developer-subscribe@lists.mysql.com)'
- This list has been depreciated in favor of the internals
- (mailto:internals-subscribe@lists.mysql.com) list (below).
- `developer-digest (mailto:developer-digest-subscribe@lists.mysql.com)'
- This list has been depreciated in favor of the internals-digest
- (mailto:internals-digest-subscribe@lists.mysql.com) list (below).
- `internals (mailto:internals-subscribe@lists.mysql.com)'
- A list for people who work on the *MySQL* code. On this list one
- can also discuss *MySQL* development and post patches.
- `internals-digest (mailto:internals-digest-subscribe@lists.mysql.com)'
- A digest version of the internals
- (mailto:internals-subscribe@lists.mysql.com) list.
- `java (mailto:java-subscribe@lists.mysql.com)'
- Discussion about *MySQL* and Java. Mostly about the JDBC drivers.
- `java-digest (mailto:java-digest-subscribe@lists.mysql.com)'
- A digest version of the `java' list.
- `win32 (mailto:win32-subscribe@lists.mysql.com)'
- All things concerning *MySQL* on Microsoft operating systems such
- as Win95, Win98, NT, and Win2000.
- `win32-digest (mailto:win32-digest-subscribe@lists.mysql.com)'
- A digest version of the `win32' list.
- `myodbc (mailto:myodbc-subscribe@lists.mysql.com)'
- All things about connecting to *MySQL* with ODBC.
- `myodbc-digest (mailto:myodbc-digest-subscribe@lists.mysql.com)'
- A digest version of the `myodbc' list.
- `plusplus (mailto:plusplus-subscribe@lists.mysql.com)'
- All things concerning programming with the C++ API to *MySQL*.
- `plusplus-digest (mailto:plusplus-digest-subscribe@lists.mysql.com)'
- A digest version of the `plusplus' list.
- `msql-mysql-modules (mailto:msql-mysql-modules-subscribe@lists.mysql.com)'
- A list about the Perl support in *MySQL*.
- `msql-mysql-modules-digest (mailto:msql-mysql-modules-digest-subscribe@lists.mysql.com)'
- A digest version of the `msql-mysql-modules' list.
- You subscribe or unsubscribe to all lists in the same way as described
- above. In your subscribe or unsubscribe message, just put the
- appropriate mailing list name rather than `mysql'. For example, to
- subscribe to or unsubscribe from the `myodbc' list, send a message to
- <myodbc-subscribe@lists.mysql.com> or
- <myodbc-unsubscribe@lists.mysql.com>.
- There is also a german mailing list. You can find information about this
- at: `http://www.4t2.com/mysql'.
- Asking Questions or Reporting Bugs
- ==================================
- Before posting a bug report or question, please do the following:
- * Start by searching the *MySQL* online manual at:
- `http://www.mysql.com/documentation/manual.php'
- We try to keep the manual up to date by updating it frequently
- with solutions to newly found problems!
- * Search the *MySQL* mailing list archives:
- `http://www.mysql.com/documentation/'
- * You can also use `http://www.mysql.com/search.html' to search all
- the Web pages (including the manual) that are located at
- `http://www.mysql.com/'.
- If you can't find an answer in the manual or the archives, check with
- your local *MySQL* expert. If you still can't find an answer to your
- question, go ahead and read the next section about how to send mail to
- <mysql@lists.mysql.com>.
- How to Report Bugs or Problems
- ==============================
- Writing a good bug report takes patience, but doing it right the first
- time saves time for us and for you. A good bug report containing a full
- test case for the bug will make it very likely that we will fix it in
- the next release. This section will help you write your report correctly
- so that you don't waste your time doing things that may not help us much
- or at all.
- We encourage everyone to use the `mysqlbug' script to generate a bug
- report (or a report about any problem), if possible. `mysqlbug' can be
- found in the `scripts' directory in the source distribution, or, for a
- binary distribution, in the `bin' directory under your *MySQL*
- installation directory. If you are unable to use `mysqlbug', you should
- still include all the necessary information listed in this section.
- The `mysqlbug' script helps you generate a report by determining much
- of the following information automatically, but if something important
- is missing, please include it with your message! Please read this
- section carefully and make sure that all the information described here
- is included in your report.
- The normal plase to report bugs and problems is
- <mysql@lists.mysql.com>. If you can make a test case that clearly shows
- the bug, you should post it to the <bugs@lists.mysql.com> list. Note
- that on this list you should only post a full, repeatable bug report
- using the `mysqlbug' script. If you are running on Windows, you should
- include a description of the operating system and the *MySQL* version.
- Preferably, you should test the problem using the latest stable or
- development version of *MySQL* before posting! Anyone should be able
- to repeat the bug by just using "`mysql test < script'" on the included
- test case or run the shell or perl script that is included in the bug
- report. All bugs posted on the `bugs' list will be corrected or
- documented in the next *MySQL* release! If there are only small code
- changes involved to correct this problem, we will also post a patch
- that fixes the problem.
- Remember that it is possible to respond to a message containing too much
- information, but not to one containing too little. Often people omit
- facts because they think they know the cause of a problem and assume
- that some details don't matter. A good principle is: if you are in
- doubt about stating something, state it! It is a thousand times faster
- and less troublesome to write a couple of lines more in your report
- than to be forced to ask again and wait for the answer because you
- didn't include enough information the first time.
- The most common errors are that people don't indicate the version
- number of the *MySQL* distribution they are using, or don't indicate
- what platform they have *MySQL* installed on (including the platform
- version number). This is highly relevant information, and in 99 cases
- out of 100 the bug report is useless without it! Very often we get
- questions like, "Why doesn't this work for me?" then we find that the
- feature requested wasn't implemented in that *MySQL* version, or that a
- bug described in a report has been fixed already in newer *MySQL*
- versions. Sometimes the error is platform dependent; in such cases, it
- is next to impossible to fix anything without knowing the operating
- system and the version number of the platform.
- Remember also to provide information about your compiler, if it is
- related to the problem. Often people find bugs in compilers and think
- the problem is *MySQL* related. Most compilers are under development
- all the time and become better version by version. To determine
- whether or not your problem depends on your compiler, we need to know
- what compiler is used. Note that every compiling problem should be
- regarded as a bug report and reported accordingly.
- It is most helpful when a good description of the problem is included
- in the bug report. That is, a good example of all the things you did
- that led to the problem and the problem itself exactly described. The
- best reports are those that include a full example showing how to
- reproduce the bug or problem. *Note Reproducable test case::.
- If a program produces an error message, it is very important to include
- the message in your report! If we try to search for something from the
- archives using programs, it is better that the error message reported
- exactly matches the one that the program produces. (Even the case
- should be observed!) You should never try to remember what the error
- message was; instead, copy and paste the entire message into your
- report!
- If you have a problem with MyODBC, you should try to genereate a MyODBC
- trace file. *Note MyODBC bug report::.
- Please remember that many of the people who will read your report will
- do so using an 80-column display. When generating reports or examples
- using the `mysql' command line tool, you should therefore use the
- `--vertical' option (or the `G' statement terminator) for output that
- would exceed the available width for such a display (for example, with
- the `EXPLAIN SELECT' statement; see the example below).
- Please include the following information in your report:
- * The version number of the *MySQL* distribution you are using (for
- example, *MySQL* Version 3.22.22). You can find out which version
- you are running by executing `mysqladmin version'. `mysqladmin'
- can be found in the `bin' directory under your *MySQL* installation
- directory.
- * The manufacturer and model of the machine you are working on.
- * The operating system name and version. For most operating systems,
- you can get this information by executing the Unix command `uname
- -a'.
- * Sometimes the amount of memory (real and virtual) is relevant. If
- in doubt, include these values.
- * If you are using a source distribution of *MySQL*, the name and
- version number of the compiler used is needed. If you have a
- binary distribution, the distribution name is needed.
- * If the problem occurs during compilation, include the exact error
- message(s) and also a few lines of context around the offending
- code in the file where the error occurred.
- * If `mysqld' died, you should also report query that crashed
- `mysqld'. You can usually find this out by running `mysqld' with
- logging enabled. *Note Using log files::.
- * If any database table is related to the problem, include the
- output from `mysqldump --no-data db_name tbl_name1 tbl_name2 ...'.
- This is very easy to do and is a powerful way to get information
- about any table in a database that will help us create a situation
- matching the one you have.
- * For speed-related bugs or problems with `SELECT' statements, you
- should always include the output of `EXPLAIN SELECT ...', and at
- least the number of rows that the `SELECT' statement produces.
- The more information you give about your situation, the more
- likely it is that someone can help you! For example, the
- following is an example of a very good bug report (it should of
- course be posted with the `mysqlbug' script):
- Example run using the `mysql' command line tool (note the use of
- the `G' statement terminator for statements whose output width
- would otherwise exceed that of an 80-column display device):
- mysql> SHOW VARIABLES;
- mysql> SHOW COLUMNS FROM ...G
- <output from SHOW COLUMNS>
- mysql> EXPLAIN SELECT ...G
- <output from EXPLAIN>
- mysql> FLUSH STATUS;
- mysql> SELECT ...;
- <A short version of the output from SELECT,
- including the time taken to run the query>
- mysql> SHOW STATUS;
- <output from SHOW STATUS>
- * If a bug or problem occurs while running *mysqld*, try to provide
- an input script that will reproduce the anomaly. This script
- should include any necessary source files. The more closely the
- script can reproduce your situation, the better. If you can make a
- repeatable test case, you should post this to
- <bugs@lists.mysql.com> for a high priority treatment!
- If you can't provide a script, you should at least include the
- output from `mysqladmin variables extended-status processlist' in
- your mail to provide some information of how your system is
- performing!
- * If you can't produce a test case in a few rows, or if the test
- table is too big to be mailed to the mailing list (more than 10
- rows), you should dump your tables using `mysqldump' and create a
- `README' file that describes your problem.
- Create a compressed archive of your files using `tar' and `gzip'
- or `zip', and use `ftp' to transfer the archive to
- `ftp://support.mysql.com/pub/mysql/secret/'. Then send a short
- description of the problem to <bugs@lists.mysql.com>.
- * If you think that *MySQL* produces a strange result from a query,
- include not only the result, but also your opinion of what the
- result should be and an account describing the basis for your
- opinion.
- * When giving an example of the problem, it's better to use the
- variable names, table names, etc., that exist in your actual
- situation than to come up with new names. The problem could be
- related to the name of a variable or table! These cases are rare,
- perhaps, but it is better to be safe than sorry. After all, it
- should be easier for you to provide an example that uses your
- actual situation, and it is by all means better for us. In case
- you have data you don't want to show to others, you can use `ftp'
- to transfer it to `ftp://support.mysql.com/pub/mysql/secret/'. If
- the data are really top secret and you don't want to show them
- even to us, then go ahead and provide an example using other
- names, but please regard this as the last choice.
- * Include all the options given to the relevant programs, if
- possible. For example, indicate the options that you use when you
- start the `mysqld' daemon and that you use to run any *MySQL*
- client programs. The options to programs like `mysqld' and
- `mysql', and to the `configure' script, are often keys to answers
- and are very relevant! It is never a bad idea to include them
- anyway! If you use any modules, such as Perl or PHP, please
- include the version number(s) of those as well.
- * If your question is related to the privilege system, please
- include the output of `mysqlaccess', the output of `mysqladmin
- reload', and all the error messages you get when trying to
- connect! When you test your privileges, you should first run
- `mysqlaccess'. After this, execute `mysqladmin reload version' and
- try to connect with the program that gives you trouble.
- `mysqlaccess' can be found in the `bin' directory under your
- *MySQL* installation directory.
- * If you have a patch for a bug, that is good, but don't assume the
- patch is all we need, or that we will use it, if you don't provide
- some necessary information, such as test cases showing the bug
- that your patch fixes. We might find problems with your patch or
- we might not understand it at all; if so, we can't use it.
- If we can't verify exactly what the patch is meant for, we won't
- use it. Test cases will help us here. Show that the patch will
- handle all the situations that may occur. If we find a borderline
- case (even a rare one) where the patch won't work, it may be
- useless.
- * Guesses about what the bug is, why it occurs, or what it depends
- on, are usually wrong. Even the MySQL team can't guess such things
- without first using a debugger to determine the real cause of a
- bug.
- * Indicate in your mail message that you have checked the reference
- manual and mail archive so others know that you have tried to
- solve the problem yourself.
- * If you get a `parse error', please check your syntax closely! If
- you can't find something wrong with it, it's extremely likely that
- your current version of *MySQL* doesn't support the query you are
- using. If you are using the current version and the manual at
- `http://www.mysql.com/documentation/manual.php' doesn't cover the
- syntax you are using, *MySQL* doesn't support your query. In this
- case, your only options are to implement the syntax yourself or
- e-mail <mysql-licensing@mysql.com> and ask for an offer to
- implement it!
- If the manual covers the syntax you are using, but you have an
- older version of *MySQL*, you should check the *MySQL* change
- history to see when the syntax was implemented. *Note News::. In
- this case, you have the option of upgrading to a newer version of
- *MySQL*.
- * If you have a problem such that your data appears corrupt or you
- get errors when you access some particular table, you should first
- check and then try repairing your tables with `myisamchk' or
- `CHECK TABLE'/ `REPAIR TABLE'. *Note Maintenance::.
- * If you often get corrupted tables you should try to find out when
- and why this happens! In this case, the
- `mysql-data-directory/'hostname'.err' file may contain some
- information about what happened. *Note Error log::. Please
- include any relevant information from this file in your bug
- report! Normally `mysqld' should *NEVER* crash a table if nothing
- killed it in the middle of an update! If you can find the cause
- of `mysqld' dying, it's much easier for us to provide you with a
- fix for the problem! *Note What is crashing::.
- * If possible, download the most recent version of *MySQL* and check
- whether or not it solves your problem. All versions of *MySQL* are
- thoroughly tested and should work without problems! We believe in
- making everything as backward compatible as possible, and you
- should be able to switch *MySQL* versions in minutes! *Note Which
- version::.
- If you are a support customer, please cross-post the bug report to
- <mysql-support@mysql.com> for higher priority treatment, as well as to
- the appropriate mailing list to see if someone else has experienced (and
- perhaps solved) the problem.
- For information on reporting bugs in *MyODBC*, see *Note ODBC
- Problems::.
- For solutions to some common problems, see *Note Problems::.
- When answers are sent to you individually and not to the mailing list,
- it is considered good etiquette to summarize the answers and send the
- summary to the mailing list so that others may have the benefit of
- responses you received that helped you solve your problem!
- Guidelines for Answering Question on the Mailing List
- =====================================================
- If you consider your answer to have broad interest, you may want to
- post it to the mailing list instead of replying directly to the
- individual who asked. Try to make your answer general enough that
- people other than the original poster may benefit from it. When you
- post to the list, please make sure that your answer is not a
- duplication of a previous answer.
- Try to summarize the essential part of the question in your reply;
- don't feel obliged to quote the entire original message.
- Please don't post mail messages from your browser with HTML mode turned
- on! Many users don't read mail with a browser!
- MySQL Licensing and Support
- ***************************
- This chapter describes *MySQL* support and licensing arrangements:
- * The copyrights under which *MySQL* is distributed (*note
- Copyright::)
- * Sample situations illustrating when a license is required (*note
- Licensing examples::)
- * Support costs (*note Cost::) and support benefits (*note Support::)
- * Commercial licensing costs
- MySQL Licensing Policy
- ======================
- The formal terms of the GPL license can be found at *Note GPL license::.
- Basically, our licensing policy and intepretation of the GPL is as
- follows:
- Note that older versions of *MySQL* are still using a more strict
- license (http://www.mysql.com/support/arrangements/mypl.html). See the
- documentation for that version for more information. If you need a
- commercial *MySQL* license, because the GPL license doesn't suit your
- application, you can buy one at `https://order.mysql.com/license.htmy'.
- For normal internal use, *MySQL* costs nothing. You do not have to pay
- us if you do not want to.
- A license is required if:
- - You link a part of the of *MySQL* that has a GPL Copyright to a
- program that is not free software (embedded usage of the *MySQL*
- server). In this case your application would also become GPL
- through the clause in the GPL license that acts as a virus. By
- licensing *MySQL* from us under a commercial license you will
- avoid this problem.
- - You have a commercial application that ONLY works with *MySQL* and
- ships the application with the *MySQL* server. This is because we
- view this as linking even if it is done over the network.
- - You have a distribution of *MySQL* and you don't provide the
- source code for your copy of the *MySQL* server, as defined in the
- GPL license.
- A license is *NOT* required if:
- - You do not need a license to include the client code in commercial
- programs. The client part of *MySQL* licensed with the LGPL `GNU
- Library General Public License'. The `mysql' command-line client
- includes code from the `readline' library that is under the `GPL'.
- - If your use of *MySQL* does not require a license, but you like
- *MySQL* and want to encourage further development, you are
- certainly welcome to purchase a license or *MySQL* support anyway.
- - If you use *MySQL* in a commercial context such that you profit by
- its use, we ask that you further the development of *MySQL* by
- purchasing some level of support. We feel that if *MySQL* helps
- your business, it is reasonable to ask that you help *MySQL*.
- (Otherwise, if you ask us support questions, you are not only
- using for free something into which we've put a lot a work, you're
- asking us to provide free support, too.)
- For circumstances under which a *MySQL* license is required, you need a
- license per machine that runs the `mysqld' server. However, a
- multiple-CPU machine counts as a single machine, and there is no
- restriction on the number of *MySQL* servers that run on one machine,
- or on the number of clients concurrently connected to a server running
- on that machine!
- If you have any questions as to whether or not a license is required for
- your particular use of *MySQL*, please read this again and then contact
- us. *Note Contact information::.
- If you require a *MySQL* license, the easiest way to pay for it is to
- use the license form on *MySQL*'s secure server at
- `https://order.mysql.com/license.htmy'. Other forms of payment are
- discussed in *Note Payment information::.
- Copyrights Used by MySQL
- ========================
- There are several different copyrights on the *MySQL* distribution:
- 1. The *MySQL*-specific source needed to build the `mysqlclient'
- library is licensed under the `LGPL' and programs in the `client'
- directory is GPL. Each file has a header that shows which
- copyright is used for that file.
- 2. The client library and the (GNU `getopt') library are covered by
- the "GNU LIBRARY GENERAL PUBLIC LICENSE." *Note LGPL license::.
- 3. Some parts of the source (the `regexp' library) are covered by a
- Berkeley-style copyright.
- 4. All the source in the server and the (GNU `readline') library is
- covered by the "GNU GENERAL PUBLIC LICENSE." *Note GPL license::.
- This is also available as the file `COPYING' in the distributions.
- One goal is that the SQL client library should be free enough that it is
- possible to add *MySQL* support into commercial products without a
- license. For this reason, we chose the LGPL license for the client code.
- This means that you can use *MySQL* for free with any program that uses
- any of the free software licenses. *MySQL* is also free for any end
- user for his own or company usage.
- However, if you use *MySQL* for something important to you, you may
- want to help secure its development by purchasing licenses or a support
- contract. *Note Support::.
- Copyright Changes
- -----------------
- The stable versions of *MySQL* are still using a more strict license.
- See the documentation for that version for more information.
- Example Licensing Situations
- ============================
- This section describes some situations illustrating whether or not you
- must license the *MySQL* server. Generally these examples involve
- providing *MySQL* as an integral part of a product.
- Note that a single *MySQL* license covers any number of CPUs and
- `mysqld' servers on a machine! There is no artificial limit on the
- number of clients that connect to the server in any way.
- Selling Products that use MySQL
- -------------------------------
- To determine whether or not you need a *MySQL* license when selling
- your application, you should ask whether the proper functioning of your
- application is dependent on the use of *MySQL* and whether you include
- the *MySQL* server with your product. There are several cases to
- consider:
- * Does your application require *MySQL* to function properly?
- * If your product requires *MySQL*, you need a license for any
- machine that runs the `mysqld' server. For example, if you've
- designed your application around *MySQL*, then you've really made
- a commercial product that requires the engine, so you need a
- license.
- * If your application does not require *MySQL*, you need not obtain
- a license. For example, if using *MySQL* just adds some new
- optional features to your product (such as adding logging to a
- database if *MySQL* is used rather than logging to a text file),
- it should fall within normal use, and a license would not be
- required.
- * In other words, you need a license if you sell a product designed
- specifically for use with *MySQL* or that requires the *MySQL*
- server to function at all. This is true whether or not you
- provide *MySQL* for your client as part of your product
- distribution.
- * It also depends on what you're doing for the client. Do you plan
- to provide your client with detailed instructions on installing
- *MySQL* with your software? Then your product may be contingent
- on the use of *MySQL*; if so, you need to buy a license. If you
- are simply tying into a database that you expect already to have
- been installed by the time your software is purchased, then you
- probably don't need a license.
- ISP MySQL Services
- ------------------
- Internet Service Providers (ISPs) often host *MySQL* servers for their
- customers. With the GPL license this does not require a license.
- On the other hand, we do encourage people to use ISPs that have *MySQL*
- support, as this will give them the confidence that if they have some
- problem with their *MySQL* installation, their ISP will be able to
- solve the problem for them (in some cases with the help from the
- *MySQL* development team).
- All ISPs that want to keep themselves up-to-date should subscribe to
- our `announce' mailing list so that they can be aware of fatal issues
- that may be relevant for their *MySQL* installations.
- Note that if the ISP doesn't have a license for *MySQL*, it should give
- its customers at least read access to the source of the *MySQL*
- installation so that its customer can verify that it is patched
- correctly.
- Running a Web Server Using MySQL
- --------------------------------
- If you use *MySQL* in conjunction with a Web server on Unix, you don't
- have to pay for a license.
- This is true even if you run a commercial Web server that uses *MySQL*,
- because you are not selling an embedded *MySQL* version yourself.
- However, in this case we would like you to purchase *MySQL* support,
- because *MySQL* is helping your enterprise.
- MySQL Licensing and Support Costs
- =================================
- Our current license prices are shown below. These prices are now under
- review because of the change to a GPL copyright. New prices and terms
- will be posted on the *MySQL* web site `http://www.mysql.com/' as soon
- as they are ready.
- All prices are in US Dollars. If you pay by credit card, the currency is
- EURO (European Union Euro) so the prices will differ slightly.
- *Number of licenses* *Per copy* *Total*
- 1 200 EURO 200 EURO
- 10 pack 150 EURO 1500 EURO
- 50 pack 120 EURO 6000 EURO
- For high volume (OEM) purchases, the following prices apply:
- *Number of *Per copy* *Minimum * *Minimum payment*
- licenses*
- 100-999 40 EURO 100 4000 EURO
- 1000-2499 25 EURO 200 5000 EURO
- 2500-4999 20 EURO 400 8000 EURO
- For OEM purchases, you must act as the middle-man for eventual problems
- or extension requests from your users. We also require that OEM
- customers have at least an extended e-mail support contract. Note that
- OEM licenses only apply for products where the user doesn't have direct
- access to the *MySQL* server (embedded system). In other words, the
- *MySQL* server should only be used with the application that was
- supplied you.
- If you have a low-margin high-volume product, you can always talk to us
- about other terms (for example, a percent of the sale price). If you do,
- please be informative about your product, pricing, market, and any other
- information that may be relevant.
- A full-price license is not a support agreement and includes very
- minimal support. This means that we try to answer any relevant
- questions. If the answer is in the documentation, we will direct you to
- the appropriate section. If you have not purchased a license or
- support, we probably will not answer at all.
- If you discover what we consider a real bug, we are likely to fix it in
- any case. But if you pay for support we will notify you about the fix
- status instead of just fixing it in a later release.
- More comprehensive support is sold separately. Descriptions of what
- each level of support includes are given in *Note Support::. Costs for
- the various types of commercial support are shown below. Support level
- prices are in EURO (European Union Euro). One EURO is about 1.06 USD.
- *Type of support* *Cost per year*
- Basic e-mail support. *Note Basic EURO 200
- email support::.
- Extended e-mail support *Note EURO 1000
- Extended email support::.
- Login support *Note Login EURO 2000
- support::.
- Extended login support *Note EURO 5000
- Extended login support::.
- Telephone support *Note Telephone EURO 12000
- support::.
- You may upgrade from any lower level of support to a higher level of
- support for the difference in price between the two support levels.
- We do also provide telephone support (mostly emergency support but also
- 24/7 support). This support option doesn't however have a fixed price
- but is negotiated for case to case. If you are interested in this option
- you can email <sales@mysql.com> and tell us about your needs.
- Note that as our sales staff is very busy, it may take some time until
- your request is handled. Our support staff does however always answer
- promptly to support questions!
- Payment information
- -------------------
- Currently we can take SWIFT payments, checks, or credit cards.
- Payment should be made to:
- Postgirot Bank AB
- 105 06 STOCKHOLM, SWEDEN
-
- MySQL AB
- BOX 6434
- 11382 STOCKHOLM, SWEDEN
-
- SWIFT address: PGSI SESS
- Account number: 96 77 06 - 3
- Specify: license and/or support and your name and e-mail address.
- In Europe and Japan you can use EuroGiro (that should be less
- expensive) to the same account.
- If you want to pay by check, make it payable to "MySQL Finland AB" and
- mail it to the address below:
- MySQL AB
- BOX 6434, Torsgatan 21
- 11382 STOCKHOLM, SWEDEN
- If you want to pay by credit card over the Internet, you can use MySQL
- AB's secure license form (https://order.mysql.com/license.htmy).
- You can also print a copy of the license form, fill it in, and send it
- by fax to:
- +46-8-729 69 05
- If you want us to bill you, you can use the license form and write "bill
- us" in the comment field. You can also mail a message to
- <sales@mysql.com> (*not* `mysql@lists.mysql.com'!) with your company
- information and ask us to bill you.
- Contact Information
- -------------------
- For commercial licensing, please contact the *MySQL* licensing team.
- The much preferred method is by e-mail to <licensing@mysql.com>. Fax is
- also possible but handling of these may take much longer (Fax +46-8-729
- 69 05).
- If you represent a business that is interested in partnering with
- *MySQL*, please send e-mail to <partner@mysql.com>.
- For timely, precise answers to technical questions about *MySQL* you
- should order (https://order.mysql.com/) one of our support contracts
- (http://www.mysql.com/support/arrangements/types.html). *MySQL*
- support is provided by the *MySQL* developers so the standard is
- extremely high.
- If you are interested in placing a banner advertisement on our Web site,
- please send e-mail to <advertising@mysql.com>.
- If you are interested in any of the jobs listed in our jobs
- (http://www.mysql.com/development/jobs/) section, please send e-mail to
- <jobs@mysql.com>.
- For general discussion amongst our many users, please direct your
- attention to the appropriate mailing list
- (http://www.mysql.com/documentation/lists.html).
- For general information inquires, please send e-mail to
- <info@mysql.com>.
- For questions or comments about the workings or content of this Web
- site, please send e-mail to <webmaster@mysql.com>.
- Types of Commercial Support
- ===========================
- Basic E-mail Support
- --------------------
- Basic e-mail support is a very inexpensive support option and should be
- thought of more as a way to support our development of *MySQL* than as
- a real support option. We at *MySQL* do give a lot of free support in
- all the different *MySQL* lists, and the money we get from basic e-mail
- support is largely used to make this possible.
- At this support level, the *MySQL* mailing lists are the preferred
- means of communication. Questions normally should be mailed to the
- primary mailing list (<mysql@lists.mysql.com>) or one of the other
- regular lists (for example, <win32@lists.mysql.com> for Windows-related
- *MySQL* questions), as someone else already may have experienced and
- solved the problem you have. *Note Asking questions::.
- However, by purchasing basic e-mail support, you also have access to the
- support address <mysql-support@mysql.com>, which is not available as
- part of the minimal support that you get by purchasing a *MySQL*
- license. This means that for especially critical questions, you can
- cross-post your message to <mysql-support@mysql.com>. (If the message
- contains sensitive data, you should post only to
- <mysql-support@mysql.com>.)
- _REMEMBER!_ to ALWAYS include your registration number and expiration
- date when you send a message to <mysql-support@mysql.com>.
- Note that if you have encountered a critical repeatable bug and follow
- the rules outlined in the manual section of how to report bugs and send
- it to <bugs@lists.mysql.com>, we promise to try to fix this as soon as
- possible, regardless of your support level! *Note Bug reports::.
- Basic e-mail support includes the following types of service:
- * If your question is already answered in the manual, we will inform
- you of the correct section in which you can find the answer. If
- the answer is not in the manual, we will point you in the right
- direction to solve your problem.
- * We guarantee a timely answer for your e-mail messages. We can't
- guarantee that we can solve any problem, but at least you will
- receive an answer if we can contact you by e-mail.
- * We will help with unexpected problems when you install *MySQL*
- from a binary distribution on supported platforms. This level of
- support does not cover installing *MySQL* from a source
- distribution. Supported platforms are those for which *MySQL* is
- known to work. *Note Which OS::.
- * We will help you with bugs and missing features. Any bugs that are
- found are fixed for the next *MySQL* release. If the bug is
- critical for you, we will mail you a patch for it as soon the bug
- is fixed. Critical bugs always have the highest priority for us,
- and we ensure that they are fixed as soon as possible.
- * Your suggestions for the further development of *MySQL* will be
- taken into consideration. By taking email support you have already
- helped the further development of *MySQL*. If you want to have
- more input, upgrade to a higher level of support.
- * If you want us to help optimize your system, you must upgrade to a
- higher level of support.
- Extended E-mail Support
- -----------------------
- Extended e-mail support includes everything in basic e-mail support with
- these additions:
- * Your e-mail will be dealt with before mail from basic e-mail
- support users and non-registered users.
- * Your suggestions for the further development of *MySQL* will
- receive strong consideration. Simple extensions that suit the basic
- goals of *MySQL* are implemented in a matter of days. By taking
- extended e-mail support you have already helped the further
- development of *MySQL*.
- * Typical situations that are covered by extended e-mail support are:
- - We will answer and (within reason) solve questions that
- relate to possible bugs in *MySQL*. As soon as the bug is
- found and corrected, we will mail a patch for it.
- - We will help with unexpected problems when you install
- *MySQL* from a source or binary distribution on supported
- platforms.
- - We will answer questions about missing features and offer
- hints how to work around them.
- - We will provide hints on optimizing `mysqld' for your
- situation.
- * You are allowed to influence the priority of items on the *MySQL*
- TODO List. *Note TODO::. This will ensure that the features you
- really need will be implemented sooner than they might be
- otherwise.
- Login Support
- -------------
- Login support includes everything in extended e-mail support with these
- additions:
- * Your e-mail will be dealt with even before e-mail from extended
- e-mail support users.
- * Your suggestions for the further development of *MySQL* will be
- taken into very high consideration. Realistic extensions that can
- be implemented in a couple of hours and that suit the basic goals
- of *MySQL* will be implemented as soon as possible.
- * If you have a very specific problem, we can try to log in on your
- system to solve the problem "in place."
- * Like any database vendor, we can't guarantee that we can rescue
- any data from crashed tables, but if the worst happens, we will
- help you rescue as much as possible. *MySQL* has proven itself
- very reliable, but anything is possible due to circumstances
- beyond our control (for example, if your system crashes or someone
- kills the server by executing a `kill -9' command).
- * We will provide hints on optimizing your system and your queries.
- * You are allowed to call a *MySQL* developer (in moderation) and
- discuss your *MySQL*-related problems. This option is however
- only to be used as a last result during an emergency after we have
- failed to grasp the total problem with email. To make efficient
- use of our time we need to first get all facts about the problem,
- before talking on phone, to be able to work as efficiently as
- possible on solving the problem.
- Extended Login Support
- ----------------------
- Extended login support includes everything in login support with these
- additions:
- * Your e-mail has the highest possible priority.
- * We will actively examine your system and help you optimize it and
- your queries. We may also optimize and/or extend *MySQL* to better
- suit your needs.
- * You may also request special extensions just for you. For example:
- mysql> select MY_FUNC(col1,col2) from table;
- * We will provide a binary distribution of all important *MySQL*
- releases for your system, as long as we can get an account on a
- similar system. In the worst case, we may require access to your
- system to be able to create a binary distribution.
- * If you can provide accommodations and pay for traveler fares, you
- can even get a *MySQL* developer to visit you and offer you help
- with your troubles. Extended login support entitles you to one
- personal encounter per year, but we are always very flexible
- towards our customers! If the visit takes 16 hours or more, the
- first 8 hours is without charge. For the hours above 8 hours, you
- will be charged with a rate that is at least 20 % less than our
- standard rates.
- Telephone Support
- -----------------
- Telephone support includes everything in extended login support with
- these additions:
- * We will provide you with a dynamic web page showing the current
- list of `MySQL' developers that you can phone when you have a
- critical problem.
- * For non critical problem, you can request a *MySQL* developer to
- phone back within 48 hours to discuss `MySQL' related issues.
- Support for other table handlers
- --------------------------------
- To get support for `BDB' tables, `INNOBASE' tables or `GEMINI' tales
- you has to pay and additional 30 % on the basic support price for each
- of the table handlers you want to get support on. This extra cost is
- cover the back support cost for the other table handlers.
- We at `MySQL AB' will help you create a proper bug report for the table
- handler and submit it to the developers for to specific table handler.
- We will also do our best to ensure that you will get a timely
- answer/solution from the developers of the table handler.
- Even if we are quite confident that we can solve most problems within a
- timely manner, we can't guarantee a quick solution for any problems you
- can get with the different table handlers. We will however do our best
- to help you get the problem solved.
- Installing MySQL
- ****************
- This chapter describes how to obtain and install *MySQL*:
- * For a list of sites from which you can obtain *MySQL*, see *Note
- Getting *MySQL*: Getting MySQL.
- * To see which platforms are supported, see *Note Which OS::.
- * Several versions of *MySQL* are available in both binary and
- source distributions. We also provide public access to our current
- source tree for those who want to see our most recent
- developments and help us test new code. To determine which version
- and type of distribution you should use, see *Note Many versions::.
- * Installation instructions for binary and source distributions are
- described in *Note Installing binary:: and *Note Installing
- source::. Each set of instructions includes a section on
- system-specific problems you may run into.
- * For post-installation procedures, see *Note Post-installation::.
- These procedures apply whether you install *MySQL* using a binary
- or source distribution.
- How to Get MySQL
- ================
- Check the *MySQL* home page (http://www.mysql.com/) for information
- about the current version and for downloading instructions.
- Our main download mirror is located at:
- http://download.sourceforge.net/mirrors/mysql/
- (http://download.sourceforge.net/mirrors/mysql/)
- If you are interested in becoming a *MySQL* mirror site, you may
- anonymously rsync with: `rsync://download.sourceforge.net/mysql/'.
- Please send e-mail to <webmaster@mysql.com> notifying us of your mirror
- to be added to the list below.
- If you have problems downloading from our main site, try using one of
- the mirrors listed below.
- Please report bad or out-of-date mirrors to <webmaster@mysql.com>.
- *Europe:*
- * Austria [Univ. of Technology/Vienna] WWW
- (http://gd.tuwien.ac.at/db/mysql/) FTP
- (ftp://gd.tuwien.ac.at/db/mysql/)
- * Bulgaria [online.bg/Sofia] WWW (http://mysql.online.bg/) FTP
- (ftp://mysql.online.bg/)
- * Czech Republic [Masaryk University in Brno] WWW
- (http://mysql.linux.cz/index.html) FTP
- (ftp://ftp.fi.muni.cz/pub/mysql/)
- * Czech Republic [www.sopik.cz] WWW (http://www.mysql.cz/)
- * Czech Republic [www.gin.cz] WWW (http://mysql.gin.cz/) FTP
- (ftp://ftp.gin.cz/pub/MIRRORS/www.mysql.com/)
- * Denmark [Borsen] WWW (http://mysql.borsen.dk/)
- * Denmark [SunSITE] WWW (http://SunSITE.auc.dk/mysql/) FTP
- (ftp://SunSITE.auc.dk/pub/databases/mysql/)
- * Estonia [OKinteractive] WWW (http://mysql.mirror.ok.ee)
- * France [mtesa.net] WWW (http://mysql.mtesa.net/)
- * Finland [tonnikala.net] WWW (http://mysql.tonnikala.org/)
- * Germany [Kernelnotes.de, Bonn] WWW
- (http://www.kernelnotes.de/mysql/) FTP
- (ftp://ftp.kernelnotes.de/pub/mirror/mysql.org/)
- * Germany [Wolfenbuettel] WWW
- (http://www.fh-wolfenbuettel.de/ftp/pub/database/mysql/) FTP
- (ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/)
- * Greece [NTUA, Athens] WWW (http://www.ntua.gr/mysql/) FTP
- (ftp://ftp.ntua.gr/pub/databases/mysql/)
- * Hungary [Xenia] WWW (http://mysql.sote.hu/) FTP
- (ftp://xenia.sote.hu/pub/mirrors/www.mysql.com/)
- * Iceland [GM] WWW (http://mysql.gm.is/) FTP
- (ftp://ftp.gm.is/pub/mysql/)
- * Italy [feelinglinux.com] WWW (http://mysql.feelinglinux.com/)
- * Italy [Teta Srl] WWW (http://www.teta.it/mysql/)
- * Italy [tzone.it] WWW (http://mysql.tzone.it/)
- * Ireland [Esat Net] WWW
- (http://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/)
- FTP
- (ftp://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/)
- * Netherlands [Silverpoint] WWW (http://mysql.silverpoint.nl/)
- * Netherlands [Widexs BV] WWW (http://mysql.widexs.nl/) FTP
- (ftp://mysql.widexs.nl/pub/mysql/)
- * Poland [Sunsite] WWW (http://sunsite.icm.edu.pl/mysql/) FTP
- (ftp://sunsite.icm.edu.pl/pub/unix/mysql/)
- * Poland [ncservice.com/Gdansk] WWW (http://mysql.service.net.pl/)
- * Portugal [Netc] WWW (http://ftp.netc.pt/pub/mysql/) FTP
- (ftp://ftp.netc.pt/pub/mysql/)
- * Romania [roedu.net/Bucharest] FTP
- (ftp://ftp.roedu.net/pub/mirrors/ftp.mysql.com/)
- * Russia [DirectNet] WWW (http://mysql.directnet.ru/) FTP
- (ftp://ftp.dn.ru/pub/MySQL/)
- * Russia [Scientific Center/Chernogolovka] FTP
- (ftp://ftp.chg.ru/pub/databases/mysql/)
- * Switzerland [Sunsite] WWW
- (http://sunsite.cnlab-switch.ch/ftp/mirror/mysql/) FTP
- (ftp://sunsite.cnlab-switch.ch/mirror/mysql/)
- * UK [Omnipotent/UK] WWW (http://mysql.omnipotent.net/) FTP
- (ftp://mysql.omnipotent.net/)
- * UK [PLiG/UK] WWW (http://ftp.plig.org/pub/mysql/) FTP
- (ftp://ftp.plig.org/pub/mysql/)
- * Ukraine [PACO] WWW (http://mysql.paco.net.ua) FTP
- (ftp://mysql.paco.net.ua/)
- * Ukraine [ISP Alkar Teleport/Dnepropetrovsk] WWW
- (http://mysql.dp.ua/)
- *North America:*
- * Canada [Tryc] WWW (http://web.tryc.on.ca/mysql/)
- * USA [Hurricane Electric/San Jose] WWW (http://mysql.he.net/)
- * USA [ValueClick, Los Angeles CA] WWW
- (http://mysql.valueclick.com/) FTP
- (ftp://mysql.valueclick.com/mysql/)
- * USA [Circle Net/North Carolina] WWW (http://www.mysql.net)
- * USA [Wisconsin University/Wisconsin] WWW
- (http://mirror.sit.wisc.edu/mysql/) FTP
- (ftp://mirror.sit.wisc.edu/mirrors/mysql/)
- * USA [LinuxWired/Scottsdale, AZ] WWW
- (http://mysql.linuxwired.net/) FTP
- (ftp://ftp.linuxwired.net/pub/mirrors/mysql/)
- * USA [Venoma.Org/Valdosta, GA] WWW (http://mysql.venoma.org/)
- * USA [adgrafix.com/Boston, MA] WWW (http://mysql.adgrafix.com/)
- *South America:*
- * Argentina [bannerlandia.com] WWW
- (http://mysql.bannerlandia.com.ar/) FTP
- (ftp://mysql.bannerlandia.com.ar/mirrors/mysql/)
- * Chile [Vision] WWW (http://mysql.vision.cl/)
- * Chile [PSINet] WWW (http://mysql.psinet.cl/) FTP
- (ftp://ftp.psinet.cl/pub/database/mysql/)
- * Chile [Tecnoera] WWW (http://mysql.tecnoera.com/)
- *Asia:*
- * China [Freecode] WWW (http://www.freecode.net.cn/mirror/mysql/)
- * China [linuxforum.net] WWW
- (http://www2.linuxforum.net/mirror/mysql/)
- * China [ISL/Hong Kong] WWW (http://mysql.islnet.net)
- * China [TraLand.com/Hong Kong] WWW (http://www.traland.com/mysql/)
- * South Korea [Webiiz] WWW (http://mysql.webiiz.com/)
- * South Korea [PanworldNet] WWW (http://mysql.holywar.net/)
- * Japan [Soft Agency] WWW (http://www.softagency.co.jp/MySQL)
- * Japan [u-aizu.ac.jp/Aizu] FTP
- (ftp://ftp.u-aizu.ac.jp/ftp/pub/dbms/mysql/mysql.com)
- * Singapore [HJC] WWW (http://mysql.hjc.edu.sg) FTP
- (ftp://ftp.hjc.edu.sg/mysql)
- * Taiwan [TTN] WWW (http://mysql.ttn.net)
- * Taiwan [nctu.edu/HsinChu] WWW (http://mysql.nctu.edu.tw/)
- *Australia:*
- * Australia [AARNet/Queensland] WWW
- (http://mirror.aarnet.edu.au/mysql) FTP
- (ftp://mirror.aarnet.edu.au/pub/mysql)
- *Africa:*
- * South-Africa [Mweb] WWW (http://www.mysql.mweb.co.za/)
- * South Africa [The Internet Solution/Johannesburg] FTP
- (ftp://ftp.is.co.za/linux/mysql/)
- Operating Systems Supported by MySQL
- ====================================
- We use GNU Autoconf, so it is possible to port *MySQL* to all modern
- systems with working Posix threads and a C++ compiler. (To compile only
- the client code, a C++ compiler is required but not threads.) We use
- and develop the software ourselves primarily on Sun Solaris (Versions
- 2.5 - 2.7) and RedHat Linux Version 6.x.
- Note that for many operating systems, the native thread support works
- only in the latest versions. *MySQL* has been reported to compile
- sucessfully on the following operating system/thread package
- combinations:
- * AIX 4.x with native threads. *Note IBM-AIX::.
- * BSDI 2.x with the included MIT-pthreads package. *Note BSDI::.
- * BSDI 3.0, 3.1 and 4.x with native threads. *Note BSDI::.
- * DEC Unix 4.x with native threads. *Note Alpha-DEC-UNIX::.
- * FreeBSD 2.x with the included MIT-pthreads package. *Note
- FreeBSD::.
- * FreeBSD 3.x and 4.x with native threads. *Note FreeBSD::.
- * HP-UX 10.20 with the included MIT-pthreads package. *Note HP-UX
- 10.20::.
- * HP-UX 11.x with the native threads. *Note HP-UX 11.x::.
- * Linux 2.0+ with LinuxThreads 0.7.1+ or `glibc' 2.0.7+ . *Note
- Linux::.
- * Mac OS X Server. *Note Mac OS X::.
- * NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha (Requires GNU make).