manual.txt
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:1762k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. START-INFO-DIR-ENTRY
  2. * mysql: (mysql).               *MySQL* documentation.
  3. END-INFO-DIR-ENTRY
  4. This is a manual for *MySQL*. This version is about the 3.23.35 version
  5. of *MySQL*. For a *3.20* version see the relevant distribution.
  6. General Information About MySQL
  7. *******************************
  8. This is the *MySQL* reference manual; it documents *MySQL* Version
  9. 3.23.35. As *MySQL* is work in progress, the manual gets updated
  10. frequently. There is a very good chance that this version is out of
  11. date, unless you are looking at it online. The most recent version of
  12. this manual is available at `http://www.mysql.com/documentation/' in
  13. many different formats. If you have a hard time finding information in
  14. the manual, you can try the searchable PHP version at
  15. `http://www.mysql.com/documentation/manual.php'.
  16. *MySQL* is a very fast, multi-threaded, multi-user, and robust SQL
  17. (Structured Query Language) database server.
  18. *MySQL* is free software. It is licensed with the *GNU GENERAL PUBLIC
  19. LICENSE* `http://www.gnu.org/'.   *Note Licensing and Support::.
  20. The *MySQL* home page (http://www.mysql.com/) provides the latest
  21. information about *MySQL*.
  22. The following list describes some useful sections of the manual:
  23.    * To get information about the company behind MySQL, see *Note What
  24.      is MySQL AB::.
  25.    * For a discussion of *MySQL*'s capabilities, see *Note Features::.
  26.    * For installation instructions, see *Note Installing::.
  27.    * For tips on porting *MySQL* to new architectures or operating
  28.      systems, see *Note Porting::.
  29.    * For information about upgrading from a Version 3.21 release, see
  30.      *Note Upgrading-from-3.21::.
  31.    * For a tutorial introduction to *MySQL*, see *Note Tutorial::.
  32.    * For examples of SQL and benchmarking information, see the
  33.      benchmarking directory (`sql-bench' in the distribution).
  34.    * For a history of new features and bug fixes, see *Note News::.
  35.    * For a list of currently known bugs and misfeatures, see *Note
  36.      Bugs::.
  37.    * For future plans, see *Note TODO::.
  38.    * For a list of all the contributors to this project, see *Note
  39.      Credits::.
  40. *IMPORTANT:*
  41. Reports of errors (often called bugs), as well as questions and
  42. comments, should be sent to the mailing list at <mysql@lists.mysql.com>.
  43. *Note Bug reports::.  The `mysqlbug' script should be used to generate
  44. bug reports.  For source distributions, the `mysqlbug' script can be
  45. found in the `scripts' directory.  For binary distributions, `mysqlbug'
  46. can be found in the `bin' directory. If you have found a sensitive
  47. security bug in *MySQL*, you should send an email to
  48. <security@mysql.com>.
  49. If you have any suggestions concerning additions or corrections to this
  50. manual, please send them to the manual team at (<docs@mysql.com>).
  51. This is a reference manual; it does not provide general instruction on
  52. SQL or relational database concepts.  If you want general information
  53. about SQL, see *Note General-SQL::. For books that focus more
  54. specifically on *MySQL*, see *Note MySQL-Books::.
  55. What Is MySQL
  56. =============
  57. *MySQL*, the most popular Open Source SQL database, is provided by
  58. *MySQL AB*.  *MySQL AB* is a commercial company that builds its
  59. business providing services around the *MySQL* database.  *Note What is
  60. MySQL AB::.
  61. *MySQL* is a database management system.
  62.      A database is a structured collection of data. It may be anything
  63.      from a simple shopping list to a picture gallery or the vast
  64.      amounts of information in a corporate network. To add, access, and
  65.      process data stored in a computer database, you need a database
  66.      management system such as *MySQL*. Since computers are very good
  67.      at handling large amounts of data, database management plays a
  68.      central role in computing, as stand-alone utilities, or as parts
  69.      of other applications.
  70. *MySQL* is a relational database management system.
  71.      A relational database stores data in separate tables rather than
  72.      putting all the data in one big storeroom. This adds speed and
  73.      flexibility. The tables are linked by defined relations making it
  74.      possible to combine data from several tables on request. The SQL
  75.      part of *MySQL* stands for "Structured Query Language" - the most
  76.      common standardized language used to access databases.
  77. *MySQL* is Open Source Software.
  78.      Open source means that it is possible for anyone to use and modify.
  79.      Anybody can download *MySQL* from the Internet and use it without
  80.      paying anything. Anybody so inclined can study the source code and
  81.      change it to fit their needs. *MySQL* uses the GPL (GNU General
  82.      Public License) `http://www.gnu.org', to define what you may and
  83.      may not do with the software in different situations. If you feel
  84.      uncomfortable with the GPL or need to embed *MySQL* into a
  85.      commercial application you can buy a commercially licensed version
  86.      from us.
  87. Why use *MySQL*?
  88.      *MySQL* is very fast, reliable, and easy to use. If that is what
  89.      you are looking for, you should give it a try. *MySQL* also has a
  90.      very practical set of features developed in very close cooperation
  91.      with our users. You can find a performance comparison of *MySQL*
  92.      to some other database managers on our benchmark page. *Note
  93.      Benchmarks::.
  94.      *MySQL* was originally developed to handle very large databases
  95.      much faster than existing solutions and has been successfully used
  96.      in highly demanding production environments for several years.
  97.      Though under constant development, *MySQL* today offers a rich and
  98.      very useful set of functions. The connectivity, speed, and
  99.      security make *MySQL* highly suited for accessing databases on the
  100.      Internet.
  101. The technical features of *MySQL*
  102.      For advanced technical information, see *Note Reference::.
  103.      *MySQL* is a client/server system that consists of a
  104.      multi-threaded SQL server that supports different backends,
  105.      several different client programs and libraries, administrative
  106.      tools, and a programming interface.
  107.      We also provide *MySQL* as a multi-threaded library which you can
  108.      link into your application to get a smaller, faster, easier to
  109.      manage product.
  110. *MySQL* has a lot of contributed software available.
  111.      It is very likely that you will find that your favorite
  112.      application/language already supports *MySQL*.
  113. The official way to pronounce *MySQL* is "My Ess Que Ell" (not
  114. MY-SEQUEL). But we try to avoid correcting people who say MY-SEQUEL.
  115. What Is MySQL AB
  116. ================
  117. *MySQL AB* is the Swedish company owned and run by the *MySQL* founders
  118. and main developers. We are dedicated to developing *MySQL* and
  119. spreading our database to new users. *MySQL AB* owns the copyright to
  120. the *MySQL* server source code and the *MySQL* trademark.  A
  121. significant amount of revenues from our services goes to developing
  122. *MySQL*. *Note What-is::.
  123. *MySQL AB* has been profitable providing *MySQL AB* from the start.  We
  124. don't get any outside funding, but have earned all our money ourselves.
  125. We are searching after partners that would like to support our
  126. development of *MySQL* so that we could accelerate the development
  127. pace.  If you are interested in doing this, you can email
  128. <partner@mysql.com> about this!
  129. *MYSQL AB* has currently 20+ people on it's payroll and is growing
  130. rapidly.  `http://www.mysql.com/development/team.html'.
  131. Our main streams of income are
  132.    * Commercial high quality support for *MySQL* provided by *MySQL*
  133.      developers.  If you are interested in getting support, please
  134.      visit `https://order.mysql.com/' to view our support options or to
  135.      order support.
  136.    * Consulting services.  We have developers/consults in 12 countries
  137.      and partners in many other countries that can help you with almost
  138.      any *MySQL* related issues.  If you need consulting services,
  139.      please email a good description of your needs to <info@mysql.com>!
  140.      If we can't handle this ourselves we can usually find a partner
  141.      or a developer that can help you with your problems.
  142.    * We sell licenses for using *MySQL* as an embedded database. *Note
  143.      Cost::.  If you have a commercial product for which you need a
  144.      fast high quality database but you can't afford to make your
  145.      product Open Source, you can buy the right to use the *MySQL*
  146.      server under a normal commercial copyright.  If you are interested
  147.      in this you can buy *MySQL* licenses at `https://order.mysql.com/'
  148.      or contact us at <licensing@mysql.com>.
  149.    * Advertising; `http://www.mysql.com/' is a very popular web site
  150.      with more than 10,000,000 page views per months (January 2001).
  151.      By putting a banner on this you are guaranteed to reach a lot of
  152.      potential customers in the Open source, Linux and database
  153.      community. If you are interested in this email
  154.      <advertising@mysql.com>.
  155.    * We are building a partner program to be able to provide *MySQL*
  156.      services in every country.  If you are interested in becomming a
  157.      partner of *MySQL AB* please visit
  158.      `http://www.mysql.com/information/partners.html' or email
  159.      <partner@mysql.com>.
  160.    * We provide *MySQL* training through our partner programs. For more
  161.      information, please email <info@mysql.com>.
  162.    * The *MySQL* brand has since 1995 been associated with speed,
  163.      reliability and is known to be something you can depend upon. If
  164.      you are interested in using the *MySQL* trademark in your
  165.      marketing, you can email <info@mysql.com> about this.
  166. The *MySQL* core values shows our dedication to *MySQL* and Open Source:
  167. We want *MySQL* to be:
  168.    * The best and the most used database in the world
  169.    * Available and affordable for all
  170.    * Easy to use
  171.    * Continuously improving while remaining fast and safe
  172.    * Fun to use and improve
  173.    * Free from bugs
  174. *MySQL AB* and the people of *MySQL AB*:
  175.    * Promote Open Source Philosophy and support the Open Source
  176.      Community
  177.    * Aim to be good citizens
  178.    * Prefer partners that share our values and mind-set
  179.    * Answer mail and give support
  180.    * Are a virtual company, networking with others
  181.    * Work against software patents
  182. About This Manual
  183. =================
  184. This manual is currently available in Texinfo, plain text, Info, HTML,
  185. PostScript, and PDF versions.  The primary document is the Texinfo file.
  186. The HTML version is produced automatically using a modified version of
  187. `texi2html'. The plain text and Info versions are produced with
  188. `makeinfo'. The Postscript version is produced using `texi2dvi' and
  189. `dvips'. The PDF version is produced with `pdftex'.
  190. This manual is written and maintained by David Axmark, Michael (Monty)
  191. Widenius, Jeremy Cole, and Paul DuBois. For other contributors, see
  192. *Note Credits::.
  193. Conventions Used in This Manual
  194. -------------------------------
  195. This manual uses certain typographical conventions:
  196. `constant'
  197.      Constant-width font is used for command names and options; SQL
  198.      statements; database, table and column names; C and Perl code; and
  199.      environment variables.  Example: "To see how `mysqladmin' works,
  200.      invoke it with the `--help' option."
  201. `filename'
  202.      Constant-width font with surrounding quotes is used for filenames
  203.      and pathnames.  Example: "The distribution is installed under the
  204.      `/usr/local/' directory."
  205. `c'
  206.      Constant-width font with surrounding quotes is also used to
  207.      indicate character sequences.  Example: "To specify a wild card,
  208.      use the `%' character."
  209. _italic_
  210.      Italic font is used for emphasis, _like this_.
  211. *boldface*
  212.      Boldface font is used for access privilege names (for example, "do
  213.      not grant the *process* privilege lightly") and occasionally to
  214.      convey *especially strong emphasis*.
  215. When commands are shown that are meant to be executed by a particular
  216. program, the program is indicated by a prompt shown before the command.
  217. For example, `shell>' indicates a command that you execute from your
  218. login shell, and `mysql>' indicates a command that you execute from the
  219. `mysql' client program:
  220.      shell> type a shell command here
  221.      mysql> type a mysql command here
  222. Shell commands are shown using Bourne shell syntax.  If you are using a
  223. `csh'-style shell, you may need to issue commands slightly differently.
  224. For example, the sequence to set an environment variable and run a
  225. command looks like this in Bourne shell syntax:
  226.      shell> VARNAME=value some_command
  227. For `csh', you would execute the sequence like this:
  228.      shell> setenv VARNAME value
  229.      shell> some_command
  230. Often, database, table, and column names must be substituted into
  231. commands.  To indicate that such substitution is necessary, this manual
  232. uses `db_name', `tbl_name' and `col_name'.  For example, you might see
  233. a statement like this:
  234.      mysql> SELECT col_name FROM db_name.tbl_name;
  235. This means that if you were to enter a similar statement, you would
  236. supply your own database, table, and column names, perhaps like this:
  237.      mysql> SELECT author_name FROM biblio_db.author_list;
  238. SQL statements may be written in uppercase or lowercase.  When this
  239. manual shows a SQL statement, uppercase is used for particular keywords
  240. if those keywords are under discussion (to emphasize them) and
  241. lowercase is used for the rest of the statement.  For example, you
  242. might see the following in a discussion of the `SELECT' statement:
  243.      mysql> SELECT count(*) FROM tbl_name;
  244. On the other hand, in a discussion of the `COUNT()' function, the same
  245. statement would be written like this:
  246.      mysql> select COUNT(*) from tbl_name;
  247. If no particular emphasis is intended, all keywords are written
  248. uniformly in uppercase.
  249. In syntax descriptions, square brackets (`[' and `]') are used to
  250. indicate optional words or clauses:
  251.      DROP TABLE [IF EXISTS] tbl_name
  252. When a syntax element consists of a number of alternatives, the
  253. alternatives are separated by vertical bars (`|').  When one member
  254. from a set of choices *may* be chosen, the alternatives are listed
  255. within square brackets (`[' and `]'):
  256.      TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
  257. When one member from a set of choices *must* be chosen, the
  258. alternatives are listed within braces (`{' and `}'):
  259.      {DESCRIBE | DESC} tbl_name {col_name | wild}
  260. History of MySQL
  261. ================
  262. We once started out with the intention of using `mSQL' to connect to our
  263. tables using our own fast low-level (ISAM) routines. However, after some
  264. testing we came to the conclusion that `mSQL' was not fast enough nor
  265. flexible enough for our needs. This resulted in a new SQL interface to
  266. our database but with almost the same API interface as `mSQL'. This API
  267. was chosen to ease porting of third-party code.
  268. The derivation of the name *MySQL* is not perfectly clear.  Our base
  269. directory and a large number of our libraries and tools have had the
  270. prefix "my" for well over 10 years. However, Monty's daughter (some
  271. years younger) is also named My. So which of the two gave its name to
  272. *MySQL* is still a mystery, even for us.
  273. Books About MySQL
  274. =================
  275. While this manual is still the right place for up to date techical
  276. information, its primary goal is to contain everything there is to know
  277. about *MySQL*. It is sometimes nice to have a bound book to read in bed
  278. or while you travel. Here is a list of books about *MySQL* and related
  279. subjects (in English).
  280. By purchasing a book through these hyperlinks provided herein, you are
  281. contributing to the development of *MySQL*.
  282. _MySQL_
  283. Available               Barnes and Noble
  284.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0735709211&bfmtype=book)
  285. Publisher              New Riders
  286. Author                 Paul DuBois
  287. Pub Date               1st Edition December 1999
  288. ISBN                   0735709211
  289. Pages                  800
  290. Price                  $49.99 US
  291. Downloadable examples   `samp_db.tar.gz'
  292.                        (http://www.mysql.com/Downloads/Contrib/Examples/samp_db.tar.gz)
  293. Errata                  are available here
  294.                        (http://www.mysql.com/documentation/pauls-mysql-book-errata.html)
  295. Foreword by Michael "Monty" Widenius, *MySQL* Moderator.
  296. In _MySQL_, Paul DuBois provides you with a comprehensive guide to one
  297. of the most popular relational database systems. Paul has contributed
  298. to the online documentation for *MySQL* and is an active member of the
  299. *MySQL* community. The principal *MySQL* developer, Monty Widenius, and
  300. a network of his fellow developers reviewed the manuscript, and
  301. provided Paul with the kind of insight no one else could supply.
  302. Instead of merely giving you a general overview of *MySQL*, Paul
  303. teaches you how to make the most of its capabilities. Through two
  304. sample database applications that run throughout the book, he gives you
  305. solutions to problems you're sure to face. He helps you integrate
  306. *MySQL* efficiently with third-party tools, such as PHP and Perl,
  307. enabling you to generate dynamic Web pages through database queries. He
  308. teaches you to write programs that access *MySQL* databases, and also
  309. provides a comprehensive set of references to column types, operators,
  310. functions, SQL syntax, *MySQL* programming, C API, Perl `DBI', and PHP
  311. API.  _MySQL_ simply gives you the kind of information you won't find
  312. anywhere else.
  313. If you use *MySQL*, this book provides you with:
  314.    * An introduction to *MySQL* and SQL
  315.    * Coverage of *MySQL*'s data types and how to use them
  316.    * Thorough treatment of how to write client programs in C
  317.    * A guide to using the Perl `DBI' and PHP APIs for developing
  318.      command-line and Web-based applications
  319.    * Tips on administrative issues such as user accounts, backup, crash
  320.      recovery, and security
  321.    * Help in choosing an ISP for *MySQL* access
  322.    * A comprehensive reference for *MySQL*'s data types, operators,
  323.      functions, and SQL statements and utilities
  324.    * Complete reference guides for *MySQL*'s C API, the Perl `DBI' API,
  325.      and PHP's *MySQL*-related functions
  326. _MySQL & mSQL_
  327. Available              Barnes and Noble
  328.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1565924347&bfmtype=book)
  329. Publisher              O'Reilly
  330. Authors                Randy Jay Yarger, George Reese & Tim King
  331. Pub Date               1st Edition July 1999
  332. ISBN                   1-56592-434-7, Order Number: 4347
  333. Pages                  506
  334. Price                  $34.95
  335. This book teaches you how to use *MySQL* and `mSQL', two popular and
  336. robust database products that support key subsets of SQL on both Linux
  337. and Unix systems. Anyone who knows basic C, Java, Perl, or Python can
  338. write a program to interact with a database, either as a stand-alone
  339. application or through a Web page. This book takes you through the
  340. whole process, from installation and configuration to programming
  341. interfaces and basic administration.  Includes ample tutorial material.
  342. _Sams' Teach Yourself MySQL in 21 Days_
  343. Available              Barnes and Noble
  344.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0672319144&bfmtype=book)
  345. Publisher              Sams
  346. Authors                Mark Maslakowski and Tony Butcher
  347. Pub Date               June 2000
  348. ISBN                   0672319144
  349. Pages                  650
  350. Price                  $39.99
  351. Sams Teach Yourself *MySQL* in 21 Days is for intermediate Linux users
  352. who want to move into databases.  A large share of the audience is Web
  353. developers who need a database to store large amounts of information
  354. that can be retrieved via the Web.  _Sams' Teach Yourself MySQL in 21
  355. Days_ is a practical, step-by-step tutorial.  The reader will learn to
  356. design and employ this open source database technology into his/her Web
  357. site using practical, hands-on examples to follow.
  358. _E-Commerce Solutions with MySQL_
  359. Available              Barnes and Noble
  360.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0761524452&bfmtype=book)
  361. Publisher              Prima Communications, Inc.
  362. Authors                N/A
  363. Pub Date               January 2000
  364. ISBN                   0761524452
  365. Pages                  500
  366. Price                  $39.99
  367. No description available.
  368. _MySQL and PHP from Scratch_
  369. Available              Barnes and Noble
  370.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0789724405&bfmtype=book)
  371. Publisher              Que
  372. Authors                N/A
  373. Pub Date               September 2000
  374. ISBN                   0789724405
  375. Pages                  550
  376. Price                  $34.99
  377. This book puts together information on installing, setting up, and
  378. troubleshooting Apache, MySQL, PHP3, and IMP into one complete volume.
  379. You also learn how each piece is part of a whole by learning,
  380. step-by-step, how to create a web-based e-mail system. Learn to run the
  381. equivalent of Active Server Pages (ASP) using PHP3, set up an
  382. e-commerce site using a database and the Apache web server, and create
  383. a data entry system (such as sales, product quality tracking, customer
  384. preferences, etc) that no installation in the PC.
  385. _Professional MySQL Programming_
  386. Available              Barnes and Noble
  387.                        (http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=1861005164)
  388. Publisher              Wrox Press, Inc.
  389. Authors                N/A
  390. Pub Date               Late 2001
  391. ISBN                   1861005164
  392. Pages                  1000
  393. Price                  $49.99
  394. No description available.
  395. _Professional Linux Programming_
  396. Available              Barnes and Noble
  397.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1861003013&bfmtype=book)
  398. Publisher              Wrox Press, Inc.
  399. Authors                N/A
  400. Pub Date               September 2000
  401. ISBN                   1861003013
  402. Pages                  1155
  403. Price                  $47.99
  404. In this follow-up to the best-selling Beginning Linux Programming, you
  405. will learn from the authors' real-world knowledge and experience of
  406. developing software for Linux; you'll be taken through the development
  407. of a sample 'DVD Store' application, with 'theme' chapters addressing
  408. different aspects of its implementation. Meanwhile, individual
  409. 'take-a-break' chapters cover important topics that go beyond the
  410. bounds of the central theme. All focus on the practical aspects of
  411. programming, showing how crucial it is to choose the right tools for
  412. the job, use them as they should be used, and get things right first
  413. time.
  414. _PHP and MySQL Web Development_
  415. Available              Barnes and Noble
  416.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0672317842&bfmtype=book)
  417. Publisher              Sams
  418. Authors                Luke Welling, Laura Thomson
  419. Pub Date               November 2000
  420. ISBN                   0672317842
  421. Pages                  700
  422. Price                  $49.99
  423. PHP3 and MySQL Web Development introduces you to the advantages of
  424. implementing both MySQL and PHP3. These advantages are detailed through
  425. the provision of both statistics and several case studies. A practical
  426. web application is developed throughout the book, providing you with
  427. the tools necessary to implement a functional online database. Each
  428. function is developed separately, allowing you the choice to
  429. incorporate only those parts that you would like to implement.
  430. Programming concepts of the PHP3 language are highlighted, including
  431. functions which tie MySQL support into a PHP3 script and advanced
  432. topics regarding table manipulation.
  433. *Books recommended by the MySQL Developers*
  434. _SQL-99 Complete, Really_
  435. Available              Barnes and Noble
  436.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0879305681&bfmtype=book)
  437. Publisher              CMP Books
  438. Authors                Peter Gulutzan, Trudy Pelzer
  439. Pub Date               April 1999
  440. ISBN                   0879305681
  441. Pages                  1104
  442. Price                  $55.96
  443. This book contains complete descriptions of the new standards for
  444. syntax, data structures, and retrieval processes of SQL databases. As
  445. an example-based reference manual, it includes all of the CLI
  446. functions, information, schema tables, and status codes, as well as a
  447. working SQL database provided on the companion disk.
  448. _C, A reference manual_
  449. Available              Barnes and Noble
  450.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0133262243&bfmtype=book)
  451. Publisher              Prentice Hall
  452. Authors                Samuel P. Harbison, Guy L. Steele
  453. Pub Date               September 1994
  454. ISBN                   0133262243
  455. Pages                  480
  456. Price                  $35.99
  457. A new and improved revision of the bestselling C language reference.
  458. This manual introduces the notion of "Clean C, " writing C code that
  459. can be compiled as a C++ program, C programming style that emphasizes
  460. correctness, portability, and maintainability. and incorporates the ISO
  461. C Amendment 1 (1994) which specifies new facilities for writing
  462. portable, international programs in C.
  463. _C++ for Real Programmers_
  464. Available              Barnes and Noble
  465.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0120499428&bfmtype=book)
  466. Publisher              Academic Press, Incorporated
  467. Authors                Jeff Alger, Jim Keogh
  468. Pub Date               February 1998
  469. ISBN                   0120499428
  470. Pages                  388
  471. Price                  $39.95
  472. C++ For Real Programmers bridges the gap between C++ as described in
  473. beginner and intermediate-level books and C++ as it is practiced by
  474. experts. Numerous valuable techniques are described, organized into
  475. three simple themes: indirection, class hierarchies, and memory
  476. management. It also provides indepth coverage of template creation,
  477. exception handling, pointers and optimization techniques. The focus of
  478. the book is on ANSI C++ and so is compiler independent. C++ For Real
  479. Programmers is a revision of Secrets of the C++ Masters and includes a
  480. new appendix comparing C++ with Java. The book comes with a 3.5" disk
  481. for Windows with source code.
  482. _Algorithms in C_
  483. Available              Barnes and Noble
  484.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0201514257&bfmtype=book)
  485. Publisher              Addison Wesley Longman, Inc.
  486. Authors                Robert Sedgewick
  487. Pub Date               April 1990
  488. ISBN                   0201514257
  489. Pages                  648
  490. Price                  $45.75
  491. Algorithms in C describes a variety of algorithms in a number of areas
  492. of interest, including: sorting, searching, string-processing, and
  493. geometric, graph and mathematical algorithms. The book emphasizes
  494. fundamental techniques, providing readers with the tools to confidently
  495. implement, run, and debug useful algorithms.
  496. _Multithreaded Programming with Pthreads_
  497. Available              Barnes and Noble
  498.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=0136807291&bfmtype=book)
  499. Publisher              Prentice Hall
  500. Authors                Bil Lewis, Daniel J. Berg
  501. Pub Date               October 1997
  502. ISBN                   0136807291
  503. Pages                  432
  504. Price                  $34.95
  505. Based on the best-selling Threads Primer, Multithreaded Programming
  506. with Pthreads gives you a solid understanding of Posix threads: what
  507. they are, how they work, when to use them, and how to optimize them. It
  508. retains the clarity and humor of the Primer, but includes expanded
  509. comparisons to Win32 and OS/2 implementations. Code examples tested on
  510. all of the major UNIX platforms are featured along with detailed
  511. explanations of how and why they use threads.
  512. _Programming the PERL DBI: Database Programming with PERL_
  513. Available              Barnes and Noble
  514.                        (http://service.bfast.com/bfast/click?bfmid=2181&sourceid=34233559&bfpid=1565926994&bfmtype=book)
  515. Publisher              O'Reilly & Associates, Incorporated
  516. Authors                Alligator Descartes, Tim Bunce
  517. Pub Date               February 2000
  518. ISBN                   1565926994
  519. Pages                  400
  520. Price                  $27.96
  521. Programming the Perl DBI is coauthored by Alligator Descartes, one of
  522. the most active members of the DBI community, and by Tim Bunce, the
  523. inventor of DBI. For the uninitiated, the book explains the
  524. architecture of DBI and shows you how to write DBI-based programs. For
  525. the experienced DBI dabbler, this book explains DBI's nuances and the
  526. peculiarities of each individual DBD.
  527. The book includes:
  528.    * An introduction to DBI and its design
  529.    * How to construct queries and bind parameters
  530.    * Working with database, driver, and statement handles
  531.    * Debugging techniques
  532.    * Coverage of each existing DBD
  533.    * A complete reference to DBI
  534. The Main Features of MySQL
  535. ==========================
  536. The following list describes some of the important characteristics of
  537. *MySQL*:
  538.    * Fully multi-threaded using kernel threads. That means it can easily
  539.      use multiple CPUs if available.
  540.    * C, C++, Eiffel, Java, Perl, PHP, Python and Tcl APIs. *Note
  541.      Clients::.
  542.    * Works on many different platforms. *Note Which OS::.
  543.    * Many column types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes
  544.      long, `FLOAT', `DOUBLE', `CHAR', `VARCHAR', `TEXT', `BLOB',
  545.      `DATE', `TIME', `DATETIME', `TIMESTAMP', `YEAR', `SET', and `ENUM'
  546.      types. *Note Column types::.
  547.    * Very fast joins using an optimized one-sweep multi-join.
  548.    * Full operator and function support in the `SELECT' and `WHERE'
  549.      parts of queries. Example:
  550.           mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name
  551.                      WHERE income/dependents > 10000 AND age > 30;
  552.    * SQL functions are implemented through a highly optimized class
  553.      library and should be as fast as they can get! Usually there
  554.      shouldn't be any memory allocation at all after query
  555.      initialization.
  556.    * Full support for SQL `GROUP BY' and `ORDER BY' clauses. Support
  557.      for group functions (`COUNT()', `COUNT(DISTINCT)', `AVG()',
  558.      `STD()', `SUM()', `MAX()' and `MIN()').
  559.    * Support for `LEFT OUTER JOIN' and `RIGHT OUTER JOIN' with ANSI SQL
  560.      and ODBC syntax.
  561.    * You can mix tables from different databases in the same query (as
  562.      of Version 3.22).
  563.    * A privilege and password system that is very flexible and secure
  564.      and allows host-based verification.  Passwords are secure because
  565.      all password traffic is encrypted when you connect to a server.
  566.    * ODBC (Open-DataBase-Connectivity) support for Win32 (with source).
  567.      All ODBC 2.5 functions and many others.  For example, you can use
  568.      MS Access to connect to your *MySQL* server. *Note ODBC::.
  569.    * Very fast B-tree disk tables with index compression.
  570.    * Up to 32 indexes per table are allowed. Each index may consist of
  571.      1 to 16 columns or parts of columns. The maximum index length is
  572.      500 bytes (this may be changed when compiling *MySQL*). An index
  573.      may use a prefix of a `CHAR' or `VARCHAR' field.
  574.    * Fixed-length and variable-length records.
  575.    * In-memory hash tables which are used as temporary tables.
  576.    * Handles large databases.  We are using *MySQL* with some databases
  577.      that contain 50,000,000 records and we know of users that uses
  578.      *MySQL* with 60,000 tables and about 5,000,000,000 rows
  579.    * All columns have default values.  You can use `INSERT' to insert a
  580.      subset of a table's columns; those columns that are not explicitly
  581.      given values are set to their default values.
  582.    * Uses GNU Automake, Autoconf, and `libtool' for portability.
  583.    * Written in C and C++. Tested with a broad range of different
  584.      compilers.
  585.    * A very fast thread-based memory allocation system.
  586.    * No memory leaks. Tested with a commercial memory leakage detector
  587.      (`purify').
  588.    * Includes `myisamchk', a very fast utility for table checking,
  589.      optimization, and repair.  *Note Maintenance::.
  590.    * Full support for several different character sets, including
  591.      ISO-8859-1 (Latin1), big5, ujis, and more. For example, the
  592.      Scandinavian characters `a*', `a"' and `o"' are allowed in table
  593.      and column names.
  594.    * All data are saved in the chosen character set. All comparisons
  595.      for normal string columns are case insensitive.
  596.    * Sorting is done according to the chosen character set (the Swedish
  597.      way by default). It is possible to change this when the *MySQL*
  598.      server is started up.  To see an example of very advanced sorting,
  599.      look at the Czech sorting code. *MySQL* supports many different
  600.      character sets that can be specified at compile and run time.
  601.    * Aliases on tables and columns are allowed as in the SQL92 standard.
  602.    * `DELETE', `INSERT', `REPLACE', and `UPDATE' return how many rows
  603.      were changed (affected). It is possible to return the number of
  604.      rows matched instead by setting a flag when connecting to the
  605.      server.
  606.    * Function names do not clash with table or column names. For
  607.      example, `ABS' is a valid column name. The only restriction is
  608.      that for a function call, no spaces are allowed between the
  609.      function name and the `(' that follows it.  *Note Reserved words::.
  610.    * All *MySQL* programs can be invoked with the `--help' or `-?'
  611.      options to obtain online assistance.
  612.    * The server can provide error messages to clients in many
  613.      languages. *Note Languages::.
  614.    * Clients may connect to the *MySQL* server using TCP/IP Sockets,
  615.      Unix Sockets (Unixes), or Named Pipes (NT).
  616.    * The *MySQL*-specific `SHOW' command can be used to retrieve
  617.      information about databases, tables, and indexes. The `EXPLAIN'
  618.      command can be used to determine how the optimizer resolves a
  619.      query.
  620. How Stable Is MySQL?
  621. ====================
  622. This section addresses the questions "How stable is *MySQL*?" and "Can
  623. I depend on *MySQL* in this project?"  We will try to clarify some
  624. issues and to answer some of the more important questions that seem to
  625. concern many people.  This section has been put together from
  626. information gathered from the mailing list (which is very active in
  627. reporting bugs).
  628. At TcX, *MySQL* has worked without any problems in our projects since
  629. mid-1996. When *MySQL* was released to a wider public, we noticed that
  630. there were some pieces of "untested code" that were quickly found by the
  631. new users who made queries in a manner different than our own.  Each new
  632. release has had fewer portability problems than the previous one (even
  633. though each has had many new features).
  634. Each release of *MySQL* has been usable, and there have been problems
  635. only when users start to use code from the "gray zones." Naturally,
  636. outside users don't know what the gray zones are; this section attempts
  637. to indicate those that are currently known.  The descriptions deal with
  638. Version 3.23.x of *MySQL*. All known and reported bugs are fixed in the
  639. latest version, with the exception of the bugs listed in the bugs
  640. section, which are things that are design-related.  *Note Bugs::.
  641. *MySQL* is written in multiple layers and different independent
  642. modules.  These modules are listed below with an indication of how
  643. well-tested each of them is:
  644. *The ISAM table handler -- Stable*
  645.      This manages storage and retrieval of all data in *MySQL* Version
  646.      3.22 and earlier. In all *MySQL* releases there hasn't been a
  647.      single (reported) bug in this code. The only known way to get a
  648.      corrupted table is to kill the server in the middle of an update.
  649.      Even that is unlikely to destroy any data beyond rescue, because
  650.      all data are flushed to disk between each query.  There hasn't
  651.      been a single bug report about lost data because of bugs in
  652.      *MySQL*.
  653. *The MyISAM table handler -- Gamma*
  654.      This is new in *MySQL* Version 3.23. It's largely based on the ISAM
  655.      table code but has a lot of new and very useful features.
  656. *The parser and lexical analyser -- Stable*
  657.      There hasn't been a single reported bug in this system for a long
  658.      time.
  659. *The C client code -- Stable*
  660.      No known problems. In early Version 3.20 releases, there were some
  661.      limitations in the send/receive buffer size. As of Version 3.21,
  662.      the buffer size is now dynamic up to a default of 16M.
  663. *Standard client programs -- Stable*
  664.      These include `mysql', `mysqladmin', `mysqlshow', `mysqldump', and
  665.      `mysqlimport'.
  666. *Basic SQL -- Stable*
  667.      The basic SQL function system and string classes and dynamic memory
  668.      handling. Not a single reported bug in this system.
  669. *Query optimizer -- Stable*
  670. *Range optimizer -- Stable*
  671. *Join optimizer -- Stable*
  672. *Locking -- Gamma*
  673.      This is very system-dependent. On some systems there are big
  674.      problems using standard OS locking (`fcntl()').  In these cases,
  675.      you should run the *MySQL* daemon with the `--skip-locking' flag.
  676.      Problems are known to occur on some Linux systems, and on SunOS
  677.      when using NFS-mounted file systems.
  678. *Linux threads -- Stable*
  679.      The major problem found has been with the `fcntl()' call, which is
  680.      fixed by using the `--skip-locking' option to `mysqld'. Some
  681.      people have reported lockup problems with Version 0.5.
  682.      LinuxThreads will need to be recompiled if you plan to use 1000+
  683.      concurrent connections. Although it is possible to run that many
  684.      connections with the default LinuxThreads (however, you will never
  685.      go above 1021), the default stack spacing of 2 MB makes the
  686.      application unstable, and we have been able to reproduce a
  687.      coredump after creating 1021 idle connections. See Linux Notes for
  688.      more details.
  689. *Solaris 2.5+ pthreads -- Stable*
  690.      We use this for all our production work.
  691. *MIT-pthreads (Other systems) -- Stable*
  692.      There have been no reported bugs since Version 3.20.15 and no
  693.      known bugs since Version 3.20.16. On some systems, there is a
  694.      "misfeature" where some operations are quite slow (a 1/20 second
  695.      sleep is done between each query).  Of course, MIT-pthreads may
  696.      slow down everything a bit, but index-based `SELECT' statements
  697.      are usually done in one time frame so there shouldn't be a mutex
  698.      locking/thread juggling.
  699. *Other thread implementions -- Beta - Gamma*
  700.      The ports to other systems are still very new and may have bugs,
  701.      possibly in *MySQL*, but most often in the thread implementation
  702.      itself.
  703. *`LOAD DATA ...', `INSERT ... SELECT' -- Stable*
  704.      Some people thought they had found bugs here, but these usually
  705.      have turned out to be misunderstandings. Please check the manual
  706.      before reporting problems!
  707. *`ALTER TABLE' -- Stable*
  708.      Small changes in Version 3.22.12.
  709. *DBD -- Stable*
  710.      Now maintained by Jochen Wiedmann <wiedmann@neckar-alb.de>. Thanks!
  711. *`mysqlaccess' -- Stable*
  712.      Written and maintained by Yves Carlier <Yves.Carlier@rug.ac.be>.
  713.      Thanks!
  714. *`GRANT' -- Stable*
  715.      Big changes made in *MySQL* Version 3.22.12.
  716. **MyODBC* (uses ODBC SDK 2.5) -- Gamma*
  717.      It seems to work well with some programs.
  718. *Replication - Beta / Gamma*
  719.      We are still working on replication, so don't expect this to be
  720.      rock solid yet.  On the other hand, some *MySQL* users are already
  721.      using this with good results.
  722. *BDB Tables - Beta*
  723.      The Berkeley DB code is very stable, but we are still improving
  724.      the interface between *MySQL* and BDB tables, so it will take some
  725.      time before this is as tested as the other table types.
  726. *Innobase Tables - Alpha*
  727.      This is a very recent addition to `MySQL' and are not very tested
  728.      yet.
  729. *Automatic recovery of MyISAM tables - Beta.*
  730.      This only affects the new code that checks if the table was closed
  731.      properly on open and executes an automatic check/repair of the
  732.      table if it wasn't.
  733. *MERGE tables - Beta / Gamma*
  734.      The usage of keys on `MERGE' tables is still not that tested.  The
  735.      other part of the `MERGE' code is quite well tested.
  736. *FULLTEXT - Beta*
  737.      Text search seams to work, but is still not widely used.
  738. MySQL AB provides e-mail support for paying customers, but the *MySQL*
  739. mailing list usually provides answers to common questions. Bugs are
  740. usually fixed right away with a patch; for serious bugs, there is almost
  741. always a new release.
  742. Year 2000 Compliance
  743. ====================
  744. *MySQL* itself has no problems with Year 2000 (Y2K) compliance:
  745.    * *MySQL* uses Unix time functions and has no problems with dates
  746.      until `2069'; all 2-digit years are regarded to be in the range
  747.      `1970' to `2069', which means that if you store `01' in a `year'
  748.      column, *MySQL* treats it as `2001'.
  749.    * All *MySQL* date functions are stored in one file `sql/time.cc'
  750.      and coded very carefully to be year 2000-safe.
  751.    * In *MySQL* Version 3.22 and later, the new `YEAR' column type can
  752.      store years `0' and `1901' to `2155' in 1 byte and display them
  753.      using 2 or 4 digits.
  754. You may run into problems with applications that use *MySQL* in a way
  755. that is not Y2K-safe.  For example, many old applications store or
  756. manipulate years using 2-digit values (which are ambiguous) rather than
  757. 4-digit values.  This problem may be compounded by applications that use
  758. values such as `00' or `99' as "missing" value indicators.
  759. Unfortunately, these problems may be difficult to fix, because different
  760. applications may be written by different programmers, each of whom may
  761. use a different set of conventions and date-handling functions.
  762. Here is a simple demonstration illustrating that *MySQL* doesn't have
  763. any problems with dates until the year 2030:
  764.      mysql> DROP TABLE IF EXISTS y2k;
  765.      mysql> CREATE TABLE y2k (date date, date_time datetime, time_stamp timestamp);
  766.      mysql> INSERT INTO y2k VALUES ("1998-12-31","1998-12-31 23:59:59",19981231235959);
  767.      mysql> INSERT INTO y2k VALUES ("1999-01-01","1999-01-01 00:00:00",19990101000000);
  768.      mysql> INSERT INTO y2k VALUES ("1999-09-09","1999-09-09 23:59:59",19990909235959);
  769.      mysql> INSERT INTO y2k VALUES ("2000-01-01","2000-01-01 00:00:00",20000101000000);
  770.      mysql> INSERT INTO y2k VALUES ("2000-02-28","2000-02-28 00:00:00",20000228000000);
  771.      mysql> INSERT INTO y2k VALUES ("2000-02-29","2000-02-29 00:00:00",20000229000000);
  772.      mysql> INSERT INTO y2k VALUES ("2000-03-01","2000-03-01 00:00:00",20000301000000);
  773.      mysql> INSERT INTO y2k VALUES ("2000-12-31","2000-12-31 23:59:59",20001231235959);
  774.      mysql> INSERT INTO y2k VALUES ("2001-01-01","2001-01-01 00:00:00",20010101000000);
  775.      mysql> INSERT INTO y2k VALUES ("2004-12-31","2004-12-31 23:59:59",20041231235959);
  776.      mysql> INSERT INTO y2k VALUES ("2005-01-01","2005-01-01 00:00:00",20050101000000);
  777.      mysql> INSERT INTO y2k VALUES ("2030-01-01","2030-01-01 00:00:00",20300101000000);
  778.      mysql> INSERT INTO y2k VALUES ("2050-01-01","2050-01-01 00:00:00",20500101000000);
  779.      mysql> SELECT * FROM y2k;
  780.      +------------+---------------------+----------------+
  781.      | date       | date_time           | time_stamp     |
  782.      +------------+---------------------+----------------+
  783.      | 1998-12-31 | 1998-12-31 23:59:59 | 19981231235959 |
  784.      | 1999-01-01 | 1999-01-01 00:00:00 | 19990101000000 |
  785.      | 1999-09-09 | 1999-09-09 23:59:59 | 19990909235959 |
  786.      | 2000-01-01 | 2000-01-01 00:00:00 | 20000101000000 |
  787.      | 2000-02-28 | 2000-02-28 00:00:00 | 20000228000000 |
  788.      | 2000-02-29 | 2000-02-29 00:00:00 | 20000229000000 |
  789.      | 2000-03-01 | 2000-03-01 00:00:00 | 20000301000000 |
  790.      | 2000-12-31 | 2000-12-31 23:59:59 | 20001231235959 |
  791.      | 2001-01-01 | 2001-01-01 00:00:00 | 20010101000000 |
  792.      | 2004-12-31 | 2004-12-31 23:59:59 | 20041231235959 |
  793.      | 2005-01-01 | 2005-01-01 00:00:00 | 20050101000000 |
  794.      | 2030-01-01 | 2030-01-01 00:00:00 | 20300101000000 |
  795.      | 2050-01-01 | 2050-01-01 00:00:00 | 00000000000000 |
  796.      +------------+---------------------+----------------+
  797.      
  798.      13 rows in set (0.00 sec)
  799. This shows that the `DATE' and `DATETIME' types will not give any
  800. problems with future dates (they handle dates until the year 9999).
  801. The `TIMESTAMP' type, which is used to store the current time, has a
  802. range up to only `2030-01-01'. `TIMESTAMP' has a range of `1970' to
  803. `2030' on 32-bit machines (signed value). On 64-bit machines it handles
  804. times up to `2106' (unsigned value).
  805. Even though *MySQL* is Y2K-compliant, it is your responsibility to
  806. provide unambiguous input.  See *Note Y2K issues:: for *MySQL*'s rules
  807. for dealing with ambiguous date input data (data containing 2-digit year
  808. values).
  809. General SQL Information and Tutorials
  810. =====================================
  811. The following book has been recommended by several people on the *MySQL*
  812. mailing list:
  813.      Judith S. Bowman, Sandra L. Emerson and Marcy Darnovsky
  814.      _The Practical SQL Handbook: Using Structured Query Language_
  815.      Second Edition
  816.      Addison-Wesley
  817.      ISBN 0-201-62623-3
  818.      http://www.awl.com
  819. The following book has also received some recommendations by *MySQL*
  820. users:
  821.      Martin Gruber
  822.      _Understanding SQL_
  823.      ISBN 0-89588-644-8
  824.      Publisher Sybex 510 523 8233
  825.      Alameda, CA USA
  826. A SQL tutorial is available on the net at
  827. http://www.geocities.com/SiliconValley/Vista/2207/sql1.html.
  828. Useful MySQL-related Links
  829. ==========================
  830. Apart from the following links, you can find and download a lot of
  831. *MySQL* programs, tools and APIs from the Contrib directory
  832. (http://www.mysql.com/Downloads/Contrib/).
  833. *MySQL*
  834. Tutorials and Manuals
  835. ---------------------
  836.    * `http://www.4t2.com/mysql'
  837.      Information about the German MySQL mailing list.
  838.    * `http://www2.rent-a-database.de/mysql/' *MySQL* manual in German.
  839.    * `http://www.bitmover.com:8888//home/bk/mysql'
  840.      Web access to the *MySQL* BitKeeper repository.
  841.    * `http://www.analysisandsolutions.com/code/mybasic.htm'
  842.      Beginners *MySQL* Tutorial on how to install and set up *MySQL* on
  843.      a Windows machine.
  844.    * `http://www.devshed.com/Server_Side/MySQL/'
  845.      A lot of *MySQL* tutorials.
  846.    * `http://mysql.hitstar.com/'
  847.      MySQL manual in Chinese.
  848.    * `http://www.linuxplanet.com/linuxplanet/tutorials/1046/1/'
  849.      Setting Up a *MySQL*-based Web site.
  850.    *
  851.      `http://www.hotwired.com/webmonkey/backend/tutorials/tutorial1.html'
  852.      *MySQL*-Perl tutorial.
  853.    * `http://www.iserver.com/support/contrib/perl5/modules.html'
  854.      Installing new Perl modules that require locally installed modules.
  855.    *
  856.      `http://www.hotwired.com/webmonkey/databases/tutorials/tutorial4.html'
  857.      PHP/*MySQL* Tutorial.
  858.    * `http://www.useractive.com/'
  859.      Hands on tutorial for *MySQL*.
  860. Porting MySQL/Using MySQL on Different Systems
  861. ----------------------------------------------
  862.    * `http://xclave.macnn.com/MySQL/'
  863.      The Mac OS Xclave. Running *MySQL* on Mac OS X
  864.    * `http://www.prnet.de/RegEx/mysql.html'
  865.      MySQL for Mac OS X Server.
  866.    * `http://www.latencyzero.com/macosx/mysql.html'
  867.      Bulding MySQL for Mac OS X
  868.    * `http://www.essencesw.com/Software/mysqllib.html'
  869.      New Client libraries for the Mac OS Classic (Macintosh).
  870.    * `http://www.lilback.com/macsql/'
  871.      Client libraries for Mac OS Classic (Macintosh).
  872. Perl-related Links
  873. ------------------
  874.    * `http://dbimysql.photoflux.com/'
  875.      Perl DBI with *MySQL* FAQ.
  876. MySQL Discussion Forums
  877. -----------------------
  878.    * `http://www.weberdev.com/'
  879.      Examples using *MySQL*; (check Top 20)
  880.    * `http://futurerealm.com/forum/futureforum.htm'
  881.      FutureForum Web Discussion Software.
  882. Commercial Applications that Support MySQL
  883. ------------------------------------------
  884.    * `http://www.supportwizard.com/'
  885.      SupportWizard; Interactive helpdesk on the Web (This product
  886.      includes a licensed copy of *MySQL*.)
  887.    * `http://www.sonork.com/'
  888.      Sonork,  Instant Messenger that is not only Internet oriented. It's
  889.      focused on private networks and on small to medium companies.
  890.      Client is free, server is free for up to 5 seats.
  891.    * `http://www.stweb.org/'
  892.      StWeb - Stratos Web and Application server - An easy-to-use, cross
  893.      platform, Internet/Intranet development and deployment system for
  894.      development of web-enabled applications. The standard version of
  895.      StWeb has a native interface to *MySQL* database.
  896.    * `http://www.rightnowtech.com/'
  897.      Right Now Web; Web automation for customer service.
  898.    * `http://www.icaap.org/Bazaar/'
  899.      Bazaar; Interactive Discussion Forums with Web interface.
  900.    * `http://www.phonesweep.com/'
  901.      PhoneSweepT is the world's first commercial Telephone Scanner.
  902.      Many break-ins in recent years have come not through the Internet,
  903.      but through unauthorized dial-up modems. PhoneSweep lets you find
  904.      these modems by repeatedly placing phone calls to every phone
  905.      number that your organization controls. PhoneSweep has a built-in
  906.      expert system that can recognize more than 250 different kinds of
  907.      remote-access programs, including Carbon Copy(TM), pcANYWHERE(TM),
  908.      and Windows NT RAS. All information is stored in the SQL database.
  909.      It then generates a comprehensive report detailing which services
  910.      were discovered on which dial-up numbers in your organization.
  911. SQL Clients and Report Writers
  912. ------------------------------
  913.    * `http://www.urbanresearch.com/software/utils/urbsql/index.html'
  914.      *MySQL* Editor/Utility for MS Windows Platforms.
  915.    * `http://ksql.sourceforge.net/'
  916.      KDE *MySQL* client.
  917.    * `http://www.ecker-software.de'
  918.      A Windows GUI client by David Ecker.
  919.    * `http://www.icaap.org/software/kiosk/'
  920.      Kiosk; a *MySQL* client for database management. Written in Perl.
  921.      Will be a part of Bazaar.
  922.    * `http://www.casestudio.com/' Db design tool that supports MySQL
  923.      3.23.
  924.    * `http://home.skif.net/~voland/zeos/eng/index.html'
  925.      Zeos - A client that supports *MySQL*, Interbase and PostgreSQL.
  926.    *
  927.      `http://www.geocities.com/SiliconValley/Ridge/4280/GenericReportWriter/grwhome.html'
  928.      A free report writer in Java
  929.    * `http://www.javaframework.de'
  930.      MySQLExport - Export of *MySQL* create statements and data in a
  931.      lot of different formats (SQL, HTML, CVS, text, ZIP, GZIP...)
  932.    * `http://dlabs.4t2.com'
  933.      M2D, a MySQL-ADmin-client for windows. It supports administration
  934.      of MySQL-Databases, creating of new DBs and tables, editing etc.
  935.    * `http://www.scibit.com/Products/Software/Utils/Mascon.asp'
  936.      Mascon is a powerful Win32 GUI for the administering MySQL server
  937.      databases.
  938.    * `http://www.rtlabs.com/'
  939.      MacSQL Monitor.  GUI for MySQL, ODBC, and JDBC databases for the
  940.      Mac OS.
  941. Distributions that Include MySQL
  942. --------------------------------
  943.    * `http://www.suse.com/'
  944.      SuSE Linux (6.1 and above)
  945.    * `http://www.redhat.com/'
  946.      RedHat Linux (7.0 and above)
  947.    * `http://distro.conectiva.com.br' Conectiva Linux (4.0 and above)
  948. Web Development Tools that Support *MySQL*
  949. ------------------------------------------
  950.    * `http://www.php.net/'
  951.      PHP: A server-side HTML-embedded scripting language.
  952.    * `http://www.midgard-project.org'
  953.      The Midgard Application Server; a powerful Web development
  954.      environment based on *MySQL* and PHP.
  955.    * `http://www.smartworker.org'
  956.      SmartWorker is a platform for Web application development.
  957.    * `http://xsp.lentus.se/'
  958.      XSP: e(X)tendible (S)erver (P)ages and is a HTML embedded tag
  959.      language written in Java (previously known as XTAGS.)
  960.    * `http://www.dbServ.de/'
  961.      dbServ is an extension to a web server to integrate database
  962.      output into your HTML code. You may use any HTML function in your
  963.      output. Only the client will stop you. It works as standalone
  964.      server or as JAVA servlet.
  965.    * `http://www.chilisoft.com/'
  966.      Platform independent ASP from Chili!Soft
  967.    * `http://www.wernhart.priv.at/php/'
  968.      *MySQL* + PHP demos.
  969.    * `http://www.dbwww.com/'
  970.      ForwardSQL: HTML interface to manipulate *MySQL* databases.
  971.    * `http://www.daa.com.au/~james/www-sql/'
  972.      WWW-SQL: Display database information.
  973.    * `http://www.minivend.com/minivend/'
  974.      Minivend: A Web shopping cart.
  975.    * `http://www.heitml.com/'
  976.      HeiTML: A server-side extension of HTML and a 4GL language at the
  977.      same time.
  978.    * `http://www.metahtml.com/'
  979.      Metahtml: A Dynamic Programming Language for WWW Applications.
  980.    * `http://www.binevolve.com/'
  981.      VelocityGen for Perl and Tcl.
  982.    * `http://hawkeye.net/'
  983.      Hawkeye Internet Server Suite.
  984.    * `http://www.fastflow.com/'
  985.      Network Database Connection For Linux
  986.    * `http://www.wdbi.net/'
  987.      WDBI: Web browser as a universal front end to databases which
  988.      supports *MySQL* well.
  989.    * `http://www.webgroove.com/'
  990.      WebGroove Script: HTML compiler and server-side scripting language.
  991.    * `http://www.ihtml.com/'
  992.      A server-side Web site scripting language.
  993.    * `ftp://ftp.igc.apc.org/pub/myodbc/README'
  994.      How to use *MySQL* with ColdFusion on Solaris.
  995.    * `http://calistra.com/MySQL/'
  996.      Calistra's ODBC *MySQL* Administrator.
  997.    * `http://www.webmerger.com'
  998.      Webmerger -  This CGI tool interprets files and generates dynamic
  999.      output based on a set of simple tags. Ready-to-run drivers for
  1000.      *MySQL* and PostgreSQL through ODBC.
  1001.    * `http://phpclub.net/'
  1002.      PHPclub - Tips and tricks for PHP.
  1003.    * `http://www.penguinservices.com/scripts'
  1004.      *MySQL* and Perl Scripts.
  1005.    * `http://www.widgetchuck.com'
  1006.      The Widgetchuck; Web Site Tools and Gadgets
  1007.    * `http://www.adcycle.com/'
  1008.      AdCycle - advertising management software.
  1009.    * `http://sourceforge.net/projects/pwpage/'
  1010.      pwPage - provides an extremely fast and simple approach to the
  1011.      creation of database forms.  That is, if a database table exists
  1012.      and an HTML page has been constructed using a few simple
  1013.      guidelines, pwPage can be immediately used for table data
  1014.      selections, insertions, updates, deletions and selectable table
  1015.      content reviewing.
  1016.    * `http://www.omnis-software.com/products/studio/studio.html'
  1017.      OMNIS Studio is a rapid application development (RAD) tool.
  1018.    * `http://www.webplus.com'
  1019.      talentsoft Web+ 4.6 - a powerful and comprehensive development
  1020.      language for use in creating web-based client/server applications
  1021.      without writing complicated, low-level, and time-consuming CGI
  1022.      programs.
  1023. Database Design Tools with MySQL Support
  1024. ----------------------------------------
  1025.    * `http://www.mysql.com/documentation/dezign/'
  1026.      "DeZign for databases" is a database development tool that uses an
  1027.      entity relationship diagram (ERD).
  1028. Web Servers with *MySQL* Tools
  1029. ------------------------------
  1030.    * `http://bourbon.netvision.net.il/mysql/mod_auth_mysql/'
  1031.      An Apache authentication module.
  1032.    * `http://www.roxen.com/'
  1033.      The Roxen Challenger Web server.
  1034. Extensions for Other Programs
  1035. -----------------------------
  1036.    * `http://www.seawood.org/msql_bind/'
  1037.      *MySQL* support for BIND (The Internet Domain Name Server).
  1038.    * `http://www.inet-interactive.com/sendmail/'
  1039.      *MySQL* support for Sendmail and Procmail.
  1040. Using *MySQL* with Other Programs
  1041. ---------------------------------
  1042.    *
  1043.      `http://www.iserver.com/support/addonhelp/database/mysql/msaccess.html'
  1044.      Using *MySQL* with Access.
  1045.    * `http://www.iserver.com/support/contrib/perl5/modules.html'
  1046.      Installing new Perl modules that require locally installed modules.
  1047. ODBC-related Links
  1048. ------------------
  1049.    * `http://www.iodbc.org/'
  1050.      Popular iODBC Driver Manager (libiodbc) now available in Open
  1051.      Source format.
  1052.    * `http://users.ids.net/~bjepson/freeODBC/'
  1053.      The FreeODBC Pages.
  1054.    * `http:/http://genix.net/unixODBC/'
  1055.      The unixODBC Project goals are to develop and promote unixODBC to
  1056.      be the definitive standard for ODBC on the Linux platform. This is
  1057.      to include GUI support for KDE.
  1058.    * `http://www.sw-soft.com/products/BtrieveODBC/'
  1059.      A *MySQL*-based ODBC drivers for Btrieve. From SWsoft.
  1060. *API*-related Links
  1061. -------------------
  1062.    * `http://www.amedea.cz/mysqlx/index.html'
  1063.      MySQL COM extension - With this COM object you can use MySQL also
  1064.      on Windows with ASP pages or with Delphi, Visual Basic, Visual
  1065.      C++, etc.
  1066.    * `http://www.jppp.com/'
  1067.      Partially implemented TDataset-compatible components for *MySQL*.
  1068.    * `http://www.riverstyx.net/qpopmysql/'
  1069.      qpopmysql - A patch to allow POP3 authentication from a *MySQL*
  1070.      database. There's also a link to Paul Khavkine's patch for
  1071.      Procmail to allow any MTA to deliver to users in a *MySQL*
  1072.      database.
  1073.    * `http://www.pbc.ottawa.on.ca'
  1074.      Visual Basic class generator for Active X.
  1075.    * `http://www.essencesw.com/Software/mysqllib.html'
  1076.      New Client libraries for the Mac OS Classic (Macintosh).
  1077.    * `http://www.lilback.com/macsql/'
  1078.      Client libraries for the Macintosh.
  1079.    * `http://www.essencesw.com/Plugins/mysqlplug.html'
  1080.      Plugin for REALbasic (for Machintosh)
  1081.    * `http://www.iis.ee.ethz.ch/~neeri/macintosh/gusi-qa.html'
  1082.      A library that emulates BSD sockets and pthreads on Macintosh.
  1083.      This can be used if you want to compile the *MySQL* client library
  1084.      on Mac. It could probably even be sued to port *MySQL* to
  1085.      Macintosh, but we don't know of anyone that has tried that.
  1086.    * `http://www.dedecker.net/jessie/scmdb/'
  1087.      SCMDB - an add-on for SCM that ports the mysql C library to scheme
  1088.      (SCM).  With this library scheme developers can make connections
  1089.      to a mySQL database and use embedded SQL in their programs.
  1090. Other *MySQL*-related Links
  1091. ---------------------------
  1092.    * SAT (http://www.satisoft.com/) The Small Application Toolkit (SAT)
  1093.      is a collection of utilities intended to simplify the development
  1094.      of small, multi-user, GUI based applications in a (Microsoft -or-
  1095.      X) Windows Client / Unix Server environment.
  1096.    * `http://www.wix.com/mysql-hosting/'
  1097.      Registry of Web providers who support *MySQL*.
  1098.    * `http://www.softagency.co.jp/mysql/index.en.phtml'
  1099.      Links about using *MySQL* in Japan/Asia.
  1100.    * `http://abattoir.cc.ndsu.nodak.edu/~nem/mysql/udf/'
  1101.      *MySQL* UDF Registry.
  1102.    * `http://www.open.com.au/products.html'
  1103.      Commercial Web defect tracking system.
  1104.    * `http://www.stonekeep.com/pts/'
  1105.      PTS: Project Tracking System.
  1106.    * `http://tomato.nvgc.vt.edu/~hroberts/mot'
  1107.      Job and software tracking system.
  1108.    * `http://www.cynergi.net/non-secure/exportsql/'
  1109.      ExportSQL: A script to export data from Access95+.
  1110.    * `http://SAL.KachinaTech.COM/H/1/MYSQL.html'
  1111.      SAL (Scientific Applications on Linux) *MySQL* entry.
  1112.    * `http://www.infotech-nj.com/itech/index.shtml'
  1113.      A consulting company which mentions *MySQL* in the right company.
  1114.    * `http://www.pmpcs.com/'
  1115.      PMP Computer Solutions. Database developers using *MySQL* and
  1116.      `mSQL'.
  1117.    * `http://www.aewa.org/'
  1118.      Airborne Early Warning Association.
  1119.    * `http://www.dedserius.com/y2kmatrix/'
  1120.      Y2K tester.
  1121. SQL and Database Interfaces
  1122. ---------------------------
  1123.    * `http://java.sun.com/products/jdbc/'
  1124.      The JDBC database access API.
  1125.    * `http://www.gagme.com/mysql'
  1126.      Patch for `mSQL' Tcl.
  1127.    * `http://www.amsoft.ru/easysql/'
  1128.      EasySQL: An ODBC-like driver manager.
  1129.    * `http://www.lightlink.com/hessling/rexxsql.html'
  1130.      A REXX interface to SQL databases.
  1131.    * `http://www.mytcl.cx/'
  1132.      Tcl interface based on tcl-sql with many bugfixes.
  1133.    * `http://www.binevolve.com/~tdarugar/tcl-sql/'
  1134.      Tcl interface.
  1135. Examples of MySQL Use
  1136. ---------------------
  1137.    * `http://www.little6.com/about/linux/'
  1138.      Little6 Inc., An online contract and job finding site that is
  1139.      powered by *MySQL*, PHP3, and Linux.
  1140.    *
  1141.      `http://www.delec.com/is/products/prep/examples/BookShelf/index.html'
  1142.      DELECis - A tool that makes it very easy to create an
  1143.      automatically generated table documentation. They have used
  1144.      *MySQL* as an example.
  1145.    * `http://www.worldrecords.com'
  1146.      World Records - A search engine for information about music that
  1147.      uses *MySQL* and PHP.
  1148.    * `http://www.webtechniques.com/archives/1998/01/note/'
  1149.      A Contact Database using *MySQL* and PHP.
  1150.    * `http://modems.rosenet.net/mysql/'
  1151.      Web based interface and Community Calender with PHP.
  1152.    * `http://www.odbsoft.com/cook/sources.htm'
  1153.      Perl package to generate html from a SQL table structure and for
  1154.      generating SQL statements from an html form.
  1155.    * `http://www.gusnet.cx/proj/telsql/'
  1156.      Basic telephone database using `DBI'/`DBD'.
  1157.    * `http://tecfa.unige.ch/guides/java/staf2x/ex/jdbc/coffee-break'
  1158.      JDBC examples by Daniel K. Schneider.
  1159.    * `http://www.spade.com/linux/howto/PostgreSQL-HOWTO-41.html' SQL BNF
  1160.    * `http://www.ooc.com/'
  1161.      Object Oriented Concepts Inc; CORBA applications with examples in
  1162.      source.
  1163.    * `http://www.pbc.ottawa.on.ca/'
  1164.      DBWiz; Includes an example of how to manage cursors in VB.
  1165.    * `http://keilor.cs.umass.edu/pluribus/'
  1166.      Pluribus is a free search engine that learns to improve the
  1167.      quality of its results over time. Pluribus works by recording
  1168.      which pages a user prefers among those returned for a query. A user
  1169.      votes for a page by selecting it; Pluribus then uses that knowledge
  1170.      to improve the quality of the results when someone else submits the
  1171.      same (or similar) query. Uses PHP and *MySQL*.
  1172.    * `http://www.stopbit.com/'
  1173.      Stopbit - A technology news site using *MySQL* and PHP.
  1174.    * `http://www.jokes2000.com/scripts/'
  1175.      Example scripts at Jokes2000.
  1176.    * `http://www.linuxsupportline.com/~kalendar/'
  1177.      KDE based calendar manager - The calendar manager has both single
  1178.      user (file based) and multi-user (*MySQL* database) support.
  1179.    * `http://tim.desert.net/~tim/imger/'
  1180.      Example of storing/retrieving images with *MySQL* and CGI.
  1181.    * `http://www.penguinservices.com/scripts'
  1182.      Online shopping cart system.
  1183.    * `http://www.city-gallery.com/album/'
  1184.      Old Photo Album - The album is a collaborative popular history of
  1185.      photography project that generates all pages from data stored in a
  1186.      *MySQL* database. Pages are dynamically generated through a php3
  1187.      interface to the database content. Users contribute images and
  1188.      descriptions. Contributed images are stored on the web server to
  1189.      avoid storing them in the database as BLOBs.  All other
  1190.      information is stored on the shared *MySQL* server.
  1191. General Database Links
  1192. ----------------------
  1193.    * `http://www.pcslink.com/~ej/dbweb.html'
  1194.      Database Jump Site
  1195.    * `http://black.hole-in-the.net/guy/webdb/'
  1196.      Homepage of the webdb-l (Web Databases) mailing list.
  1197.    * `http://www.symbolstone.org/technology/perl/DBI/index.html'
  1198.      Perl `DBI'/`DBD' modules homepage.
  1199.    * `http://www.student.uni-koeln.de/cygwin/'
  1200.      Cygwin tools. Unix on top of Windows.
  1201.    * `http://dbasecentral.com/'
  1202.      dbasecentral.com; Development and distribution of powerful and
  1203.      easy-to-use database applications and systems.
  1204.    * `http://www.Tek-Tips.com'
  1205.      Tek-Tips Forums are 800+ independent peer-to-peer non-commercial
  1206.      support forums for Computer Professionals.  Features include
  1207.      automatic e-mail notification of responses, a links library, and
  1208.      member confidentiality guaranteed.
  1209.    * `http://www.public.asu.edu/~peterjn/btree/'
  1210.      B-Trees: Balanced Tree Data Structures
  1211.    * `http://www.fit.qut.edu.au/~maire/baobab/lecture/sld001.htm'
  1212.      A lecture about B-Trees
  1213. There are also many Web pages that use *MySQL*. *Note Users::. Send any
  1214. additions to this list to <webmaster@mysql.com>. We now require that
  1215. you show a *MySQL* logo somewhere if you wish your site to be added.
  1216. (It is okay to have it on a "used tools" page or something similar.)
  1217. MySQL Mailing Lists
  1218. *******************
  1219. The MySQL Mailing Lists
  1220. =======================
  1221. To subscribe to the main *MySQL* mailing list, send a message to the
  1222. electronic mail address <mysql-subscribe@lists.mysql.com>.
  1223. To unsubscribe from the main *MySQL* mailing list, send a message to
  1224. the electronic mail address <mysql-unsubscribe@lists.mysql.com>.
  1225. Only the address to which you send your messages is significant.  The
  1226. subject line and the body of the message are ignored.
  1227. If your reply address is not valid, you can specify your address
  1228. explicitly.  Adding a hyphen to the subscribe or unsubscribe command
  1229. word, followed by your address with the `@' character in your address
  1230. replaced by a `='.  For example, to subscribe `your_name@host.domain',
  1231. send a message to
  1232. `mysql-subscribe-your_name=host.domain@lists.mysql.com'.
  1233. Mail to <mysql-subscribe@lists.mysql.com> or
  1234. <mysql-unsubscribe@lists.mysql.com> is handled automatically by the
  1235. ezmlm mailing list processor.  Information about ezmlm is available at
  1236. The ezmlm Website (http://www.ezmlm.org).
  1237. To post a message to the list itself, send your message to
  1238. `mysql@lists.mysql.com'.  However, please _do not_ send mail about
  1239. subscribing or unsubscribing to <mysql@lists.mysql.com>, because any
  1240. mail sent to that address is distributed automatically to thousands of
  1241. other users.
  1242. Your local site may have many subscribers to <mysql@lists.mysql.com>.
  1243. If so, it may have a local mailing list, so that messages sent from
  1244. `lists.mysql.com' to your site are propagated to the local list. In such
  1245. cases, please contact your system administrator to be added to or
  1246. dropped from the local *MySQL* list.
  1247. The following *MySQL* mailing lists exist:
  1248. `announce (mailto:announce-subscribe@lists.mysql.com)'
  1249.      This is for announcement of new versions of *MySQL* and related
  1250.      programs. This is a low volume list that we think all *MySQL*
  1251.      users should be on.
  1252. `mysql (mailto:mysql-subscribe@lists.mysql.com)'
  1253.      The main list for general *MySQL* discussion. Please note that some
  1254.      topics are better discussed on the more-specialized lists. If you
  1255.      post to the wrong list, you may not get an answer!
  1256. `mysql-digest (mailto:mysql-digest-subscribe@lists.mysql.com)'
  1257.      The `mysql' list in digest form. That means you get all individual
  1258.      messages, sent as one large mail message once a day.
  1259. `bugs (mailto:bugs-subscribe@lists.mysql.com)'
  1260.      On this list you should only post a full, repeatable bug report
  1261.      using the `mysqlbug' script (if you are running on Windows, you
  1262.      should include a description of the operating system and the
  1263.      *MySQL* version).  Preferably, you should test the problem using
  1264.      the latest stable or development version of *MySQL* before posting!
  1265.      Anyone should be able to repeat the bug by just using `mysql test
  1266.      < script' on the included test case.  All bugs posted on this list
  1267.      will be corrected or documented in the next *MySQL* release!  If
  1268.      there are only small code changes involved, we will also post a
  1269.      patch that fixes the problem.
  1270. `bugs-digest (mailto:bugs-digest-subscribe@lists.mysql.com)'
  1271.      The `bugs' list in digest form.
  1272. `developer (mailto:developer-subscribe@lists.mysql.com)'
  1273.      This list has been depreciated in favor of the internals
  1274.      (mailto:internals-subscribe@lists.mysql.com) list (below).
  1275. `developer-digest (mailto:developer-digest-subscribe@lists.mysql.com)'
  1276.      This list has been depreciated in favor of the internals-digest
  1277.      (mailto:internals-digest-subscribe@lists.mysql.com) list (below).
  1278. `internals (mailto:internals-subscribe@lists.mysql.com)'
  1279.      A list for people who work on the *MySQL* code. On this list one
  1280.      can also discuss *MySQL* development and post patches.
  1281. `internals-digest (mailto:internals-digest-subscribe@lists.mysql.com)'
  1282.      A digest version of the internals
  1283.      (mailto:internals-subscribe@lists.mysql.com) list.
  1284. `java (mailto:java-subscribe@lists.mysql.com)'
  1285.      Discussion about *MySQL* and Java. Mostly about the JDBC drivers.
  1286. `java-digest (mailto:java-digest-subscribe@lists.mysql.com)'
  1287.      A digest version of the `java' list.
  1288. `win32 (mailto:win32-subscribe@lists.mysql.com)'
  1289.      All things concerning *MySQL* on Microsoft operating systems such
  1290.      as Win95, Win98, NT, and Win2000.
  1291. `win32-digest (mailto:win32-digest-subscribe@lists.mysql.com)'
  1292.      A digest version of the `win32' list.
  1293. `myodbc (mailto:myodbc-subscribe@lists.mysql.com)'
  1294.      All things about connecting to *MySQL* with ODBC.
  1295. `myodbc-digest (mailto:myodbc-digest-subscribe@lists.mysql.com)'
  1296.      A digest version of the `myodbc' list.
  1297. `plusplus (mailto:plusplus-subscribe@lists.mysql.com)'
  1298.      All things concerning programming with the C++ API to *MySQL*.
  1299. `plusplus-digest (mailto:plusplus-digest-subscribe@lists.mysql.com)'
  1300.      A digest version of the `plusplus' list.
  1301. `msql-mysql-modules (mailto:msql-mysql-modules-subscribe@lists.mysql.com)'
  1302.      A list about the Perl support in *MySQL*.
  1303. `msql-mysql-modules-digest (mailto:msql-mysql-modules-digest-subscribe@lists.mysql.com)'
  1304.      A digest version of the `msql-mysql-modules' list.
  1305. You subscribe or unsubscribe to all lists in the same way as described
  1306. above.  In your subscribe or unsubscribe message, just put the
  1307. appropriate mailing list name rather than `mysql'.  For example, to
  1308. subscribe to or unsubscribe from the `myodbc' list, send a message to
  1309. <myodbc-subscribe@lists.mysql.com> or
  1310. <myodbc-unsubscribe@lists.mysql.com>.
  1311. There is also a german mailing list. You can find information about this
  1312. at: `http://www.4t2.com/mysql'.
  1313. Asking Questions or Reporting Bugs
  1314. ==================================
  1315. Before posting a bug report or question, please do the following:
  1316.    * Start by searching the *MySQL* online manual at:
  1317.      `http://www.mysql.com/documentation/manual.php'
  1318.      We try to keep the manual up to date by updating it frequently
  1319.      with solutions to newly found problems!
  1320.    * Search the *MySQL* mailing list archives:
  1321.      `http://www.mysql.com/documentation/'
  1322.    * You can also use `http://www.mysql.com/search.html' to search all
  1323.      the Web pages (including the manual) that are located at
  1324.      `http://www.mysql.com/'.
  1325. If you can't find an answer in the manual or the archives, check with
  1326. your local *MySQL* expert. If you still can't find an answer to your
  1327. question, go ahead and read the next section about how to send mail to
  1328. <mysql@lists.mysql.com>.
  1329. How to Report Bugs or Problems
  1330. ==============================
  1331. Writing a good bug report takes patience, but doing it right the first
  1332. time saves time for us and for you. A good bug report containing a full
  1333. test case for the bug will make it very likely that we will fix it in
  1334. the next release. This section will help you write your report correctly
  1335. so that you don't waste your time doing things that may not help us much
  1336. or at all.
  1337. We encourage everyone to use the `mysqlbug' script to generate a bug
  1338. report (or a report about any problem), if possible.  `mysqlbug' can be
  1339. found in the `scripts' directory in the source distribution, or, for a
  1340. binary distribution, in the `bin' directory under your *MySQL*
  1341. installation directory.  If you are unable to use `mysqlbug', you should
  1342. still include all the necessary information listed in this section.
  1343. The `mysqlbug' script helps you generate a report by determining much
  1344. of the following information automatically, but if something important
  1345. is missing, please include it with your message! Please read this
  1346. section carefully and make sure that all the information described here
  1347. is included in your report.
  1348. The normal plase to report bugs and problems is
  1349. <mysql@lists.mysql.com>. If you can make a test case that clearly shows
  1350. the bug, you should post it to the <bugs@lists.mysql.com> list. Note
  1351. that on this list you should only post a full, repeatable bug report
  1352. using the `mysqlbug' script. If you are running on Windows, you should
  1353. include a description of the operating system and the *MySQL* version.
  1354. Preferably, you should test the problem using the latest stable or
  1355. development version of *MySQL* before posting!  Anyone should be able
  1356. to repeat the bug by just using "`mysql test < script'" on the included
  1357. test case or run the shell or perl script that is included in the bug
  1358. report.  All bugs posted on the `bugs' list will be corrected or
  1359. documented in the next *MySQL* release!  If there are only small code
  1360. changes involved to correct this problem, we will also post a patch
  1361. that fixes the problem.
  1362. Remember that it is possible to respond to a message containing too much
  1363. information, but not to one containing too little.  Often people omit
  1364. facts because they think they know the cause of a problem and assume
  1365. that some details don't matter.  A good principle is: if you are in
  1366. doubt about stating something, state it!  It is a thousand times faster
  1367. and less troublesome to write a couple of lines more in your report
  1368. than to be forced to ask again and wait for the answer because you
  1369. didn't include enough information the first time.
  1370. The most common errors are that people don't indicate the version
  1371. number of the *MySQL* distribution they are using, or don't indicate
  1372. what platform they have *MySQL* installed on (including the platform
  1373. version number).  This is highly relevant information, and in 99 cases
  1374. out of 100 the bug report is useless without it!  Very often we get
  1375. questions like, "Why doesn't this work for me?" then we find that the
  1376. feature requested wasn't implemented in that *MySQL* version, or that a
  1377. bug described in a report has been fixed already in newer *MySQL*
  1378. versions.  Sometimes the error is platform dependent; in such cases, it
  1379. is next to impossible to fix anything without knowing the operating
  1380. system and the version number of the platform.
  1381. Remember also to provide information about your compiler, if it is
  1382. related to the problem.  Often people find bugs in compilers and think
  1383. the problem is *MySQL* related. Most compilers are under development
  1384. all the time and become better version by version.  To determine
  1385. whether or not your problem depends on your compiler, we need to know
  1386. what compiler is used.  Note that every compiling problem should be
  1387. regarded as a bug report and reported accordingly.
  1388. It is most helpful when a good description of the problem is included
  1389. in the bug report.  That is, a good example of all the things you did
  1390. that led to the problem and the problem itself exactly described.  The
  1391. best reports are those that include a full example showing how to
  1392. reproduce the bug or problem. *Note Reproducable test case::.
  1393. If a program produces an error message, it is very important to include
  1394. the message in your report! If we try to search for something from the
  1395. archives using programs, it is better that the error message reported
  1396. exactly matches the one that the program produces.  (Even the case
  1397. should be observed!) You should never try to remember what the error
  1398. message was; instead, copy and paste the entire message into your
  1399. report!
  1400. If you have a problem with MyODBC, you should try to genereate a MyODBC
  1401. trace file. *Note MyODBC bug report::.
  1402. Please remember that many of the people who will read your report will
  1403. do so using an 80-column display.  When generating reports or examples
  1404. using the `mysql' command line tool, you should therefore use the
  1405. `--vertical' option (or the `G' statement terminator) for output that
  1406. would exceed the available width for such a display (for example, with
  1407. the `EXPLAIN SELECT' statement; see the example below).
  1408. Please include the following information in your report:
  1409.    * The version number of the *MySQL* distribution you are using (for
  1410.      example, *MySQL* Version 3.22.22). You can find out which version
  1411.      you are running by executing `mysqladmin version'. `mysqladmin'
  1412.      can be found in the `bin' directory under your *MySQL* installation
  1413.      directory.
  1414.    * The manufacturer and model of the machine you are working on.
  1415.    * The operating system name and version. For most operating systems,
  1416.      you can get this information by executing the Unix command `uname
  1417.      -a'.
  1418.    * Sometimes the amount of memory (real and virtual) is relevant.  If
  1419.      in doubt, include these values.
  1420.    * If you are using a source distribution of *MySQL*, the name and
  1421.      version number of the compiler used is needed.  If you have a
  1422.      binary distribution, the distribution name is needed.
  1423.    * If the problem occurs during compilation, include the exact error
  1424.      message(s) and also a few lines of context around the offending
  1425.      code in the file where the error occurred.
  1426.    * If `mysqld' died, you should also report query that crashed
  1427.      `mysqld'. You can usually find this out by running `mysqld' with
  1428.      logging enabled. *Note Using log files::.
  1429.    * If any database table is related to the problem, include the
  1430.      output from `mysqldump --no-data db_name tbl_name1 tbl_name2 ...'.
  1431.      This is very easy to do and is a powerful way to get information
  1432.      about any table in a database that will help us create a situation
  1433.      matching the one you have.
  1434.    * For speed-related bugs or problems with `SELECT' statements, you
  1435.      should always include the output of `EXPLAIN SELECT ...', and at
  1436.      least the number of rows that the `SELECT' statement produces.
  1437.      The more information you give about your situation, the more
  1438.      likely it is that someone can help you!  For example, the
  1439.      following is an example of a very good bug report (it should of
  1440.      course be posted with the `mysqlbug' script):
  1441.      Example run using the `mysql' command line tool (note the use of
  1442.      the `G' statement terminator for statements whose output width
  1443.      would otherwise exceed that of an 80-column display device):
  1444.           mysql> SHOW VARIABLES;
  1445.           mysql> SHOW COLUMNS FROM ...G
  1446.                  <output from SHOW COLUMNS>
  1447.           mysql> EXPLAIN SELECT ...G
  1448.                  <output from EXPLAIN>
  1449.           mysql> FLUSH STATUS;
  1450.           mysql> SELECT ...;
  1451.                  <A short version of the output from SELECT,
  1452.                  including the time taken to run the query>
  1453.           mysql> SHOW STATUS;
  1454.                  <output from SHOW STATUS>
  1455.    * If a bug or problem occurs while running *mysqld*, try to provide
  1456.      an input script that will reproduce the anomaly. This script
  1457.      should include any necessary source files. The more closely the
  1458.      script can reproduce your situation, the better. If you can make a
  1459.      repeatable test case, you should post this to
  1460.      <bugs@lists.mysql.com> for a high priority treatment!
  1461.      If you can't provide a script, you should at least include the
  1462.      output from `mysqladmin variables extended-status processlist' in
  1463.      your mail to provide some information of how your system is
  1464.      performing!
  1465.    * If you can't produce a test case in a few rows, or if the test
  1466.      table is too big to be mailed to the mailing list (more than 10
  1467.      rows), you should dump your tables using `mysqldump' and create a
  1468.      `README' file that describes your problem.
  1469.      Create a compressed archive of your files using `tar' and `gzip'
  1470.      or `zip', and use `ftp' to transfer the archive to
  1471.      `ftp://support.mysql.com/pub/mysql/secret/'.  Then send a short
  1472.      description of the problem to <bugs@lists.mysql.com>.
  1473.    * If you think that *MySQL* produces a strange result from a query,
  1474.      include not only the result, but also your opinion of what the
  1475.      result should be and an account describing the basis for your
  1476.      opinion.
  1477.    * When giving an example of the problem, it's better to use the
  1478.      variable names, table names, etc., that exist in your actual
  1479.      situation than to come up with new names. The problem could be
  1480.      related to the name of a variable or table!  These cases are rare,
  1481.      perhaps, but it is better to be safe than sorry.  After all, it
  1482.      should be easier for you to provide an example that uses your
  1483.      actual situation, and it is by all means better for us.  In case
  1484.      you have data you don't want to show to others, you can use `ftp'
  1485.      to transfer it to `ftp://support.mysql.com/pub/mysql/secret/'.  If
  1486.      the data are really top secret and you don't want to show them
  1487.      even to us, then go ahead and provide an example using other
  1488.      names, but please regard this as the last choice.
  1489.    * Include all the options given to the relevant programs, if
  1490.      possible.  For example, indicate the options that you use when you
  1491.      start the `mysqld' daemon and that you use to run any *MySQL*
  1492.      client programs.  The options to programs like `mysqld' and
  1493.      `mysql', and to the `configure' script, are often keys to answers
  1494.      and are very relevant!  It is never a bad idea to include them
  1495.      anyway!  If you use any modules, such as Perl or PHP, please
  1496.      include the version number(s) of those as well.
  1497.    * If your question is related to the privilege system, please
  1498.      include the output of `mysqlaccess', the output of `mysqladmin
  1499.      reload', and all the error messages you get when trying to
  1500.      connect!  When you test your privileges, you should first run
  1501.      `mysqlaccess'. After this, execute `mysqladmin reload version' and
  1502.      try to connect with the program that gives you trouble.
  1503.      `mysqlaccess' can be found in the `bin' directory under your
  1504.      *MySQL* installation directory.
  1505.    * If you have a patch for a bug, that is good, but don't assume the
  1506.      patch is all we need, or that we will use it, if you don't provide
  1507.      some necessary information, such as test cases showing the bug
  1508.      that your patch fixes.  We might find problems with your patch or
  1509.      we might not understand it at all; if so, we can't use it.
  1510.      If we can't verify exactly what the patch is meant for, we won't
  1511.      use it.  Test cases will help us here.  Show that the patch will
  1512.      handle all the situations that may occur. If we find a borderline
  1513.      case (even a rare one) where the patch won't work, it may be
  1514.      useless.
  1515.    * Guesses about what the bug is, why it occurs, or what it depends
  1516.      on, are usually wrong. Even the MySQL team can't guess such things
  1517.      without first using a debugger to determine the real cause of a
  1518.      bug.
  1519.    * Indicate in your mail message that you have checked the reference
  1520.      manual and mail archive so others know that you have tried to
  1521.      solve the problem yourself.
  1522.    * If you get a `parse error', please check your syntax closely! If
  1523.      you can't find something wrong with it, it's extremely likely that
  1524.      your current version of *MySQL* doesn't support the query you are
  1525.      using.  If you are using the current version and the manual at
  1526.      `http://www.mysql.com/documentation/manual.php' doesn't cover the
  1527.      syntax you are using, *MySQL* doesn't support your query.  In this
  1528.      case, your only options are to implement the syntax yourself or
  1529.      e-mail <mysql-licensing@mysql.com> and ask for an offer to
  1530.      implement it!
  1531.      If the manual covers the syntax you are using, but you have an
  1532.      older version of *MySQL*, you should check the *MySQL* change
  1533.      history to see when the syntax was implemented.  *Note News::.  In
  1534.      this case, you have the option of upgrading to a newer version of
  1535.      *MySQL*.
  1536.    * If you have a problem such that your data appears corrupt or you
  1537.      get errors when you access some particular table, you should first
  1538.      check and then try repairing your tables with `myisamchk' or
  1539.      `CHECK TABLE'/ `REPAIR TABLE'.  *Note Maintenance::.
  1540.    * If you often get corrupted tables you should try to find out when
  1541.      and why this happens!  In this case, the
  1542.      `mysql-data-directory/'hostname'.err' file may contain some
  1543.      information about what happened.  *Note Error log::. Please
  1544.      include any relevant information from this file in your bug
  1545.      report!  Normally `mysqld' should *NEVER* crash a table if nothing
  1546.      killed it in the middle of an update!  If you can find the cause
  1547.      of `mysqld' dying, it's much easier for us to provide you with a
  1548.      fix for the problem!  *Note What is crashing::.
  1549.    * If possible, download the most recent version of *MySQL* and check
  1550.      whether or not it solves your problem.  All versions of *MySQL* are
  1551.      thoroughly tested and should work without problems!  We believe in
  1552.      making everything as backward compatible as possible, and you
  1553.      should be able to switch *MySQL* versions in minutes!  *Note Which
  1554.      version::.
  1555. If you are a support customer, please cross-post the bug report to
  1556. <mysql-support@mysql.com> for higher priority treatment, as well as to
  1557. the appropriate mailing list to see if someone else has experienced (and
  1558. perhaps solved) the problem.
  1559. For information on reporting bugs in *MyODBC*, see *Note ODBC
  1560. Problems::.
  1561. For solutions to some common problems, see *Note Problems::.
  1562. When answers are sent to you individually and not to the mailing list,
  1563. it is considered good etiquette to summarize the answers and send the
  1564. summary to the mailing list so that others may have the benefit of
  1565. responses you received that helped you solve your problem!
  1566. Guidelines for Answering Question on the Mailing List
  1567. =====================================================
  1568. If you consider your answer to have broad interest, you may want to
  1569. post it to the mailing list instead of replying directly to the
  1570. individual who asked.  Try to make your answer general enough that
  1571. people other than the original poster may benefit from it.  When you
  1572. post to the list, please make sure that your answer is not a
  1573. duplication of a previous answer.
  1574. Try to summarize the essential part of the question in your reply;
  1575. don't feel obliged to quote the entire original message.
  1576. Please don't post mail messages from your browser with HTML mode turned
  1577. on!  Many users don't read mail with a browser!
  1578. MySQL Licensing and Support
  1579. ***************************
  1580. This chapter describes *MySQL* support and licensing arrangements:
  1581.    * The copyrights under which *MySQL* is distributed (*note
  1582.      Copyright::)
  1583.    * Sample situations illustrating when a license is required (*note
  1584.      Licensing examples::)
  1585.    * Support costs (*note Cost::) and support benefits (*note Support::)
  1586.    * Commercial licensing costs
  1587. MySQL Licensing Policy
  1588. ======================
  1589. The formal terms of the GPL license can be found at *Note GPL license::.
  1590. Basically, our licensing policy and intepretation of the GPL is as
  1591. follows:
  1592. Note that older versions of *MySQL* are still using a more strict
  1593. license (http://www.mysql.com/support/arrangements/mypl.html). See the
  1594. documentation for that version for more information.  If you need a
  1595. commercial *MySQL* license, because the GPL license doesn't suit your
  1596. application, you can buy one at `https://order.mysql.com/license.htmy'.
  1597. For normal internal use, *MySQL* costs nothing.  You do not have to pay
  1598. us if you do not want to.
  1599. A license is required if:
  1600.    - You link a part of the of *MySQL* that has a GPL Copyright to a
  1601.      program that is not free software (embedded usage of the *MySQL*
  1602.      server).  In this case your application would also become GPL
  1603.      through the clause in the GPL license that acts as a virus. By
  1604.      licensing *MySQL* from us under a commercial license you will
  1605.      avoid this problem.
  1606.    - You have a commercial application that ONLY works with *MySQL* and
  1607.      ships the application with the *MySQL* server. This is because we
  1608.      view this as linking even if it is done over the network.
  1609.    - You have a distribution of *MySQL* and you don't provide the
  1610.      source code for your copy of the *MySQL* server, as defined in the
  1611.      GPL license.
  1612. A license is *NOT* required if:
  1613.    - You do not need a license to include the client code in commercial
  1614.      programs.  The client part of *MySQL* licensed with the LGPL `GNU
  1615.      Library General Public License'. The `mysql' command-line client
  1616.      includes code from the `readline' library that is under the `GPL'.
  1617.    - If your use of *MySQL* does not require a license, but you like
  1618.      *MySQL* and want to encourage further development, you are
  1619.      certainly welcome to purchase a license or *MySQL* support anyway.
  1620.    - If you use *MySQL* in a commercial context such that you profit by
  1621.      its use, we ask that you further the development of *MySQL* by
  1622.      purchasing some level of support.  We feel that if *MySQL* helps
  1623.      your business, it is reasonable to ask that you help *MySQL*.
  1624.      (Otherwise, if you ask us support questions, you are not only
  1625.      using for free something into which we've put a lot a work, you're
  1626.      asking us to provide free support, too.)
  1627. For circumstances under which a *MySQL* license is required, you need a
  1628. license per machine that runs the `mysqld' server.  However, a
  1629. multiple-CPU machine counts as a single machine, and there is no
  1630. restriction on the number of *MySQL* servers that run on one machine,
  1631. or on the number of clients concurrently connected to a server running
  1632. on that machine!
  1633. If you have any questions as to whether or not a license is required for
  1634. your particular use of *MySQL*, please read this again and then contact
  1635. us. *Note Contact information::.
  1636. If you require a *MySQL* license, the easiest way to pay for it is to
  1637. use the license form on *MySQL*'s secure server at
  1638. `https://order.mysql.com/license.htmy'. Other forms of payment are
  1639. discussed in *Note Payment information::.
  1640. Copyrights Used by MySQL
  1641. ========================
  1642. There are several different copyrights on the *MySQL* distribution:
  1643.   1. The *MySQL*-specific source needed to build the `mysqlclient'
  1644.      library is licensed under the `LGPL' and programs in the `client'
  1645.      directory is GPL. Each file has a header that shows which
  1646.      copyright is used for that file.
  1647.   2. The client library and the (GNU `getopt') library are covered by
  1648.      the "GNU LIBRARY GENERAL PUBLIC LICENSE." *Note LGPL license::.
  1649.   3. Some parts of the source (the `regexp' library) are covered by a
  1650.      Berkeley-style copyright.
  1651.   4. All the source in the server and the (GNU `readline') library is
  1652.      covered by the "GNU GENERAL PUBLIC LICENSE." *Note GPL license::.
  1653.      This is also available as the file `COPYING' in the distributions.
  1654. One goal is that the SQL client library should be free enough that it is
  1655. possible to add *MySQL* support into commercial products without a
  1656. license. For this reason, we chose the LGPL license for the client code.
  1657. This means that you can use *MySQL* for free with any program that uses
  1658. any of the free software licenses.  *MySQL* is also free for any end
  1659. user for his own or company usage.
  1660. However, if you use *MySQL* for something important to you, you may
  1661. want to help secure its development by purchasing licenses or a support
  1662. contract. *Note Support::.
  1663. Copyright Changes
  1664. -----------------
  1665. The stable versions of *MySQL* are still using a more strict license.
  1666. See the documentation for that version for more information.
  1667. Example Licensing Situations
  1668. ============================
  1669. This section describes some situations illustrating whether or not you
  1670. must license the *MySQL* server.  Generally these examples involve
  1671. providing *MySQL* as an integral part of a product.
  1672. Note that a single *MySQL* license covers any number of CPUs and
  1673. `mysqld' servers on a machine! There is no artificial limit on the
  1674. number of clients that connect to the server in any way.
  1675. Selling Products that use MySQL
  1676. -------------------------------
  1677. To determine whether or not you need a *MySQL* license when selling
  1678. your application, you should ask whether the proper functioning of your
  1679. application is dependent on the use of *MySQL* and whether you include
  1680. the *MySQL* server with your product.  There are several cases to
  1681. consider:
  1682.    * Does your application require *MySQL* to function properly?
  1683.    * If your product requires *MySQL*, you need a license for any
  1684.      machine that runs the `mysqld' server.  For example, if you've
  1685.      designed your application around *MySQL*, then you've really made
  1686.      a commercial product that requires the engine, so you need a
  1687.      license.
  1688.    * If your application does not require *MySQL*, you need not obtain
  1689.      a license.  For example, if using *MySQL* just adds some new
  1690.      optional features to your product (such as adding logging to a
  1691.      database if *MySQL* is used rather than logging to a text file),
  1692.      it should fall within normal use, and a license would not be
  1693.      required.
  1694.    * In other words, you need a license if you sell a product designed
  1695.      specifically for use with *MySQL* or that requires the *MySQL*
  1696.      server to function at all.  This is true whether or not you
  1697.      provide *MySQL* for your client as part of your product
  1698.      distribution.
  1699.    * It also depends on what you're doing for the client.  Do you plan
  1700.      to provide your client with detailed instructions on installing
  1701.      *MySQL* with your software?  Then your product may be contingent
  1702.      on the use of *MySQL*; if so, you need to buy a license.  If you
  1703.      are simply tying into a database that you expect already to have
  1704.      been installed by the time your software is purchased, then you
  1705.      probably don't need a license.
  1706. ISP MySQL Services
  1707. ------------------
  1708. Internet Service Providers (ISPs) often host *MySQL* servers for their
  1709. customers. With the GPL license this does not require a license.
  1710. On the other hand, we do encourage people to use ISPs that have *MySQL*
  1711. support, as this will give them the confidence that if they have some
  1712. problem with their *MySQL* installation, their ISP will be able to
  1713. solve the problem for them (in some cases with the help from the
  1714. *MySQL* development team).
  1715. All ISPs that want to keep themselves up-to-date should subscribe to
  1716. our `announce' mailing list so that they can be aware of fatal issues
  1717. that may be relevant for their *MySQL* installations.
  1718. Note that if the ISP doesn't have a license for *MySQL*, it should give
  1719. its customers at least read access to the source of the *MySQL*
  1720. installation so that its customer can verify that it is patched
  1721. correctly.
  1722. Running a Web Server Using MySQL
  1723. --------------------------------
  1724. If you use *MySQL* in conjunction with a Web server on Unix, you don't
  1725. have to pay for a license.
  1726. This is true even if you run a commercial Web server that uses *MySQL*,
  1727. because you are not selling an embedded *MySQL* version yourself.
  1728. However, in this case we would like you to purchase *MySQL* support,
  1729. because *MySQL* is helping your enterprise.
  1730. MySQL Licensing and Support Costs
  1731. =================================
  1732. Our current license prices are shown below. These prices are now under
  1733. review because of the change to a GPL copyright. New prices and terms
  1734. will be posted on the *MySQL* web site `http://www.mysql.com/' as soon
  1735. as they are ready.
  1736. All prices are in US Dollars. If you pay by credit card, the currency is
  1737. EURO (European Union Euro) so the prices will differ slightly.
  1738. *Number of licenses*   *Per copy*             *Total*
  1739. 1                      200 EURO               200 EURO
  1740. 10 pack                150 EURO               1500 EURO
  1741. 50 pack                120 EURO               6000 EURO
  1742. For high volume (OEM) purchases, the following prices apply:
  1743. *Number of         *Per copy*     *Minimum *             *Minimum payment*
  1744. licenses*                                                
  1745. 100-999            40 EURO        100                    4000 EURO
  1746. 1000-2499          25 EURO        200                    5000 EURO
  1747. 2500-4999          20 EURO        400                    8000 EURO
  1748. For OEM purchases, you must act as the middle-man for eventual problems
  1749. or extension requests from your users. We also require that OEM
  1750. customers have at least an extended e-mail support contract.  Note that
  1751. OEM licenses only apply for products where the user doesn't have direct
  1752. access to the *MySQL* server (embedded system). In other words, the
  1753. *MySQL* server should only be used with the application that was
  1754. supplied you.
  1755. If you have a low-margin high-volume product, you can always talk to us
  1756. about other terms (for example, a percent of the sale price). If you do,
  1757. please be informative about your product, pricing, market, and any other
  1758. information that may be relevant.
  1759. A full-price license is not a support agreement and includes very
  1760. minimal support. This means that we try to answer any relevant
  1761. questions. If the answer is in the documentation, we will direct you to
  1762. the appropriate section. If you have not purchased a license or
  1763. support, we probably will not answer at all.
  1764. If you discover what we consider a real bug, we are likely to fix it in
  1765. any case. But if you pay for support we will notify you about the fix
  1766. status instead of just fixing it in a later release.
  1767. More comprehensive support is sold separately.  Descriptions of what
  1768. each level of support includes are given in *Note Support::.  Costs for
  1769. the various types of commercial support are shown below.  Support level
  1770. prices are in EURO (European Union Euro). One EURO is about 1.06 USD.
  1771. *Type of support*                    *Cost per year*
  1772. Basic e-mail support. *Note Basic    EURO 200
  1773. email support::.                     
  1774. Extended e-mail support *Note        EURO 1000
  1775. Extended email support::.            
  1776. Login support *Note Login            EURO 2000
  1777. support::.                           
  1778. Extended login support *Note         EURO 5000
  1779. Extended login support::.            
  1780. Telephone support *Note Telephone    EURO 12000
  1781. support::.                           
  1782. You may upgrade from any lower level of support to a higher level of
  1783. support for the difference in price between the two support levels.
  1784. We do also provide telephone support (mostly emergency support but also
  1785. 24/7 support). This support option doesn't however have a fixed price
  1786. but is negotiated for case to case. If you are interested in this option
  1787. you can email <sales@mysql.com> and tell us about your needs.
  1788. Note that as our sales staff is very busy, it may take some time until
  1789. your request is handled.  Our support staff does however always answer
  1790. promptly to support questions!
  1791. Payment information
  1792. -------------------
  1793. Currently we can take SWIFT payments, checks, or credit cards.
  1794. Payment should be made to:
  1795.      Postgirot Bank AB
  1796.      105 06 STOCKHOLM, SWEDEN
  1797.      
  1798.      MySQL AB
  1799.      BOX 6434
  1800.      11382 STOCKHOLM, SWEDEN
  1801.      
  1802.      SWIFT address: PGSI SESS
  1803.      Account number: 96 77 06 - 3
  1804. Specify: license and/or support and your name and e-mail address.
  1805. In Europe and Japan you can use EuroGiro (that should be less
  1806. expensive) to the same account.
  1807. If you want to pay by check, make it payable to "MySQL Finland AB" and
  1808. mail it to the address below:
  1809.      MySQL AB
  1810.      BOX 6434, Torsgatan 21
  1811.      11382 STOCKHOLM, SWEDEN
  1812. If you want to pay by credit card over the Internet, you can use MySQL
  1813. AB's secure license form (https://order.mysql.com/license.htmy).
  1814. You can also print a copy of the license form, fill it in, and send it
  1815. by fax to:
  1816. +46-8-729 69 05
  1817. If you want us to bill you, you can use the license form and write "bill
  1818. us" in the comment field.  You can also mail a message to
  1819. <sales@mysql.com> (*not* `mysql@lists.mysql.com'!)  with your company
  1820. information and ask us to bill you.
  1821. Contact Information
  1822. -------------------
  1823. For commercial licensing, please contact the *MySQL* licensing team.
  1824. The much preferred method is by e-mail to <licensing@mysql.com>. Fax is
  1825. also possible but handling of these may take much longer (Fax +46-8-729
  1826. 69 05).
  1827. If you represent a business that is interested in partnering with
  1828. *MySQL*, please send e-mail to <partner@mysql.com>.
  1829. For timely, precise answers to technical questions about *MySQL* you
  1830. should order (https://order.mysql.com/) one of our support contracts
  1831. (http://www.mysql.com/support/arrangements/types.html).  *MySQL*
  1832. support is provided by the *MySQL* developers so the standard is
  1833. extremely high.
  1834. If you are interested in placing a banner advertisement on our Web site,
  1835. please send e-mail to <advertising@mysql.com>.
  1836. If you are interested in any of the jobs listed in our jobs
  1837. (http://www.mysql.com/development/jobs/) section, please send e-mail to
  1838. <jobs@mysql.com>.
  1839. For general discussion amongst our many users, please direct your
  1840. attention to the appropriate mailing list
  1841. (http://www.mysql.com/documentation/lists.html).
  1842. For general information inquires, please send e-mail to
  1843. <info@mysql.com>.
  1844. For questions or comments about the workings or content of this Web
  1845. site, please send e-mail to <webmaster@mysql.com>.
  1846. Types of Commercial Support
  1847. ===========================
  1848. Basic E-mail Support
  1849. --------------------
  1850. Basic e-mail support is a very inexpensive support option and should be
  1851. thought of more as a way to support our development of *MySQL* than as
  1852. a real support option.  We at *MySQL* do give a lot of free support in
  1853. all the different *MySQL* lists, and the money we get from basic e-mail
  1854. support is largely used to make this possible.
  1855. At this support level, the *MySQL* mailing lists are the preferred
  1856. means of communication.  Questions normally should be mailed to the
  1857. primary mailing list (<mysql@lists.mysql.com>) or one of the other
  1858. regular lists (for example, <win32@lists.mysql.com> for Windows-related
  1859. *MySQL* questions), as someone else already may have experienced and
  1860. solved the problem you have.  *Note Asking questions::.
  1861. However, by purchasing basic e-mail support, you also have access to the
  1862. support address <mysql-support@mysql.com>, which is not available as
  1863. part of the minimal support that you get by purchasing a *MySQL*
  1864. license.  This means that for especially critical questions, you can
  1865. cross-post your message to <mysql-support@mysql.com>.  (If the message
  1866. contains sensitive data, you should post only to
  1867. <mysql-support@mysql.com>.)
  1868. _REMEMBER!_ to ALWAYS include your registration number and expiration
  1869. date when you send a message to <mysql-support@mysql.com>.
  1870. Note that if you have encountered a critical repeatable bug and follow
  1871. the rules outlined in the manual section of how to report bugs and send
  1872. it to <bugs@lists.mysql.com>, we promise to try to fix this as soon as
  1873. possible, regardless of your support level! *Note Bug reports::.
  1874. Basic e-mail support includes the following types of service:
  1875.    * If your question is already answered in the manual, we will inform
  1876.      you of the correct section in which you can find the answer.  If
  1877.      the answer is not in the manual, we will point you in the right
  1878.      direction to solve your problem.
  1879.    * We guarantee a timely answer for your e-mail messages.  We can't
  1880.      guarantee that we can solve any problem, but at least you will
  1881.      receive an answer if we can contact you by e-mail.
  1882.    * We will help with unexpected problems when you install *MySQL*
  1883.      from a binary distribution on supported platforms.  This level of
  1884.      support does not cover installing *MySQL* from a source
  1885.      distribution.  Supported platforms are those for which *MySQL* is
  1886.      known to work.  *Note Which OS::.
  1887.    * We will help you with bugs and missing features. Any bugs that are
  1888.      found are fixed for the next *MySQL* release. If the bug is
  1889.      critical for you, we will mail you a patch for it as soon the bug
  1890.      is fixed.  Critical bugs always have the highest priority for us,
  1891.      and we ensure that they are fixed as soon as possible.
  1892.    * Your suggestions for the further development of *MySQL* will be
  1893.      taken into consideration. By taking email support you have already
  1894.      helped the further development of *MySQL*. If you want to have
  1895.      more input, upgrade to a higher level of support.
  1896.    * If you want us to help optimize your system, you must upgrade to a
  1897.      higher level of support.
  1898. Extended E-mail Support
  1899. -----------------------
  1900. Extended e-mail support includes everything in basic e-mail support with
  1901. these additions:
  1902.    * Your e-mail will be dealt with before mail from basic e-mail
  1903.      support users and non-registered users.
  1904.    * Your suggestions for the further development of *MySQL* will
  1905.      receive strong consideration. Simple extensions that suit the basic
  1906.      goals of *MySQL* are implemented in a matter of days. By taking
  1907.      extended e-mail support you have already helped the further
  1908.      development of *MySQL*.
  1909.    * Typical situations that are covered by extended e-mail support are:
  1910.         - We will answer and (within reason) solve questions that
  1911.           relate to possible bugs in *MySQL*.  As soon as the bug is
  1912.           found and corrected, we will mail a patch for it.
  1913.         - We will help with unexpected problems when you install
  1914.           *MySQL* from a source or binary distribution on supported
  1915.           platforms.
  1916.         - We will answer questions about missing features and offer
  1917.           hints how to work around them.
  1918.         - We will provide hints on optimizing `mysqld' for your
  1919.           situation.
  1920.    * You are allowed to influence the priority of items on the *MySQL*
  1921.      TODO List. *Note TODO::. This will ensure that the features you
  1922.      really need will be implemented sooner than they might be
  1923.      otherwise.
  1924. Login Support
  1925. -------------
  1926. Login support includes everything in extended e-mail support with these
  1927. additions:
  1928.    * Your e-mail will be dealt with even before e-mail from extended
  1929.      e-mail support users.
  1930.    * Your suggestions for the further development of *MySQL* will be
  1931.      taken into very high consideration.  Realistic extensions that can
  1932.      be implemented in a couple of hours and that suit the basic goals
  1933.      of *MySQL* will be implemented as soon as possible.
  1934.    * If you have a very specific problem, we can try to log in on your
  1935.      system to solve the problem "in place."
  1936.    * Like any database vendor, we can't guarantee that we can rescue
  1937.      any data from crashed tables, but if the worst happens, we will
  1938.      help you rescue as much as possible. *MySQL* has proven itself
  1939.      very reliable, but anything is possible due to circumstances
  1940.      beyond our control (for example, if your system crashes or someone
  1941.      kills the server by executing a `kill -9' command).
  1942.    * We will provide hints on optimizing your system and your queries.
  1943.    * You are allowed to call a *MySQL* developer (in moderation) and
  1944.      discuss your *MySQL*-related problems.  This option is however
  1945.      only to be used as a last result during an emergency after we have
  1946.      failed to grasp the total problem with email.  To make efficient
  1947.      use of our time we need to first get all facts about the problem,
  1948.      before talking on phone, to be able to work as efficiently as
  1949.      possible on solving the problem.
  1950. Extended Login Support
  1951. ----------------------
  1952. Extended login support includes everything in login support with these
  1953. additions:
  1954.    * Your e-mail has the highest possible priority.
  1955.    * We will actively examine your system and help you optimize it and
  1956.      your queries. We may also optimize and/or extend *MySQL* to better
  1957.      suit your needs.
  1958.    * You may also request special extensions just for you. For example:
  1959.           mysql> select MY_FUNC(col1,col2) from table;
  1960.    * We will provide a binary distribution of all important *MySQL*
  1961.      releases for your system, as long as we can get an account on a
  1962.      similar system. In the worst case, we may require access to your
  1963.      system to be able to create a binary distribution.
  1964.    * If you can provide accommodations and pay for traveler fares, you
  1965.      can even get a *MySQL* developer to visit you and offer you help
  1966.      with your troubles. Extended login support entitles you to one
  1967.      personal encounter per year, but we are always very flexible
  1968.      towards our customers!  If the visit takes 16 hours or more, the
  1969.      first 8 hours is without charge.  For the hours above 8 hours, you
  1970.      will be charged with a rate that is at least 20 % less than our
  1971.      standard rates.
  1972. Telephone Support
  1973. -----------------
  1974. Telephone support includes everything in extended login support with
  1975. these additions:
  1976.    * We will provide you with a dynamic web page showing the current
  1977.      list of `MySQL' developers that you can phone when you have a
  1978.      critical problem.
  1979.    * For non critical problem, you can request a *MySQL* developer to
  1980.      phone back within 48 hours to discuss `MySQL' related issues.
  1981. Support for other table handlers
  1982. --------------------------------
  1983. To get support for `BDB' tables, `INNOBASE' tables or `GEMINI' tales
  1984. you has to pay and additional 30 % on the basic support price for each
  1985. of the table handlers you want to get support on.  This extra cost is
  1986. cover the back support cost for the other table handlers.
  1987. We at `MySQL AB' will help you create a proper bug report for the table
  1988. handler and submit it to the developers for to specific table handler.
  1989. We will also do our best to ensure that you will get a timely
  1990. answer/solution from the developers of the table handler.
  1991. Even if we are quite confident that we can solve most problems within a
  1992. timely manner, we can't guarantee a quick solution for any problems you
  1993. can get with the different table handlers. We will however do our best
  1994. to help you get the problem solved.
  1995. Installing MySQL
  1996. ****************
  1997. This chapter describes how to obtain and install *MySQL*:
  1998.    * For a list of sites from which you can obtain *MySQL*, see *Note
  1999.      Getting *MySQL*: Getting MySQL.
  2000.    * To see which platforms are supported, see *Note Which OS::.
  2001.    * Several versions of *MySQL* are available in both binary and
  2002.      source distributions. We also provide public access to our current
  2003.      source tree for those who want to see our most recent
  2004.      developments and help us test new code. To determine which version
  2005.      and type of distribution you should use, see *Note Many versions::.
  2006.    * Installation instructions for binary and source distributions are
  2007.      described in *Note Installing binary:: and *Note Installing
  2008.      source::.  Each set of instructions includes a section on
  2009.      system-specific problems you may run into.
  2010.    * For post-installation procedures, see *Note Post-installation::.
  2011.      These procedures apply whether you install *MySQL* using a binary
  2012.      or source distribution.
  2013. How to Get MySQL
  2014. ================
  2015. Check the *MySQL* home page (http://www.mysql.com/) for information
  2016. about the current version and for downloading instructions.
  2017. Our main download mirror is located at:
  2018. http://download.sourceforge.net/mirrors/mysql/
  2019. (http://download.sourceforge.net/mirrors/mysql/)
  2020. If you are interested in becoming a *MySQL* mirror site, you may
  2021. anonymously rsync with: `rsync://download.sourceforge.net/mysql/'.
  2022. Please send e-mail to <webmaster@mysql.com> notifying us of your mirror
  2023. to be added to the list below.
  2024. If you have problems downloading from our main site, try using one of
  2025. the mirrors listed below.
  2026. Please report bad or out-of-date mirrors to <webmaster@mysql.com>.
  2027. *Europe:*
  2028.    *  Austria [Univ. of Technology/Vienna]  WWW
  2029.      (http://gd.tuwien.ac.at/db/mysql/) FTP
  2030.      (ftp://gd.tuwien.ac.at/db/mysql/)
  2031.    *  Bulgaria [online.bg/Sofia]  WWW (http://mysql.online.bg/) FTP
  2032.      (ftp://mysql.online.bg/)
  2033.    *  Czech Republic [Masaryk University in Brno]  WWW
  2034.      (http://mysql.linux.cz/index.html) FTP
  2035.      (ftp://ftp.fi.muni.cz/pub/mysql/)
  2036.    *  Czech Republic [www.sopik.cz]  WWW (http://www.mysql.cz/)
  2037.    *  Czech Republic [www.gin.cz]  WWW (http://mysql.gin.cz/) FTP
  2038.      (ftp://ftp.gin.cz/pub/MIRRORS/www.mysql.com/)
  2039.    *  Denmark [Borsen]  WWW (http://mysql.borsen.dk/)
  2040.    *  Denmark [SunSITE]  WWW (http://SunSITE.auc.dk/mysql/) FTP
  2041.      (ftp://SunSITE.auc.dk/pub/databases/mysql/)
  2042.    *  Estonia [OKinteractive]  WWW (http://mysql.mirror.ok.ee)
  2043.    *  France [mtesa.net]  WWW (http://mysql.mtesa.net/)
  2044.    *  Finland [tonnikala.net]  WWW (http://mysql.tonnikala.org/)
  2045.    *  Germany [Kernelnotes.de, Bonn]  WWW
  2046.      (http://www.kernelnotes.de/mysql/) FTP
  2047.      (ftp://ftp.kernelnotes.de/pub/mirror/mysql.org/)
  2048.    *  Germany [Wolfenbuettel]  WWW
  2049.      (http://www.fh-wolfenbuettel.de/ftp/pub/database/mysql/) FTP
  2050.      (ftp://ftp.fh-wolfenbuettel.de/pub/database/mysql/)
  2051.    *  Greece [NTUA, Athens]  WWW (http://www.ntua.gr/mysql/) FTP
  2052.      (ftp://ftp.ntua.gr/pub/databases/mysql/)
  2053.    *  Hungary [Xenia]  WWW (http://mysql.sote.hu/) FTP
  2054.      (ftp://xenia.sote.hu/pub/mirrors/www.mysql.com/)
  2055.    *  Iceland [GM]  WWW (http://mysql.gm.is/) FTP
  2056.      (ftp://ftp.gm.is/pub/mysql/)
  2057.    *  Italy [feelinglinux.com]  WWW (http://mysql.feelinglinux.com/)
  2058.    *  Italy [Teta Srl]  WWW (http://www.teta.it/mysql/)
  2059.    *  Italy [tzone.it]  WWW (http://mysql.tzone.it/)
  2060.    *  Ireland [Esat Net]  WWW
  2061.      (http://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/)
  2062.      FTP
  2063.      (ftp://ftp.esat.net/mirrors/download.sourceforge.net/pub/mirrors/mysql/)
  2064.    *  Netherlands [Silverpoint]  WWW (http://mysql.silverpoint.nl/)
  2065.    *  Netherlands [Widexs BV]  WWW (http://mysql.widexs.nl/) FTP
  2066.      (ftp://mysql.widexs.nl/pub/mysql/)
  2067.    *  Poland [Sunsite]  WWW (http://sunsite.icm.edu.pl/mysql/) FTP
  2068.      (ftp://sunsite.icm.edu.pl/pub/unix/mysql/)
  2069.    *  Poland [ncservice.com/Gdansk]  WWW (http://mysql.service.net.pl/)
  2070.    *  Portugal [Netc]  WWW (http://ftp.netc.pt/pub/mysql/) FTP
  2071.      (ftp://ftp.netc.pt/pub/mysql/)
  2072.    *  Romania [roedu.net/Bucharest]  FTP
  2073.      (ftp://ftp.roedu.net/pub/mirrors/ftp.mysql.com/)
  2074.    *  Russia [DirectNet]  WWW (http://mysql.directnet.ru/) FTP
  2075.      (ftp://ftp.dn.ru/pub/MySQL/)
  2076.    *  Russia [Scientific Center/Chernogolovka]  FTP
  2077.      (ftp://ftp.chg.ru/pub/databases/mysql/)
  2078.    *  Switzerland [Sunsite]  WWW
  2079.      (http://sunsite.cnlab-switch.ch/ftp/mirror/mysql/) FTP
  2080.      (ftp://sunsite.cnlab-switch.ch/mirror/mysql/)
  2081.    *  UK [Omnipotent/UK]  WWW (http://mysql.omnipotent.net/) FTP
  2082.      (ftp://mysql.omnipotent.net/)
  2083.    *  UK [PLiG/UK]  WWW (http://ftp.plig.org/pub/mysql/) FTP
  2084.      (ftp://ftp.plig.org/pub/mysql/)
  2085.    *  Ukraine [PACO]  WWW (http://mysql.paco.net.ua) FTP
  2086.      (ftp://mysql.paco.net.ua/)
  2087.    *  Ukraine [ISP Alkar Teleport/Dnepropetrovsk]  WWW
  2088.      (http://mysql.dp.ua/)
  2089. *North America:*
  2090.    *  Canada [Tryc]  WWW (http://web.tryc.on.ca/mysql/)
  2091.    *  USA [Hurricane Electric/San Jose]  WWW (http://mysql.he.net/)
  2092.    *  USA [ValueClick, Los Angeles CA]  WWW
  2093.      (http://mysql.valueclick.com/) FTP
  2094.      (ftp://mysql.valueclick.com/mysql/)
  2095.    *  USA [Circle Net/North Carolina]  WWW (http://www.mysql.net)
  2096.    *  USA [Wisconsin University/Wisconsin]  WWW
  2097.      (http://mirror.sit.wisc.edu/mysql/) FTP
  2098.      (ftp://mirror.sit.wisc.edu/mirrors/mysql/)
  2099.    *  USA [LinuxWired/Scottsdale, AZ]  WWW
  2100.      (http://mysql.linuxwired.net/) FTP
  2101.      (ftp://ftp.linuxwired.net/pub/mirrors/mysql/)
  2102.    *  USA [Venoma.Org/Valdosta, GA]  WWW (http://mysql.venoma.org/)
  2103.    *  USA [adgrafix.com/Boston, MA]  WWW (http://mysql.adgrafix.com/)
  2104. *South America:*
  2105.    *  Argentina [bannerlandia.com]  WWW
  2106.      (http://mysql.bannerlandia.com.ar/) FTP
  2107.      (ftp://mysql.bannerlandia.com.ar/mirrors/mysql/)
  2108.    *  Chile [Vision]  WWW (http://mysql.vision.cl/)
  2109.    *  Chile [PSINet]  WWW (http://mysql.psinet.cl/) FTP
  2110.      (ftp://ftp.psinet.cl/pub/database/mysql/)
  2111.    *  Chile [Tecnoera]  WWW (http://mysql.tecnoera.com/)
  2112. *Asia:*
  2113.    *  China [Freecode]  WWW (http://www.freecode.net.cn/mirror/mysql/)
  2114.    *  China [linuxforum.net]  WWW
  2115.      (http://www2.linuxforum.net/mirror/mysql/)
  2116.    *  China [ISL/Hong Kong]  WWW (http://mysql.islnet.net)
  2117.    *  China [TraLand.com/Hong Kong]  WWW (http://www.traland.com/mysql/)
  2118.    *  South Korea [Webiiz]  WWW (http://mysql.webiiz.com/)
  2119.    *  South Korea [PanworldNet]  WWW (http://mysql.holywar.net/)
  2120.    *  Japan [Soft Agency]  WWW (http://www.softagency.co.jp/MySQL)
  2121.    *  Japan [u-aizu.ac.jp/Aizu]  FTP
  2122.      (ftp://ftp.u-aizu.ac.jp/ftp/pub/dbms/mysql/mysql.com)
  2123.    *  Singapore [HJC]  WWW (http://mysql.hjc.edu.sg) FTP
  2124.      (ftp://ftp.hjc.edu.sg/mysql)
  2125.    *  Taiwan [TTN]  WWW (http://mysql.ttn.net)
  2126.    *  Taiwan [nctu.edu/HsinChu]  WWW (http://mysql.nctu.edu.tw/)
  2127. *Australia:*
  2128.    *  Australia [AARNet/Queensland]  WWW
  2129.      (http://mirror.aarnet.edu.au/mysql) FTP
  2130.      (ftp://mirror.aarnet.edu.au/pub/mysql)
  2131. *Africa:*
  2132.    *  South-Africa [Mweb]  WWW (http://www.mysql.mweb.co.za/)
  2133.    *  South Africa [The Internet Solution/Johannesburg]  FTP
  2134.      (ftp://ftp.is.co.za/linux/mysql/)
  2135. Operating Systems Supported by MySQL
  2136. ====================================
  2137. We use GNU Autoconf, so it is possible to port *MySQL* to all modern
  2138. systems with working Posix threads and a C++ compiler. (To compile only
  2139. the client code, a C++ compiler is required but not threads.)  We use
  2140. and develop the software ourselves primarily on Sun Solaris (Versions
  2141. 2.5 - 2.7) and RedHat Linux Version 6.x.
  2142. Note that for many operating systems, the native thread support works
  2143. only in the latest versions. *MySQL* has been reported to compile
  2144. sucessfully on the following operating system/thread package
  2145. combinations:
  2146.    * AIX 4.x with native threads. *Note IBM-AIX::.
  2147.    * BSDI 2.x with the included MIT-pthreads package. *Note BSDI::.
  2148.    * BSDI 3.0, 3.1 and 4.x with native threads. *Note BSDI::.
  2149.    * DEC Unix 4.x with native threads. *Note Alpha-DEC-UNIX::.
  2150.    * FreeBSD 2.x with the included MIT-pthreads package. *Note
  2151.      FreeBSD::.
  2152.    * FreeBSD 3.x and 4.x with native threads. *Note FreeBSD::.
  2153.    * HP-UX 10.20 with the included MIT-pthreads package. *Note HP-UX
  2154.      10.20::.
  2155.    * HP-UX 11.x with the native threads. *Note HP-UX 11.x::.
  2156.    * Linux 2.0+ with LinuxThreads 0.7.1+ or `glibc' 2.0.7+ . *Note
  2157.      Linux::.
  2158.    * Mac OS X Server. *Note Mac OS X::.
  2159.    * NetBSD 1.3/1.4 Intel and NetBSD 1.3 Alpha (Requires GNU make).