diff options
author | unknown <ahlentz@co3064164-a.rochd1.qld.optusnet.com.au> | 2001-10-29 15:36:37 +1000 |
---|---|---|
committer | unknown <ahlentz@co3064164-a.rochd1.qld.optusnet.com.au> | 2001-10-29 15:36:37 +1000 |
commit | 2c76b3a98e5126990844f0e62436243b1783e139 (patch) | |
tree | 736aff76e5d3e2a431e79bebef0f4c4c56b04abb /Docs | |
parent | 838ff16109796c4468008ee7b7ab8cb78c50df7f (diff) | |
download | mariadb-git-2c76b3a98e5126990844f0e62436243b1783e139.tar.gz |
Fixups from Marten Mickos.
Diffstat (limited to 'Docs')
-rw-r--r-- | Docs/manual.texi | 1261 |
1 files changed, 651 insertions, 610 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index c59d9ac3d3b..93e12af3bcb 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -1010,11 +1010,18 @@ values). @cindex MySQL AB, defined -@code{MySQL AB} is the company of the MySQL founders and main developers -behind the MySQL database and this manual. We are dedicated to developing -MySQL and spreading our database to new users. -MySQL AB owns the copyright to the MySQL source code, the MySQL logo and -trademark and this manual. @xref{What-is}. +@code{MySQL AB} is the company of the MySQL founders and main +developers. MySQL AB was originally established in Sweden by David +Axmark, Allan Larsson and Michael @code{Monty} Widenius. + +All the developers of the MySQL server are employed by the company. +We are a virtual organisation with people in a dozen countries around +the world. We communicate extensively over the net every day with each +other and with our users, supporters and partners. + +We are dedicated to developing MySQL and spreading our database to new +users. MySQL AB owns the copyright to the MySQL source code, the MySQL +logo and trademark and this manual. @xref{What-is}. @menu * MySQL AB business model and services:: The Business Model and Services of MySQL AB @@ -1090,90 +1097,111 @@ business model and build a basis for sustainable growth. MySQL AB is run and owned by the founders and main developers of the MySQL database. The developers are committed to giving support to customers and other users in order to stay in touch with their needs and problems. All -our support is given by qualified developers, not through call centers or -dedicated support staff. Really tricky questions are even answered by -Michael @code{Monty} Widenius himself, the author of the MySQL server. +our support is given by qualified developers. Really tricky questions are +answered by Michael @code{Monty} Widenius, principal author of the MySQL +server. @xref{Support}. -To order support at different levels, please visit the order section at -@uref{http://www.mysql.com/support/}. If you have restricted access to the +To order support at various levels, please visit the order section at +@uref{https://order.mysql.com/}. If you have restricted access to the Internet, please contact our sales staff at @email{sales@@mysql.com}. @node Business Services Training, Business Services Consulting, Business Services Support, MySQL AB business model and services @subsubsection Training -MySQL AB offers training on different levels all over the world. -The trainers are backed by the development team to guarantee quality and -continous development and also that no questions raised during the courses -remain unanswered. - -If you're interested in participating in our courses, please visit the -training section at @uref{http://www.mysql.com/training/}. If you have -restricted access to the Internet, please contact our training staff at -@email{training@@mysql.com}. +MySQL AB and its authorized training partners offer MySQL and related +training on various levels all over the world. Our training material +uses the same example databases as our documentation and our sample +applications, and it is always updated to reflect the latest MySQL +version. Our trainers are backed by the development team to guarantee +the quality of the training and the continuous development of the +course material. Also, this ensures that no questions raised during +the courses remain unanswered." + +If you're interested in our training as a potential participant or +training partner, please visit the training section at +@uref{http://www.mysql.com/training/}. +If you have restricted access to the Internet, please contact our +training staff at @email{training@@mysql.com}. @node Business Services Consulting, Business Services Commercial licenses, Business Services Training, MySQL AB business model and services @subsubsection Consulting -MySQL AB offers consulting on different levels, all over the world. -Consulting covers all questions affecting database performance such as -database design, table design, query constructions, parameter tuning, -hardware tuning, migration issues, replication, transactions etc. -Our consultants are backed by the development team to guarantee quality -work. - -If you're interested in consulting, please visit the consulting section -at @uref{http://www.mysql.com/consulting/}. If you have restricted access -to the Internet, please contact our consulting staff at -@email{consulting@@mysql.com}. +MySQL AB offers consulting services to users of MySQL and to those who +embed MySQL in their own software, all over the world. Our consultants +can help you design and tune your databases, construct efficient +queries, tune your platform for optimal performance, resolve migration +issues, set up replication, build robust transactional applications, +and more. +We also help customers embed MySQL in their products and applications +for large-scale deployment. Our consultants work in close collaboration +with our development team which ensures the technical quality of our +professional services. +Consulting assignments range from 2-day power start sessions to +projects that span weeks and months. Our expertise does not only cover +MySQL, but extends into programming and scripting languages such as +PHP, Perl and more. + +If you're interested in our consulting services or want to become a +consulting partner, please visit the consulting section at +@uref{http://www.mysql.com/consulting/}. +If you have restricted access to the Internet, please contact our +consulting staff at @email{consulting@@mysql.com}. @node Business Services Commercial licenses, Business Services Partnering, Business Services Consulting, MySQL AB business model and services @subsubsection Commercial Licenses The MySQL database is released under the @code{GNU General Public License} -(@code{GPL}). This means that it may often be used for free, but for -certain uses you are required to purchase commercial licenses from -MySQL AB at @uref{http://www.mysql.com/}. -Since MySQL AB owns the copyright of the MySQL server, we are able to -sell commercial licenses (this is called @code{Dual Licensing}). This -does not in any way affect the @code{Open Source} commitment of MySQL AB. +(@code{GPL}). This means that MySQL can be used free of charge under the +GPL. If you do not want to be bound by the GPL terms (like the requirement +that your own application becomes GPL as well), you may purchase a +commercial license for the same product from MySQL AB at +@uref{https://order.mysql.com/}. +Since MySQL AB owns the copyright to the MySQL server, we are able to +employ @code{Dual Licensing} which means that the same product is +available both under GPL and under a commercial license. This does not +in any way affect the @code{Open Source} commitment of MySQL AB. For details about when a commercial license is required, please see @ref{MySQL server licenses}. -We also aim to offer commercial license packages covering both the MySQL -database and closely connected third party software. Currently we have -such an arrangement with the author of the @code{InnoDB} transactional -table handler. +We also sell commercial licenses of third-party Open Source GPL software +that adds value to MySQL. A good example is the @code{InnoDB} +transactional table handler that offers ACID support, row-level locking, +crash recovery, multiversioning, foreign key support, and more. @node Business Services Partnering, Business Services Advertising, Business Services Commercial licenses, MySQL AB business model and services @subsubsection Partnering @cindex partnering with MySQL +MySQL AB has a worldwide partner program that covers training courses, +support, consulting, solutions, publications plus reselling and +distributing MySQL and related products. Partners get visibility on the +@uref{http://www.mysql.com/} website and the right to use special +versions of the MySQL trademarks to identify their products and promote +their business. + +If you are interested in becoming a MySQL AB partner, please mail to +@email{partner@@mysql.com}. + The word @code{MySQL} and the MySQL dolphin logo are trademarks of MySQL AB. @xref{MySQL AB Logos and Trademarks}. These trademarks represent a significant value that the MySQL founders have built over the years. -We have a partner programme whereby companies worldwide can offer -value-added MySQL services or products and resell our products and -services against a partner fee and a royalty. Partners also get to -use special versions of the MySQL trademark to indentify these -products and promote their business. - -If you are interested in becoming a MySQL AB partner, please mail to -@email{partner@@mysql.com}. - @node Business Services Advertising, , Business Services Partnering, MySQL AB business model and services @subsubsection Advertising -The MySQL website (@uref{http://www.mysql.com/}) is highly popular among -people who make purchase decisions or recommendations. The website has -more than 10 million page views per month (October 2001). +The MySQL website (@uref{http://www.mysql.com/}) immensely popular among +developers and users. In October 2001, we served 10 million page views. +Our visitors represent a group that makes purchase decisions and +recommendations for both software and hardware. Twelve per cent of our +visitors authorize purchase decisions, and only nine per cent are not +involved in purchase decisions at all. More than 65% have made one or +more online business purchase within the last half-year, and 70% plan +to make one in the next months. -Banners on @uref{http://www.mysql.com/} will be viewed by numerous -potential buyers who maintain or set up websites and other database -applications. For more information, please send an email to -@email{advertising@@mysql.com}. +If you are interested in placing banner ads on our website, please send +an email to @email{advertising@@mysql.com}. @node Contact information, , MySQL AB business model and services, What is MySQL AB @@ -1189,13 +1217,12 @@ applications. For more information, please send an email to @uref{http://www.mysql.com/, The MySQL website} provides the latest information about MySQL and MySQL AB. -For timely, precise answers to technical questions about MySQL, -consider ordering a @uref{https://order.mysql.com/, support contract} -from MySQL AB. MySQL support by MySQL is provided directly by the -MySQL developers so the standard is extremely high. If you have -restricted access to the Internet, please contact the MySQL AB sales -staff at @email{sales@@mysql.com}. -@xref{Support}. +If you have a valid support contract with MySQL AB; you will get +timely, precise answers to your technical questions about MySQL. +For more information, see @ref{Support}. +You can order your support contract at +@uref{https://order.mysql.com/}, or send an email to +@email{sales@@mysql.com}. For information about MySQL training, please visit the training section at @uref{http://www.mysql.com/training/}. If you have @@ -1209,9 +1236,13 @@ restricted access to the Internet, please contact the MySQL AB consulting staff at @email{consulting@@mysql.com}. @xref{Business Services Consulting}. -For commercial licensing, please contact the MySQL AB licensing team -via e-mail at @email{licensing@@mysql.com}. Fax is also possible but -handling of these may take much longer (Fax +46-8-729 69 05). +Commercial licenses may be purchased online at +@uref{https://order.mysql.com/}. There you will also find information +on how to fax your purchase order to MySQL AB. If you have questions +regarding licensing or you want a quote for a high-volume license +deal, please fill in the contact form on our website or send an email +to @email{licensing@@mysql.com} (for licensing questions) or to +@email{sales@@mysql.com} (for sales inquiries). @xref{MySQL server licenses}. If you represent a business that is interested in partnering with @@ -1223,9 +1254,16 @@ website (@uref{http://www.mysql.com/}), please send e-mail to @email{advertising@@mysql.com}. @xref{Business Services Advertising}. +For more information on the MySQL trademark policy, refer to +@uref{http://www.mysql.com/company/trademark.html} or email +@email{trademark@@mysql.com}. +@xref{MySQL AB Logos and Trademarks}. + If you are interested in any of the MySQL AB jobs listed in our -@uref{http://www.mysql.com/development/jobs/, jobs} section, +jobs section (@uref{http://www.mysql.com/development/jobs/}), please send an e-mail to @email{jobs@@mysql.com}. +Please do not send your cv as an attachment, but rather as plain text +at the end of your email. For general discussion amongst our many users, please direct your attention to the appropriate mailing list. @@ -1244,6 +1282,11 @@ manual, please send them to the manual team at @email{docs@@mysql.com}. For questions or comments about the workings or content of the Website, please send e-mail to @email{webmaster@@mysql.com}. +MySQL AB has a privacy policy, which can be read at +@uref{http://www.mysql.com/company/privacy.html}. +For any queries regarding this policy, please e-mail +@email{privacy@@mysql.com}. + For all other inquires, please send e-mail to @email{info@@mysql.com}. @@ -1334,11 +1377,10 @@ Our support covers only the MySQL server and our own utilities, not third-party products that access MySQL, though we try to help with these where we can. -Detailed information about our different support options is given at -@uref{http://www.mysql.com/support/}. Support contracts can also be -ordered online at @uref{https://order.mysql.com/}. If you have -restricted access to the Internet, contact our sales staff at -@email{sales@@mysql.com}. +Detailed information about our various support options is given at +@uref{https://order.mysql.com/} where support contracts can also be +ordered online. If you have restricted access to the Internet, contact +our sales staff at @email{sales@@mysql.com}. Technical support is like life insurance. You can live happily without it for years, but when your hour arrives it becomes @@ -1427,8 +1469,7 @@ in any way. To purchase commercial licenses and support, please visit the order section of our website at @uref{https://order.mysql.com/}. If you have restricted access to the Internet, please contact our sales staff at -@email{sales@@mysql.com}. Fax is also possible but the handling of these -may take much longer (Fax +46-8-729 69 05). +@email{sales@@mysql.com}. @node Using the MySQL server for free under GPL, , Using the MySQL server under a commercial license, MySQL server licenses @@ -1830,14 +1871,546 @@ checklist of very demanding buyers. @cindex books, about MySQL @menu +* Questions:: MySQL Mailing Lists * MySQL-Books:: Books About MySQL * General-SQL:: General SQL Information and Tutorials * Useful Links:: Useful MySQL-related Links -* Questions:: MySQL Mailing Lists @end menu -@node MySQL-Books, General-SQL, MySQL Information Sources, MySQL Information Sources +@node Questions, MySQL-Books, MySQL Information Sources, MySQL Information Sources +@subsection MySQL Mailing Lists + +@cindex reporting, errors +@cindex MySQL mailing lists + +@menu +* Mailing-list:: The MySQL mailing lists +* Asking questions:: Asking questions or reporting bugs +* Bug reports:: How to report bugs or problems +* Answering questions:: Guidelines for answering questions on the mailing list +@end menu + +This section introduces you to the MySQL mailing lists, and gives +some guidelines as to how to use them. By subscribing to a mailing +list, you will receive as emails all other postings on the list, +and you will be able to send in your own questions and answers. + + +@node Mailing-list, Asking questions, Questions, Questions +@subsubsection The MySQL Mailing Lists + +@cindex mailing lists +@cindex e-mail lists + +To subscribe to the main MySQL mailing list, send a message to the +electronic mail address @email{mysql-subscribe@@lists.mysql.com}. + +To unsubscribe from the main MySQL mailing list, send a message to +the electronic mail address @email{mysql-unsubscribe@@lists.mysql.com}. + +Only the address to which you send your messages is significant. The +subject line and the body of the message are ignored. + +@c the last two addresses in this paragraph are NOT @email because they +@c shouldn't be live links. +If your reply address is not valid, you can specify your address +explicitly. Adding a hyphen to the subscribe or unsubscribe command +word, followed by your address with the @samp{@@} character in your +address replaced by a @samp{=}. For example, to subscribe +@code{your_name@@host.domain}, send a message to +@code{mysql-subscribe-your_name=host.domain@@lists.mysql.com}. + +Mail to @email{mysql-subscribe@@lists.mysql.com} or +@email{mysql-unsubscribe@@lists.mysql.com} is handled automatically by the +ezmlm mailing list processor. Information about ezmlm is available at +@uref{http://www.ezmlm.org, The ezmlm Website}. + +To post a message to the list itself, send your message to +@code{mysql@@lists.mysql.com}. However, please @emph{do not} send mail about +subscribing or unsubscribing to @email{mysql@@lists.mysql.com}, because any +mail sent to that address is distributed automatically to thousands of other +users. + +Your local site may have many subscribers to @email{mysql@@lists.mysql.com}. +If so, it may have a local mailing list, so that messages sent from +@code{lists.mysql.com} to your site are propagated to the local list. In such +cases, please contact your system administrator to be added to or dropped +from the local MySQL list. + +If you wish to have traffic for a mailing list go to a separate mailbox in +your mail program, set up a filter based on the message headers. You can +use either the @code{List-ID:} or @code{Delivered-To:} headers to identify +list messages. + +The following MySQL mailing lists exist: + +@table @code +@item @email{announce-subscribe@@lists.mysql.com} announce +This is for announcement of new versions of MySQL and related +programs. This is a low volume list all MySQL users should +subscribe to. + +@item @email{mysql-subscribe@@lists.mysql.com} mysql +The main list for general MySQL discussion. Please note that some +topics are better discussed on the more-specialized lists. If you post to the +wrong list, you may not get an answer! + +@item @email{mysql-digest-subscribe@@lists.mysql.com} mysql-digest +The @code{mysql} list in digest form. That means you get all individual +messages, sent as one large mail message once a day. + +@item @email{bugs-subscribe@@lists.mysql.com} bugs +On this list you should only post a full, repeatable bug report using +the @code{mysqlbug} script (if you are running on Windows, you should +include a description of the operating system and the MySQL version). +Preferably, you should test the problem using the latest stable or development +version of MySQL before posting! Anyone should be able to repeat the +bug by just using @code{mysql test < script} on the included test case. All +bugs posted on this list will be corrected or documented in the next +MySQL release! If there are only small code changes involved, we +will also post a patch that fixes the problem. + +@item @email{bugs-digest-subscribe@@lists.mysql.com} bugs-digest +The @code{bugs} list in digest form. + +@item @email{internals-subscribe@@lists.mysql.com} internals +A list for people who work on the MySQL code. On this list one +can also discuss MySQL development and post patches. + +@item @email{internals-digest-subscribe@@lists.mysql.com} internals-digest +A digest version of the @code{internals} list. + +@item @email{java-subscribe@@lists.mysql.com} java +Discussion about MySQL and Java. Mostly about the JDBC drivers. + +@item @email{java-digest-subscribe@@lists.mysql.com} java-digest +A digest version of the @code{java} list. + +@item @email{win32-subscribe@@lists.mysql.com} win32 +All things concerning MySQL on Microsoft operating systems such as +Win95, Win98, NT, and Win2000. + +@item @email{win32-digest-subscribe@@lists.mysql.com} win32-digest +A digest version of the @code{win32} list. + +@item @email{myodbc-subscribe@@lists.mysql.com} myodbc +All things about connecting to MySQL with ODBC. + +@item @email{myodbc-digest-subscribe@@lists.mysql.com} myodbc-digest +A digest version of the @code{myodbc} list. + +@item @email{plusplus-subscribe@@lists.mysql.com} plusplus +All things concerning programming with the C++ API to MySQL. + +@item @email{plusplus-digest-subscribe@@lists.mysql.com} plusplus-digest +A digest version of the @code{plusplus} list. + +@item @email{msql-mysql-modules-subscribe@@lists.mysql.com} msql-mysql-modules +A list about the Perl support in MySQL. msql-mysql-modules + +@item @email{msql-mysql-modules-digest-subscribe@@lists.mysql.com} msql-mysql-modules-digest +A digest version of the @code{msql-mysql-modules} list. +@end table + +You subscribe or unsubscribe to all lists in the same way as described +above. In your subscribe or unsubscribe message, just put the appropriate +mailing list name rather than @code{mysql}. For example, to subscribe to or +unsubscribe from the @code{myodbc} list, send a message to +@email{myodbc-subscribe@@lists.mysql.com} or +@email{myodbc-unsubscribe@@lists.mysql.com}. + +If you can't get an answer for your questions from the mailing list, one +option is to pay for support from MySQL AB, which will put you +in direct contact with MySQL developers. @xref{Support}. + +The following table shows some MySQL mailing in other languages than +English. Note that these are not operated by MySQL AB, so we can't +guarantee the quality on these. + +@table @code +@item @email{mysql-france-subscribe@@yahoogroups.com} A French mailing list +@item @email{list@@tinc.net} A Korean mailing list +Email @code{subscribe mysql your@@e-mail.address} to this list. +@item @email{mysql-de-request@@lists.4t2.com} A German mailing list +Email @code{subscribe mysql-de your@@e-mail.address} to this list. +You can find information about this mailing list at +@uref{http://www.4t2.com/mysql}. +@item @email{mysql-br-request@@listas.linkway.com.br} A Portugese mailing list +Email @code{subscribe mysql-br your@@e-mail.address} to this list. +@item @email{mysql-alta@@elistas.net} A Spanish mailing list +Email @code{subscribe mysql your@@e-mail.address} to this list. +@end table + + +@node Asking questions, Bug reports, Mailing-list, Questions +@subsubsection Asking Questions or Reporting Bugs + +@cindex net etiquette +@cindex mailing lists, archive location +@cindex searching, MySQL webpages + +Before posting a bug report or question, please do the following: + +@itemize @bullet +@item +Start by searching the MySQL online manual at: +@* +@uref{http://www.mysql.com/documentation/manual.php} +@* +We try to keep the manual up to date by updating it frequently with +solutions to newly found problems! + +@item +Search the MySQL mailing list archives: +@* +@uref{http://www.mysql.com/documentation/} +@* +@item +You can also use @uref{http://www.mysql.com/search.html} to search all the +Web pages (including the manual) that are located at +@uref{http://www.mysql.com/}. +@end itemize + +If you can't find an answer in the manual or the archives, check with your +local MySQL expert. If you still can't find an answer to your +question, go ahead and read the next section about how to send mail to +@email{mysql@@lists.mysql.com}. + + +@node Bug reports, Answering questions, Asking questions, Questions +@subsubsection How to Report Bugs or Problems + +@cindex bugs, reporting +@cindex reporting, bugs +@cindex problems, reporting +@cindex errors, reporting +@cindex @code{mysqlbug} script +@cindex creating, bug reports +@cindex scripts, @code{mysqlbug} + +Writing a good bug report takes patience, but doing it right the first +time saves time for us and for you. A good bug report containing a full +test case for the bug will make it very likely that we will fix it in +the next release. This section will help you write your report correctly +so that you don't waste your time doing things that may not help us much +or at all. + +We encourage everyone to use the @code{mysqlbug} script to generate a bug +report (or a report about any problem), if possible. @code{mysqlbug} can be +found in the @file{scripts} directory in the source distribution, or, for a +binary distribution, in the @file{bin} directory under your MySQL +installation directory. If you are unable to use @code{mysqlbug}, you should +still include all the necessary information listed in this section. + +The @code{mysqlbug} script helps you generate a report by determining much +of the following information automatically, but if something important is +missing, please include it with your message! Please read this section +carefully and make sure that all the information described here is included +in your report. + +@cindex bug reports, e-mail address +The normal place to report bugs and problems is +@email{mysql@@lists.mysql.com}. If you can make a test case that clearly +demonstrates the bug, you should post it to the @email{bugs@@lists.mysql.com} +list. Note that on this list you should only post a full, repeatable bug +report using the @code{mysqlbug} script. If you are running on Windows, +you should include a description of the operating system and the +MySQL version. Preferably, you should test the problem using +the latest stable or development version of MySQL before +posting! Anyone should be able to repeat the bug by just using +``@code{mysql test < script}'' on the included test case or run the +shell or perl script that is included in the bug report. All bugs +posted on the @code{bugs} list will be corrected or documented in the next +MySQL release! If there are only small code changes involved +to correct this problem, we will also post a patch that fixes the +problem. + +If you have found a sensitive security bug in MySQL, you should send an +e-mail to @email{security@@mysql.com}. + +Remember that it is possible to respond to a message containing too much +information, but not to one containing too little. Often people omit facts +because they think they know the cause of a problem and assume that some +details don't matter. A good principle is: if you are in doubt about stating +something, state it! It is a thousand times faster and less troublesome to +write a couple of lines more in your report than to be forced to ask again +and wait for the answer because you didn't include enough information the +first time. + +The most common errors are that people don't indicate the version number of +the MySQL distribution they are using, or don't indicate what +platform they have MySQL installed on (including the platform +version number). This is highly relevant information, and in 99 cases out of +100 the bug report is useless without it! Very often we get questions like, +``Why doesn't this work for me?'' then we find that the feature +requested wasn't implemented in that MySQL version, or that a bug +described in a report has been fixed already in newer MySQL +versions. Sometimes the error is platform dependent; in such cases, it is +next to impossible to fix anything without knowing the operating system and +the version number of the platform. + +Remember also to provide information about your compiler, if it is related to +the problem. Often people find bugs in compilers and think the problem is +MySQL-related. Most compilers are under development all the time and +become better version by version. To determine whether or not your +problem depends on your compiler, we need to know what compiler is used. +Note that every compiling problem should be regarded as a bug report and +reported accordingly. + +It is most helpful when a good description of the problem is included in the +bug report. That is, a good example of all the things you did that led to +the problem and the problem itself exactly described. The best reports are +those that include a full example showing how to reproduce the bug or +problem. @xref{Reproduceable test case}. + +If a program produces an error message, it is very important to include the +message in your report! If we try to search for something from the archives +using programs, it is better that the error message reported exactly matches +the one that the program produces. (Even the case should be observed!) +You should never try to remember what the error message was; instead, copy +and paste the entire message into your report! + +If you have a problem with MyODBC, you should try to generate a MyODBC +trace file. @xref{MyODBC bug report}. + +Please remember that many of the people who will read your report will +do so using an 80-column display. When generating reports or examples +using the @code{mysql} command line tool, you should therefore use +the @code{--vertical} option (or the @code{\G} statement terminator) +for output that would exceed the available width for such a display +(for example, with the @code{EXPLAIN SELECT} statement; see the +example below). + +@cindex bug reports, criteria for +Please include the following information in your report: + +@itemize @bullet +@item +The version number of the MySQL distribution you are using (for +example, MySQL Version 3.22.22). You can find out which version you +are running by executing @code{mysqladmin version}. @code{mysqladmin} can be +found in the @file{bin} directory under your MySQL installation +directory. + +@item +The manufacturer and model of the machine you are working on. + +@item +The operating system name and version. For most operating systems, you can +get this information by executing the Unix command @code{uname -a}. + +@item +Sometimes the amount of memory (real and virtual) is relevant. If in doubt, +include these values. + +@item +If you are using a source distribution of MySQL, the name and +version number of the compiler used is needed. If you have a binary +distribution, the distribution name is needed. + +@item +If the problem occurs during compilation, include the exact error +message(s) and also a few lines of context around the offending code in the +file where the error occurred. + +@item +If @code{mysqld} died, you should also report the query that crashed +@code{mysqld}. You can usually find this out by running @code{mysqld} with +logging enabled. @xref{Using log files}. + +@item +If any database table is related to the problem, include the output from +@code{mysqldump --no-data db_name tbl_name1 tbl_name2 ...}. This is very easy +to do and is a powerful way to get information about any table in a database +that will help us create a situation matching the one you have. + +@item +For speed-related bugs or problems with @code{SELECT} statements, you should +always include the output of @code{EXPLAIN SELECT ...}, and at least the +number of rows that the @code{SELECT} statement produces. The more +information you give about your situation, the more likely it is that someone +can help you! For example, the following is an example of a very good bug +report (it should of course be posted with the @code{mysqlbug} script): + +Example run using the @code{mysql} command line tool (note the use of the +@code{\G} statement terminator for statements whose output width would +otherwise exceed that of an 80-column display device): + +@example +mysql> SHOW VARIABLES; +mysql> SHOW COLUMNS FROM ...\G + <output from SHOW COLUMNS> +mysql> EXPLAIN SELECT ...\G + <output from EXPLAIN> +mysql> FLUSH STATUS; +mysql> SELECT ...; + <A short version of the output from SELECT, + including the time taken to run the query> +mysql> SHOW STATUS; + <output from SHOW STATUS> +@end example + +@item +If a bug or problem occurs while running @strong{mysqld}, try to provide an +input script that will reproduce the anomaly. This script should include any +necessary source files. The more closely the script can reproduce your +situation, the better. If you can make a reproduceable test case, you should +post this to @email{bugs@@lists.mysql.com} for a high priority treatment! + +If you can't provide a script, you should at least include the output +from @code{mysqladmin variables extended-status processlist} in your mail to +provide some information of how your system is performing! + +@item +If you can't produce a test case in a few rows, or if the test table +is too big to be mailed to the mailing list (more than 10 rows), you should +dump your tables using @code{mysqldump} and create a @file{README} file +that describes your problem. + +Create a compressed archive of your files using +@code{tar} and @code{gzip} or @code{zip}, and use @code{ftp} to transfer the +archive to @uref{ftp://support.mysql.com/pub/mysql/secret/}. Then send a +short description of the problem to @email{bugs@@lists.mysql.com}. + +@item +If you think that MySQL produces a strange result from a query, +include not only the result, but also your opinion of what the result +should be, and an account describing the basis for your opinion. + +@item +When giving an example of the problem, it's better to use the variable names, +table names, etc., that exist in your actual situation than to come up with +new names. The problem could be related to the name of a variable or table! +These cases are rare, perhaps, but it is better to be safe than sorry. +After all, it should be easier for you to provide an example that uses your +actual situation, and it is by all means better for us. In case you have data +you don't want to show to others, you can use @code{ftp} to transfer it to +@uref{ftp://support.mysql.com/pub/mysql/secret/}. If the data are really top +secret and you don't want to show them even to us, then go ahead and provide +an example using other names, but please regard this as the last choice. + +@item +Include all the options given to the relevant programs, if possible. For +example, indicate the options that you use when you start the @code{mysqld} +daemon and that you use to run any MySQL client programs. The +options to programs like @code{mysqld} and @code{mysql}, and to the +@code{configure} script, are often keys to answers and are very relevant! +It is never a bad idea to include them anyway! If you use any modules, such +as Perl or PHP, please include the version number(s) of those as well. + +@item +If your question is related to the privilege system, please include the +output of @code{mysqlaccess}, the output of @code{mysqladmin reload}, and all +the error messages you get when trying to connect! When you test your +privileges, you should first run @code{mysqlaccess}. After this, execute +@code{mysqladmin reload version} and try to connect with the program that +gives you trouble. @code{mysqlaccess} can be found in the @file{bin} +directory under your MySQL installation directory. + +@item +If you have a patch for a bug, that is good, but don't assume the patch is +all we need, or that we will use it, if you don't provide some necessary +information, such as test cases showing the bug that your patch fixes. We +might find problems with your patch or we might not understand it at all; if +so, we can't use it. + +If we can't verify exactly what the patch is meant for, we won't use it. +Test cases will help us here. Show that the patch will handle all the +situations that may occur. If we find a borderline case (even a rare one) +where the patch won't work, it may be useless. + +@item +Guesses about what the bug is, why it occurs, or what it depends on, +are usually wrong. Even the MySQL team can't guess such things +without first using a debugger to determine the real cause of a bug. + +@item +Indicate in your mail message that you have checked the reference manual +and mail archive so others know that you have tried to solve the +problem yourself. + +@item +If you get a @code{parse error}, please check your syntax closely! If +you can't find something wrong with it, it's extremely likely that your +current version of MySQL doesn't support the query you are +using. If you are using the current version and the manual at +@uref{http://www.mysql.com/documentation/manual.php} doesn't cover the +syntax you are using, MySQL doesn't support your query. In this +case, your only options are to implement the syntax yourself or e-mail +@email{mysql-licensing@@mysql.com} and ask for an offer to implement it! + +If the manual covers the syntax you are using, but you have an older version +of MySQL, you should check the MySQL change history to see +when the syntax was implemented. In this case, you have the option of +upgrading to a newer version of MySQL. @xref{News}. + +@item +If you have a problem such that your data appears corrupt or you get +errors when you access some particular table, you should first check and then +try repairing your tables with @code{myisamchk} or @code{CHECK TABLE} and +@code{REPAIR TABLE}. @xref{MySQL Database Administration}. + +@item +If you often get corrupted tables you should try to find out when and why this +happens! In this case, the @file{mysql-data-directory/'hostname'.err} file +may contain some information about what happened. @xref{Error log}. Please +include any relevant information from this file in your bug report! Normally +@code{mysqld} should @strong{NEVER} crash a table if nothing killed it in the +middle of an update! If you can find the cause of @code{mysqld} dying, +it's much easier for us to provide you with a fix for the problem! +@xref{What is crashing}. + +@item +If possible, download and install the most recent version of MySQL +and check whether or not it solves your problem. All versions of +MySQL are thoroughly tested and should work without problems! We +believe in making everything as backward compatible as possible, and you +should be able to switch MySQL versions in minutes! +@xref{Which version}. +@end itemize + +@cindex technical support, mailing address +@cindex support, mailing address +@cindex customer support, mailing address +@cindex mailing address, for customer support +If you are a support customer, please cross-post the bug report to +@email{mysql-support@@mysql.com} for higher priority treatment, as well as to +the appropriate mailing list to see if someone else has experienced (and +perhaps solved) the problem. + +For information on reporting bugs in @strong{MyODBC}, see @ref{ODBC Problems}. + +For solutions to some common problems, see @xref{Problems}. + +When answers are sent to you individually and not to the mailing list, +it is considered good etiquette to summarize the answers and send the +summary to the mailing list so that others may have the benefit of +responses you received that helped you solve your problem! + + +@node Answering questions, , Bug reports, Questions +@subsubsection Guidelines for Answering Question on the Mailing List + +@cindex net etiquette +@cindex questions, answering +@cindex answering questions, etiquette +@cindex mailing lists, guidelines + +If you consider your answer to have broad interest, you may want to post it +to the mailing list instead of replying directly to the individual who +asked. Try to make your answer general enough that people other than the +original poster may benefit from it. When you post to the list, please make +sure that your answer is not a duplication of a previous answer. + +Try to summarize the essential part of the question in your reply; don't feel +obliged to quote the entire original message. + +Please don't post mail messages from your browser with HTML mode turned on! +Many users don't read mail with a browser! + + +@node MySQL-Books, General-SQL, Questions, MySQL Information Sources @subsection Books About MySQL For the latest book information, with user comments, please visit @@ -2203,7 +2776,7 @@ to locate books for various purposes. Tutorials can be found at: @uref{http://www.mysql.com/portal/development/html/development-61-1.html} -@node Useful Links, Questions, General-SQL, MySQL Information Sources +@node Useful Links, , General-SQL, MySQL Information Sources @subsection Useful MySQL-related Links The MySQL development portal is the ultimate source of MySQL related @@ -2719,538 +3292,6 @@ site to be added. It is okay to have it on a ``used tools'' page or something similar. -@node Questions, , Useful Links, MySQL Information Sources -@subsection MySQL Mailing Lists - -@cindex reporting, errors -@cindex MySQL mailing lists - -@menu -* Mailing-list:: The MySQL mailing lists -* Asking questions:: Asking questions or reporting bugs -* Bug reports:: How to report bugs or problems -* Answering questions:: Guidelines for answering questions on the mailing list -@end menu - -This section introduces you to the MySQL mailing lists, and gives -some guidelines as to how to use them. By subscribing to a mailing -list, you will receive as emails all other postings on the list, -and you will be able to send in your own questions and answers. - - -@node Mailing-list, Asking questions, Questions, Questions -@subsubsection The MySQL Mailing Lists - -@cindex mailing lists -@cindex e-mail lists - -To subscribe to the main MySQL mailing list, send a message to the -electronic mail address @email{mysql-subscribe@@lists.mysql.com}. - -To unsubscribe from the main MySQL mailing list, send a message to -the electronic mail address @email{mysql-unsubscribe@@lists.mysql.com}. - -Only the address to which you send your messages is significant. The -subject line and the body of the message are ignored. - -@c the last two addresses in this paragraph are NOT @email because they -@c shouldn't be live links. -If your reply address is not valid, you can specify your address -explicitly. Adding a hyphen to the subscribe or unsubscribe command -word, followed by your address with the @samp{@@} character in your -address replaced by a @samp{=}. For example, to subscribe -@code{your_name@@host.domain}, send a message to -@code{mysql-subscribe-your_name=host.domain@@lists.mysql.com}. - -Mail to @email{mysql-subscribe@@lists.mysql.com} or -@email{mysql-unsubscribe@@lists.mysql.com} is handled automatically by the -ezmlm mailing list processor. Information about ezmlm is available at -@uref{http://www.ezmlm.org, The ezmlm Website}. - -To post a message to the list itself, send your message to -@code{mysql@@lists.mysql.com}. However, please @emph{do not} send mail about -subscribing or unsubscribing to @email{mysql@@lists.mysql.com}, because any -mail sent to that address is distributed automatically to thousands of other -users. - -Your local site may have many subscribers to @email{mysql@@lists.mysql.com}. -If so, it may have a local mailing list, so that messages sent from -@code{lists.mysql.com} to your site are propagated to the local list. In such -cases, please contact your system administrator to be added to or dropped -from the local MySQL list. - -If you wish to have traffic for a mailing list go to a separate mailbox in -your mail program, set up a filter based on the message headers. You can -use either the @code{List-ID:} or @code{Delivered-To:} headers to identify -list messages. - -The following MySQL mailing lists exist: - -@table @code -@item @email{announce-subscribe@@lists.mysql.com} announce -This is for announcement of new versions of MySQL and related -programs. This is a low volume list all MySQL users should -subscribe to. - -@item @email{mysql-subscribe@@lists.mysql.com} mysql -The main list for general MySQL discussion. Please note that some -topics are better discussed on the more-specialized lists. If you post to the -wrong list, you may not get an answer! - -@item @email{mysql-digest-subscribe@@lists.mysql.com} mysql-digest -The @code{mysql} list in digest form. That means you get all individual -messages, sent as one large mail message once a day. - -@item @email{bugs-subscribe@@lists.mysql.com} bugs -On this list you should only post a full, repeatable bug report using -the @code{mysqlbug} script (if you are running on Windows, you should -include a description of the operating system and the MySQL version). -Preferably, you should test the problem using the latest stable or development -version of MySQL before posting! Anyone should be able to repeat the -bug by just using @code{mysql test < script} on the included test case. All -bugs posted on this list will be corrected or documented in the next -MySQL release! If there are only small code changes involved, we -will also post a patch that fixes the problem. - -@item @email{bugs-digest-subscribe@@lists.mysql.com} bugs-digest -The @code{bugs} list in digest form. - -@item @email{internals-subscribe@@lists.mysql.com} internals -A list for people who work on the MySQL code. On this list one -can also discuss MySQL development and post patches. - -@item @email{internals-digest-subscribe@@lists.mysql.com} internals-digest -A digest version of the @code{internals} list. - -@item @email{java-subscribe@@lists.mysql.com} java -Discussion about MySQL and Java. Mostly about the JDBC drivers. - -@item @email{java-digest-subscribe@@lists.mysql.com} java-digest -A digest version of the @code{java} list. - -@item @email{win32-subscribe@@lists.mysql.com} win32 -All things concerning MySQL on Microsoft operating systems such as -Win95, Win98, NT, and Win2000. - -@item @email{win32-digest-subscribe@@lists.mysql.com} win32-digest -A digest version of the @code{win32} list. - -@item @email{myodbc-subscribe@@lists.mysql.com} myodbc -All things about connecting to MySQL with ODBC. - -@item @email{myodbc-digest-subscribe@@lists.mysql.com} myodbc-digest -A digest version of the @code{myodbc} list. - -@item @email{plusplus-subscribe@@lists.mysql.com} plusplus -All things concerning programming with the C++ API to MySQL. - -@item @email{plusplus-digest-subscribe@@lists.mysql.com} plusplus-digest -A digest version of the @code{plusplus} list. - -@item @email{msql-mysql-modules-subscribe@@lists.mysql.com} msql-mysql-modules -A list about the Perl support in MySQL. msql-mysql-modules - -@item @email{msql-mysql-modules-digest-subscribe@@lists.mysql.com} msql-mysql-modules-digest -A digest version of the @code{msql-mysql-modules} list. -@end table - -You subscribe or unsubscribe to all lists in the same way as described -above. In your subscribe or unsubscribe message, just put the appropriate -mailing list name rather than @code{mysql}. For example, to subscribe to or -unsubscribe from the @code{myodbc} list, send a message to -@email{myodbc-subscribe@@lists.mysql.com} or -@email{myodbc-unsubscribe@@lists.mysql.com}. - -If you can't get an answer for your questions from the mailing list, one -option is to pay for support from MySQL AB, which will put you -in direct contact with MySQL developers. @xref{Support}. - -The following table shows some MySQL mailing in other languages than -English. Note that these are not operated by MySQL AB, so we can't -guarantee the quality on these. - -@table @code -@item @email{mysql-france-subscribe@@yahoogroups.com} A French mailing list -@item @email{list@@tinc.net} A Korean mailing list -Email @code{subscribe mysql your@@e-mail.address} to this list. -@item @email{mysql-de-request@@lists.4t2.com} A German mailing list -Email @code{subscribe mysql-de your@@e-mail.address} to this list. -You can find information about this mailing list at -@uref{http://www.4t2.com/mysql}. -@item @email{mysql-br-request@@listas.linkway.com.br} A Portugese mailing list -Email @code{subscribe mysql-br your@@e-mail.address} to this list. -@item @email{mysql-alta@@elistas.net} A Spanish mailing list -Email @code{subscribe mysql your@@e-mail.address} to this list. -@end table - - -@node Asking questions, Bug reports, Mailing-list, Questions -@subsubsection Asking Questions or Reporting Bugs - -@cindex net etiquette -@cindex mailing lists, archive location -@cindex searching, MySQL webpages - -Before posting a bug report or question, please do the following: - -@itemize @bullet -@item -Start by searching the MySQL online manual at: -@* -@uref{http://www.mysql.com/documentation/manual.php} -@* -We try to keep the manual up to date by updating it frequently with -solutions to newly found problems! - -@item -Search the MySQL mailing list archives: -@* -@uref{http://www.mysql.com/documentation/} -@* -@item -You can also use @uref{http://www.mysql.com/search.html} to search all the -Web pages (including the manual) that are located at -@uref{http://www.mysql.com/}. -@end itemize - -If you can't find an answer in the manual or the archives, check with your -local MySQL expert. If you still can't find an answer to your -question, go ahead and read the next section about how to send mail to -@email{mysql@@lists.mysql.com}. - - -@node Bug reports, Answering questions, Asking questions, Questions -@subsubsection How to Report Bugs or Problems - -@cindex bugs, reporting -@cindex reporting, bugs -@cindex problems, reporting -@cindex errors, reporting -@cindex @code{mysqlbug} script -@cindex creating, bug reports -@cindex scripts, @code{mysqlbug} - -Writing a good bug report takes patience, but doing it right the first -time saves time for us and for you. A good bug report containing a full -test case for the bug will make it very likely that we will fix it in -the next release. This section will help you write your report correctly -so that you don't waste your time doing things that may not help us much -or at all. - -We encourage everyone to use the @code{mysqlbug} script to generate a bug -report (or a report about any problem), if possible. @code{mysqlbug} can be -found in the @file{scripts} directory in the source distribution, or, for a -binary distribution, in the @file{bin} directory under your MySQL -installation directory. If you are unable to use @code{mysqlbug}, you should -still include all the necessary information listed in this section. - -The @code{mysqlbug} script helps you generate a report by determining much -of the following information automatically, but if something important is -missing, please include it with your message! Please read this section -carefully and make sure that all the information described here is included -in your report. - -@cindex bug reports, e-mail address -The normal place to report bugs and problems is -@email{mysql@@lists.mysql.com}. If you can make a test case that clearly -demonstrates the bug, you should post it to the @email{bugs@@lists.mysql.com} -list. Note that on this list you should only post a full, repeatable bug -report using the @code{mysqlbug} script. If you are running on Windows, -you should include a description of the operating system and the -MySQL version. Preferably, you should test the problem using -the latest stable or development version of MySQL before -posting! Anyone should be able to repeat the bug by just using -``@code{mysql test < script}'' on the included test case or run the -shell or perl script that is included in the bug report. All bugs -posted on the @code{bugs} list will be corrected or documented in the next -MySQL release! If there are only small code changes involved -to correct this problem, we will also post a patch that fixes the -problem. - -If you have found a sensitive security bug in MySQL, you should send an -e-mail to @email{security@@mysql.com}. - -Remember that it is possible to respond to a message containing too much -information, but not to one containing too little. Often people omit facts -because they think they know the cause of a problem and assume that some -details don't matter. A good principle is: if you are in doubt about stating -something, state it! It is a thousand times faster and less troublesome to -write a couple of lines more in your report than to be forced to ask again -and wait for the answer because you didn't include enough information the -first time. - -The most common errors are that people don't indicate the version number of -the MySQL distribution they are using, or don't indicate what -platform they have MySQL installed on (including the platform -version number). This is highly relevant information, and in 99 cases out of -100 the bug report is useless without it! Very often we get questions like, -``Why doesn't this work for me?'' then we find that the feature -requested wasn't implemented in that MySQL version, or that a bug -described in a report has been fixed already in newer MySQL -versions. Sometimes the error is platform dependent; in such cases, it is -next to impossible to fix anything without knowing the operating system and -the version number of the platform. - -Remember also to provide information about your compiler, if it is related to -the problem. Often people find bugs in compilers and think the problem is -MySQL-related. Most compilers are under development all the time and -become better version by version. To determine whether or not your -problem depends on your compiler, we need to know what compiler is used. -Note that every compiling problem should be regarded as a bug report and -reported accordingly. - -It is most helpful when a good description of the problem is included in the -bug report. That is, a good example of all the things you did that led to -the problem and the problem itself exactly described. The best reports are -those that include a full example showing how to reproduce the bug or -problem. @xref{Reproduceable test case}. - -If a program produces an error message, it is very important to include the -message in your report! If we try to search for something from the archives -using programs, it is better that the error message reported exactly matches -the one that the program produces. (Even the case should be observed!) -You should never try to remember what the error message was; instead, copy -and paste the entire message into your report! - -If you have a problem with MyODBC, you should try to generate a MyODBC -trace file. @xref{MyODBC bug report}. - -Please remember that many of the people who will read your report will -do so using an 80-column display. When generating reports or examples -using the @code{mysql} command line tool, you should therefore use -the @code{--vertical} option (or the @code{\G} statement terminator) -for output that would exceed the available width for such a display -(for example, with the @code{EXPLAIN SELECT} statement; see the -example below). - -@cindex bug reports, criteria for -Please include the following information in your report: - -@itemize @bullet -@item -The version number of the MySQL distribution you are using (for -example, MySQL Version 3.22.22). You can find out which version you -are running by executing @code{mysqladmin version}. @code{mysqladmin} can be -found in the @file{bin} directory under your MySQL installation -directory. - -@item -The manufacturer and model of the machine you are working on. - -@item -The operating system name and version. For most operating systems, you can -get this information by executing the Unix command @code{uname -a}. - -@item -Sometimes the amount of memory (real and virtual) is relevant. If in doubt, -include these values. - -@item -If you are using a source distribution of MySQL, the name and -version number of the compiler used is needed. If you have a binary -distribution, the distribution name is needed. - -@item -If the problem occurs during compilation, include the exact error -message(s) and also a few lines of context around the offending code in the -file where the error occurred. - -@item -If @code{mysqld} died, you should also report the query that crashed -@code{mysqld}. You can usually find this out by running @code{mysqld} with -logging enabled. @xref{Using log files}. - -@item -If any database table is related to the problem, include the output from -@code{mysqldump --no-data db_name tbl_name1 tbl_name2 ...}. This is very easy -to do and is a powerful way to get information about any table in a database -that will help us create a situation matching the one you have. - -@item -For speed-related bugs or problems with @code{SELECT} statements, you should -always include the output of @code{EXPLAIN SELECT ...}, and at least the -number of rows that the @code{SELECT} statement produces. The more -information you give about your situation, the more likely it is that someone -can help you! For example, the following is an example of a very good bug -report (it should of course be posted with the @code{mysqlbug} script): - -Example run using the @code{mysql} command line tool (note the use of the -@code{\G} statement terminator for statements whose output width would -otherwise exceed that of an 80-column display device): - -@example -mysql> SHOW VARIABLES; -mysql> SHOW COLUMNS FROM ...\G - <output from SHOW COLUMNS> -mysql> EXPLAIN SELECT ...\G - <output from EXPLAIN> -mysql> FLUSH STATUS; -mysql> SELECT ...; - <A short version of the output from SELECT, - including the time taken to run the query> -mysql> SHOW STATUS; - <output from SHOW STATUS> -@end example - -@item -If a bug or problem occurs while running @strong{mysqld}, try to provide an -input script that will reproduce the anomaly. This script should include any -necessary source files. The more closely the script can reproduce your -situation, the better. If you can make a reproduceable test case, you should -post this to @email{bugs@@lists.mysql.com} for a high priority treatment! - -If you can't provide a script, you should at least include the output -from @code{mysqladmin variables extended-status processlist} in your mail to -provide some information of how your system is performing! - -@item -If you can't produce a test case in a few rows, or if the test table -is too big to be mailed to the mailing list (more than 10 rows), you should -dump your tables using @code{mysqldump} and create a @file{README} file -that describes your problem. - -Create a compressed archive of your files using -@code{tar} and @code{gzip} or @code{zip}, and use @code{ftp} to transfer the -archive to @uref{ftp://support.mysql.com/pub/mysql/secret/}. Then send a -short description of the problem to @email{bugs@@lists.mysql.com}. - -@item -If you think that MySQL produces a strange result from a query, -include not only the result, but also your opinion of what the result -should be, and an account describing the basis for your opinion. - -@item -When giving an example of the problem, it's better to use the variable names, -table names, etc., that exist in your actual situation than to come up with -new names. The problem could be related to the name of a variable or table! -These cases are rare, perhaps, but it is better to be safe than sorry. -After all, it should be easier for you to provide an example that uses your -actual situation, and it is by all means better for us. In case you have data -you don't want to show to others, you can use @code{ftp} to transfer it to -@uref{ftp://support.mysql.com/pub/mysql/secret/}. If the data are really top -secret and you don't want to show them even to us, then go ahead and provide -an example using other names, but please regard this as the last choice. - -@item -Include all the options given to the relevant programs, if possible. For -example, indicate the options that you use when you start the @code{mysqld} -daemon and that you use to run any MySQL client programs. The -options to programs like @code{mysqld} and @code{mysql}, and to the -@code{configure} script, are often keys to answers and are very relevant! -It is never a bad idea to include them anyway! If you use any modules, such -as Perl or PHP, please include the version number(s) of those as well. - -@item -If your question is related to the privilege system, please include the -output of @code{mysqlaccess}, the output of @code{mysqladmin reload}, and all -the error messages you get when trying to connect! When you test your -privileges, you should first run @code{mysqlaccess}. After this, execute -@code{mysqladmin reload version} and try to connect with the program that -gives you trouble. @code{mysqlaccess} can be found in the @file{bin} -directory under your MySQL installation directory. - -@item -If you have a patch for a bug, that is good, but don't assume the patch is -all we need, or that we will use it, if you don't provide some necessary -information, such as test cases showing the bug that your patch fixes. We -might find problems with your patch or we might not understand it at all; if -so, we can't use it. - -If we can't verify exactly what the patch is meant for, we won't use it. -Test cases will help us here. Show that the patch will handle all the -situations that may occur. If we find a borderline case (even a rare one) -where the patch won't work, it may be useless. - -@item -Guesses about what the bug is, why it occurs, or what it depends on, -are usually wrong. Even the MySQL team can't guess such things -without first using a debugger to determine the real cause of a bug. - -@item -Indicate in your mail message that you have checked the reference manual -and mail archive so others know that you have tried to solve the -problem yourself. - -@item -If you get a @code{parse error}, please check your syntax closely! If -you can't find something wrong with it, it's extremely likely that your -current version of MySQL doesn't support the query you are -using. If you are using the current version and the manual at -@uref{http://www.mysql.com/documentation/manual.php} doesn't cover the -syntax you are using, MySQL doesn't support your query. In this -case, your only options are to implement the syntax yourself or e-mail -@email{mysql-licensing@@mysql.com} and ask for an offer to implement it! - -If the manual covers the syntax you are using, but you have an older version -of MySQL, you should check the MySQL change history to see -when the syntax was implemented. In this case, you have the option of -upgrading to a newer version of MySQL. @xref{News}. - -@item -If you have a problem such that your data appears corrupt or you get -errors when you access some particular table, you should first check and then -try repairing your tables with @code{myisamchk} or @code{CHECK TABLE} and -@code{REPAIR TABLE}. @xref{MySQL Database Administration}. - -@item -If you often get corrupted tables you should try to find out when and why this -happens! In this case, the @file{mysql-data-directory/'hostname'.err} file -may contain some information about what happened. @xref{Error log}. Please -include any relevant information from this file in your bug report! Normally -@code{mysqld} should @strong{NEVER} crash a table if nothing killed it in the -middle of an update! If you can find the cause of @code{mysqld} dying, -it's much easier for us to provide you with a fix for the problem! -@xref{What is crashing}. - -@item -If possible, download and install the most recent version of MySQL -and check whether or not it solves your problem. All versions of -MySQL are thoroughly tested and should work without problems! We -believe in making everything as backward compatible as possible, and you -should be able to switch MySQL versions in minutes! -@xref{Which version}. -@end itemize - -@cindex technical support, mailing address -@cindex support, mailing address -@cindex customer support, mailing address -@cindex mailing address, for customer support -If you are a support customer, please cross-post the bug report to -@email{mysql-support@@mysql.com} for higher priority treatment, as well as to -the appropriate mailing list to see if someone else has experienced (and -perhaps solved) the problem. - -For information on reporting bugs in @strong{MyODBC}, see @ref{ODBC Problems}. - -For solutions to some common problems, see @xref{Problems}. - -When answers are sent to you individually and not to the mailing list, -it is considered good etiquette to summarize the answers and send the -summary to the mailing list so that others may have the benefit of -responses you received that helped you solve your problem! - - -@node Answering questions, , Bug reports, Questions -@subsubsection Guidelines for Answering Question on the Mailing List - -@cindex net etiquette -@cindex questions, answering -@cindex answering questions, etiquette -@cindex mailing lists, guidelines - -If you consider your answer to have broad interest, you may want to post it -to the mailing list instead of replying directly to the individual who -asked. Try to make your answer general enough that people other than the -original poster may benefit from it. When you post to the list, please make -sure that your answer is not a duplication of a previous answer. - -Try to summarize the essential part of the question in your reply; don't feel -obliged to quote the entire original message. - -Please don't post mail messages from your browser with HTML mode turned on! -Many users don't read mail with a browser! - - @node Compatibility, Comparisons, MySQL Information Sources, Introduction @section How Standards-compatible Is MySQL? @@ -4507,7 +4548,7 @@ For platform-specific bugs, see the sections about compiling and porting. * Compare PostgreSQL:: How MySQL compares with PostgreSQL @end menu -This section compares MySQL to other popular databases. +This section compares MySQL to other databases. This section has been written by the MySQL developers, so it should be read with that in mind. There are no factual errors contained |