Our bugs database is public, and can be browsed and searched by anyone at http://bugs.mysql.com/. If you log into the system, you will also be able to enter new reports.
Writing a good bug report takes patience, but doing it right the first time saves time both for us and for yourself. A good bug report, containing a full test case for the bug, makes it very likely that we will fix the bug in the next release. This section will help you write your report correctly so that you don't waste your time doing things that may not help us much or at all.
We encourage everyone to use the mysqlbug
script to generate a bug
report (or a report about any problem). mysqlbug
can be
found in the `scripts' directory (source distribution) and in the
`bin' directory under your MySQL installation directory (binary distribution).
If you are unable to use mysqlbug
(for instance, if you are running
on Windows), it is still vital that you include all the necessary information
noted in this section (most importantly a description of the operating system
and the MySQL version).
The mysqlbug
script helps you generate a report by determining much
of the following information automatically, but if something important is
missing, please include it with your message. Please read this section
carefully and make sure that all the information described here is included
in your report.
Preferably, you should test the problem using the latest production or
development version of MySQL Server before posting. Anyone should be
able to repeat the bug by just using 'mysql test < script
' on the
included test case or run the shell or Perl script that is included in the
bug report.
All bugs posted in the bugs database or on the bugs@lists.mysql.com list will be corrected or documented in the next MySQL release. If only minor code changes are needed to correct a problem, we will also post a patch that fixes the problem.
The normal place to report bugs is http://bugs.mysql.com/.
If you have found a sensitive security bug in MySQL, please send an e-mail to security@mysql.com.
If you have a repeatable bug report, please report this into the bugs
database at http://bugs.mysql.com/. Note that even in this case
it's good to run the mysqlbug
script first to find information
about your system. Any bug that we are able to repeat has a high chance
of being fixed in the next MySQL release.
To report other problem, you can use mysql@lists.mysql.com.
Remember that it is possible for us to respond to a message containing too much information, but not to one containing too little. People often 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 made in bug reports are (a) not including the version number of the MySQL distribution used and (b) not fully describing the platform on which the MySQL server is installed (including the platform type and 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 already been fixed in newer MySQL versions. Sometimes the error is platform-dependent; in such cases, it is next to impossible for us 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 your problem depends on your compiler, we need to know what compiler you use. Note that every compiling problem should be regarded as a bug and reported accordingly.
It is most helpful when a good description of the problem is included in the bug report. That is, give a good example of all the things you did that led to the problem and describe, in exact detail, the problem itself. The best reports are those that include a full example showing how to reproduce the bug or problem. See section E.1.6 Making a Test Case If You Experience Table Corruption.
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, please try to generate a MyODBC trace file and send it with your report. See section 9.2.7 Reporting Problems with MyODBC.
Please remember that many of the people who will read your report will
do so using an 80-column display. When generating reports or examples
using the mysql
command-line tool, you should therefore use
the --vertical
option (or the \G
statement terminator)
for output that would exceed the available width for such a display
(for example, with the EXPLAIN SELECT
statement; see the
example later in this section).
Please include the following information in your report:
mysqladmin version
. mysqladmin
can be
found in the `bin' directory under your MySQL installation
directory.
uname -a
. If
you work with Windows, you can usually get the name and version number
by double-clicking your ''My Computer'' icon and pulling down the ''Help/About Windows''
menu.
mysqld
died, you should also report the query that crashed
mysqld
. You can usually find this out by running mysqld
with
logging enabled. See section E.1.5 Using Log Files to Find Cause of Errors in mysqld.
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.
The information will help us create a situation matching the one you have.
SELECT
statements, you
should always include the output of EXPLAIN SELECT ...
, and at
least the number of rows that the SELECT
statement produces. You
should also include the output from SHOW CREATE TABLE tbl_name
for each involved table. The more information you give about your
situation, the more likely it is that someone can help you. The following
is an example of a very good bug report (it
should of course be posted with the mysqlbug
script).
Example run using the mysql
command-line tool (note the use of the
\G
statement terminator for statements whose output width would
otherwise exceed that of an 80-column display device):
mysql> SHOW VARIABLES; mysql> SHOW COLUMNS FROM ...\G <output from SHOW COLUMNS> mysql> EXPLAIN SELECT ...\G <output from EXPLAIN> mysql> FLUSH STATUS; mysql> SELECT ...; <A short version of the output from SELECT, including the time taken to run the query> mysql> SHOW STATUS; <output from SHOW STATUS>
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 reproducible test case, you should
post it on http://bugs.mysql.com/ for high-priority treatment.
If you can't provide a script, you should at least include the output
from mysqladmin variables extended-status processlist
in your mail to
provide some information on how your system is performing.
mysqldump
and create a `README' file
that describes your problem.
Create a compressed archive of your files using
tar
and gzip
or zip
, and use ftp
to transfer the
archive to ftp://support.mysql.com/pub/mysql/secret/. Then enter
the problem into our bugs database at http://bugs.mysql.com/.
ftp
to transfer it to
ftp://support.mysql.com/pub/mysql/secret/. If the data is really top
secret and you don't want to show it even to us, then go ahead and provide
an example using other names, but please regard this as the last choice.
mysqld
daemon as well as the options that you use to run any MySQL client programs. The
options to programs like mysqld
and mysql
, and to the
configure
script, are often keys to answers and are very relevant.
It is never a bad idea to include them. If you use any modules, such
as Perl or PHP, please include the version number(s) of those as well.
mysqlaccess
, the output of mysqladmin reload
, and all
the error messages you get when trying to connect. When you test your
privileges, you should first run mysqlaccess
. After this, execute
mysqladmin reload version
and try to connect with the program that
gives you trouble. mysqlaccess
can be found in the `bin'
directory under your MySQL installation directory.
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 Server doesn't support the syntax you are
using. If you are using the current version and the manual at
http://www.mysql.com/doc/ doesn't cover the
syntax you are using, MySQL Server doesn't support your query. In this
case, your only options are to implement the syntax yourself or e-mail
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 Server, 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 Server. See section D MySQL Change History.
myisamchk
or CHECK TABLE
and
REPAIR TABLE
. See section 4 Database Administration.
mysqld
should never crash a table if nothing killed it in the
middle of an update. If you can find the cause of mysqld
dying,
it's much easier for us to provide you with a fix for the problem.
See section A.1 How to Determine What Is Causing Problems.
If you are a support customer, please cross-post the bug report to mysql-support@mysql.com for higher-priority treatment, as well as to the appropriate mailing list to see if someone else has experienced (and perhaps solved) the problem.
For information on reporting bugs in MyODBC
, see section 9.2.4 How to Report Problems with MyODBC.
For solutions to some common problems, see section A Problems and Common Errors.
When answers are sent to you individually and not to the mailing list, it is considered good etiquette to summarise 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.
Posted by Poul-Erik Hansen on Friday March 14 2003, @2:48am | [Delete] [Edit] |
Can we make a compile hints file/list ?
To compile to redhat 8.0 use this options:
./configure --prefix=/usr --with-unix-socket-path=/var/lib/mysql/mysql.sock