譯者:晏子 (clyan@sohu.com)
GB 碼主頁:http://linuxdb.yeah.net
Big5 轉碼者:statue
(statue@bbs.yzu.edu.tw)
詞彙轉換:彭武興 (wilson@mailbox.com.tw)
Big5 碼主頁:
http://cnpa.yzu.edu.tw/~cfc/docs/mysqldoc_big5/manual_toc.html
Big5 碼分站:
http://php.wilson.gs/mysqldoc/big5/manual_toc.html
要訂閱主 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 模式的瀏覽器投寄郵件消息!許多使用者不用瀏覽器讀郵件!