top
Loading...
2.12.1.2.Linux二進制分發版說明
2.12.1.2. Linux二進制分發版說明
MySQLLinux-Intel二進制和RPM發布配置為最高的可能速度。我們一直在嘗試使用可用的最快的穩定的編譯器。

二進制發布用-staticis連接,說明一般情況你不需要關心系統庫的版本。你也不需要安裝LinuxThreads。用-staticis連接的程序稍微大于動態連接程序,但也稍微快一些(3-5%)。但是,靜態連接程序的一個問題是你不能使用用戶定義函數(UDF)。如果你將要寫或使用UDF(只適用于CC++ 編程人員),你必須使用動態鏈接自己編譯MySQL

二進制分發版的一個已知問題是在使用libc的舊的Linux系統(例如Red Hat 4.xSlackware)上,你會遇到一些(非致命)主機名解析問題。如果系統使用libc沒有使用glibc2,你可能會遇到一些主機名解析和getpwnam()問題。這是因為glibc依靠一些外部庫來執行主機名解析和getpwent(), 即使用-staticis編譯也如此。這些問題出現在兩個方面:

·         當運行mysql_install_db時,你會看見下面的錯誤消息:

·                Sorry, the host 'xxxx' could not be looked up

你可以通過執行mysql_install_db --force來解決該問題,并不在mysql_install_db中執行resolveip測試。不利方面是 你不能在授權表中使用主機名:除了localhost,必須使用IP號。如果你正使用不支持force的舊版本MySQL,必須使用文本編輯器手動卸載mysql_install中的resolveip測試。

·         當你嘗試用--user選項運行mysqld你還會看見下面的錯誤:

·                getpwnam: No such file or directory

要解決該問題,使用su命令啟動mysqld,不要指定--user選項。這樣使系統自己更改mysqld進程的用戶IDmysqld不再需要這樣做。

另一個解決辦法可以解決兩個問題,即不使用二進制分發版。獲得MySQL源碼分發版(RPMtar.gz格式)并安裝。

在一些Linux 2.2版本中,當客戶端通過TCP/IP建立大量與mysqld服務器的新連接時,你可能會遇到錯誤Resource temporarily unavailable。該問題是Linux在你關閉TCP/IP套接字的時間和系統實際釋放該套接字的時間之間有一個延遲。只有有限數目的TCP/IP時段有空間,因此如果客戶端試圖在短時間內建立許多新TCP/IP連接時,你會遇到源不可用錯誤。例如,當你通過TCP/IP運行MySQL test-connect基準測試時你會看見該錯誤。

我們已經多次向不同的 Linux 郵件列表詢問該問題,但是一直沒有找到合適的解決辦法。唯一知道的“解決辦法”是客戶端使用永久連接,或,如果你在同一機器上運行數據庫服務器和客戶端,使用Unix套接字文件來連接,不要使用TCP/IP連接。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗