译者:晏子 (clyan@sohu.com) 主页:http://linuxdb.yeah.net
要订阅主 MySQL 邮件列表,送一条消息到电子邮件地址 mysql-subscribe@lists.mysql.com 。
要退订主 MySQL 邮件列表,送一条消息到电子邮件地址 mysql-unsubscribe@lists.mysql.com 。
只有你发送消息的地址是有意义的,消息的主题行和正文将被忽略。
如果你的回复地址不是有效的,你可以明确地指定地址。把短横加到订阅或退订命令词,随后是你的地址,“@”由一个字符“=”代替。例如,要订阅到john@host.domain,
送一条消息到mysql-subscribe-john=host.domain@lists.mysql.com
。
邮寄到 mysql-subscribe@lists.mysql.com 或 ezmlm 邮件列表处理器。详细信息可在 ezmlm 网点得到。
要想邮寄一条消息到列表本身,发送你的消息到 mysql@lists.mysql.com
。然而,请千万不要将关于订阅或退订的邮件发到mysql@lists.mysql.com ,因为送到该地址的任何邮件被自动地被散发到上千个其他用户。
你本地的网站可能有很多 mysql@lists.mysql.com 的订户,如果这样,也可能有一个本地邮件列表,以便使从 lists.mysql.com
发到你网站的消息被传送到你的本地列表。在这种情况下,请联系你的系统主管加入本地 MySQL 列表和从其中删除。
已有下列 MySQL 邮件列表:
announce
mysql
mysql digest
mysql
列表,这意味着你得到所有单个消息,作为一个大邮件一天发送一次。java
java digest
java
列表。win32
win32 digest
win32
表。myodbc
myodbc digest
myodbc
列表。msql-mysql-modules
msql-mysql-modules-digest
msql-mysql-modules
列表。developer
developer digest
developer
列表.你可用上述的方法订阅或退订所有列表。在你的订阅或退订消息中,只是放入不是mysql
的适当邮件列表名。
例如,订阅或退订myodbc
列表,送一条消息到(原文未提供)。
在邮寄一份错误报告或问题前,请按下列步骤做:
http://www.mysql.com/Manual_chapter/manual_toc.html
我们通过经常以新发现的问题的解决方法更新手册,努力使它是最新的!
http://www.mysql.com/doc.html
如果你不能在手册或档案发现答案,检查你本地的 MySQL 专家。如果你仍然不能发现你问题的答案,继续读下一节关于怎样发送邮件到 (原文未提供)。
写一份好的错误报告需要耐心,但是第一次就做得正确可节省你我的时间。本节将帮助你正确撰写你的报告,以使你不浪费时间,也可能做一些根本不能帮助我们的事情。
如果可能的话,我们鼓励每个人使用 mysqlbug
脚本产生一份错误报告(或关于任何问题的一份报告)。mysqlbug
可在源代码分发或二进制分发的 MySQL安装目录下的'bin'目录中的'scripts'
目录下找到。如果你不能使用mysqlbug,
你仍然应该包括在本节列出的所有必要的信息。
mysqlbug
脚本通过自动确定下列很多信息来帮助你生成一份报告,但是如果一些重要的东西不见了,请在你的消息中包含它!请仔细阅读本节并且保证这里描述的所有信息包含在你的报告中。
要记住,有可能回复一条包含太多的信息消息,但不回复包含极少信息的消息,因为人们认为他们知道一个问题的原因并且假设某些细节无所谓,所以他们常常忽略事实。一个好的原则是:如果你怀疑所说的事情,继续说!在你的报告中写上几行,比因为第一次没有包含足够的信息而被迫追问和等待答案要快上千倍,而且少些麻烦。
最常见的错误是人们不指出他们正在使用的MySQL分发的版本号,或不指出在什么平台上平台安装了 MySQL (包括平台版本号)。这是极其相关的信息,并且没有它99%错误报告是无用的!我们经常得到这样的提问“为什么它不给我工作?”,然后我们发现所需的功能还没有在该版本的 MySQL 中实现,或在一份报告中描述的一个错误已经在更新的MySQL 版本修正了。有时错误是依赖于平台,在这种情况下,不知道平台操作系统和版本号根本不可能修正任何东西。
还要记住,要提供你的编译器信息,如果它与问题有关。人们经常发现错在编译器而认为MySQL的问题。大多数编译器始终都在开发中并且随版本也逐渐变得更好。为了确定决定你的问题是否依赖于你的编译器,我们需要知道使用什么编译器。注意每个编译器得问题应该被认为是一个错误,因此要报告。
在错误报告中包含一个问题的完好描述是最有帮助的。即,你所做的导致这个问题的一个好的例子和确切描述的问题本身。最好的报告是包括显示如何再次产生错误或问题的一个完整例子。
如果一个程序产生一条错误信息,非常重要的是在你的错误报告中要包含它!如果我们试着从使用程序的档案中找一些东西,最好是报告的错误消息精确地匹配程序所产生的。(甚至注意大小写!)你决不应该试图记住错误消息是什么,相反,将全部消息拷贝并且粘贴进你的报告中!
如果你有一个MyODBC问题,你应该尝试产生一个 MyODBC 跟踪文件,详见16.6 报告 MyODBC的问题.
请记住,将要阅读你报告的人有很多使用80列显示。在产生报告或使用mysql
命令行工具的例子时,你应该为那些可能超出显示可用宽度的输出(例如,EXPLAIN
SELECT
语句,见下面的例子)使用--vertical
选项(或\G
语句终止符)。
请在你的报告中包括下列信息:
mysqladmin
version
找到你正在运行哪个版本。mysqladmin
可以在你的MySQL安装目录的'bin'目录下面找到。uname -a
得到有关信息。 mysqldump --db_name tbl_name1 tbl_name2 …
的输出结果。这是很容易做到的,并且它是一个获得有关任何数据库表信息的有效方法,将帮助我们创造一个匹配你所遇到问题的环境。SELECT
语句有关的问题,你总是应该包括EXPLAIN
SELECT...
的输出和至少SELECT
语句产生的行数。你给出有关你的情况越多的信息,某些人越能帮助你。例如,下列的例子是一份很好的错误报告(当然它应该用与 mysqlbug
脚本邮寄):运行 mysql
命令行工具的例子(注意对其输出超过80列显示设备的语句使用\G
终止符):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>
mysqladmin variables
extended-status processlist
的输出以提供你的系统怎样运行!ftp
把它上传到ftp://www.mysql.com/pub/mysql/secret/。如果数据确实是高度机密的,甚至不想让我们看到它们,那么继续,并提供使用其它名字的例子,但是请注意这是最后选择。 mysqld
守护程序和运行任何 MySQL 客户程序所使用的选项,对象mysqld
和 mysql
等程序和configure
的选项常常是答案的关键和至关重要的!包括他们绝对不是一个坏主意!如果你使用任何模块,例如Perl或PHP,请也包括它们的版本号。mysqldump
倒出(dump)数据库表并且创建“README”文件描述你的问题,用tar
和gzip
造创建你的文件的一个压缩的档案,并且使用ftp
把档案文件转移到ftp://www.mysql.com/pub/mysql/secret/,然后把问题的简短描述发到mysql@lists.mysql.com 。 mysqlaccess
、mysqladmin reload
的输出和所有尝试连接时得到的错误消息!当你测试你的权限时,你应该首先运行mysqlaccess
。在这以后,执行 mysqladmin reload
version
,最后你应该尝试用你有问题的程序进行连接。 mysqlaccess
可在你的 MySQL 安装目录下的“bin”目录找到。个parse error
,请仔细检查你的语法!如果你不能它发现有什么不对,极有可能是你当前 MySQL 版本不支持你正在使用的查询。如果你正在使用最新版而且 http://www.mysql.com/doc.html 的参考手册没有涉及你正在使用的语法, MySQL 就不支持你的查询。在这种情况下,你唯一的选择是自己实现语法并邮寄过来。如果手册涉及你正在使用的语法,但是你有一个更旧版本的 MySQL ,你应该检查 MySQL 的更新历史来找出语法何时被实现。见D MySQL 变迁历史。这时你有升级到一个更新 MySQL版本的选择。myisamchk
检查然后尝试修复你的数据库表。
见 13 维护 MySQL 安装.
mysqld
,通常应该绝对不破坏数据库表!如果你能找出mysqld为什么
死掉的原因,对于我们,更容易向你提供对问题的修正!如果你是一个支持客户,请直接邮寄错误报告到适当的邮件列表,看看是否有其他人有这个问题的经验(或许已经解决)。
对于报导MyODBC错误的信息,见 16.2 怎样报告 MyODBC 问题。
一些常见问题的答案,见 18 问题和常见的错误。
当答案个别发给你而不是邮件列表时,总结答案并且将总结发到邮件列表以便其它人可以从你收到的帮助你解决问题的答案中受益,这被认为是一个很好的规矩。
如果你认为你的答案引起广泛的兴趣,你可能想要把它寄到邮件列表中而不是直接答复提问的人。试着让你的答案足够普遍,让不是邮寄者的其他人可从它获益。当你邮寄到邮件列表时,请保证你的回答不和以前的答案重复。
尝试总结在你的答复中的问题的主要部分,别感觉不好意思引用全部原文消息。
请不要从有 HTML 模式的浏览器投寄邮件消息!许多用户不用浏览器读邮件!