- 2.8.1. 源碼安裝概述
- 2.8.2. 典型配置選項
- 2.8.3. 從開發源碼樹安裝
- 2.8.4. 處理MySQL編譯問題
- 2.8.5. MIT-pthreads注意事項
- 2.8.6. 在Windows下從源碼安裝MySQL
- 2.8.7. 在Windows下編譯MySQL客戶端
安裝源碼之前,首先檢查我們的二進制是否適合你的平臺,是否可以工作。我們做了大量的工作確保我們的二進制用最合適的選項來構建。
要獲得MySQLa 源碼分發版,參見2.1.3節,“怎樣獲得MySQL”。
MySQL源碼分發版為tar壓縮文件,文件名格式為mysql-VERSION.tar.gz,其中 VERSION是版本號,例如5.1.2-alpha。
你需要下列工具構造并安裝MySQL源碼:
· GNU gunzip解壓縮該分發版。
· 一個適當的tar解包分發版。GNU tar已知可以。一些操作系統中含有預安裝的tar,已知有問題。例如,已知Mac OS X tar和Sun tar對于長文件名有問題。在Mac OS X中,你可以使用預安裝的gnutar程序。在其它系統中若tar不完善,你應當首先安裝GNU tar。
· 一個能工作的ANSI C++編譯器。gcc> = 2.95.2、egcs> = 1.0.2或egcs 2.91.66、SGI C++和SunPro C++是一些已知能工作的編譯器。當使用gcc時,不需要libg++。gcc2.7.x有一個缺陷,使得它可能不能編譯一些完全合法的C++文件,例如“sql/sql_base.cc”。如果你僅有gcc2.7.x,你必須升級gcc才能編譯MySQL。已知gcc 2.8.1在某些平臺上有一些問題,因此如果平臺上有新的編譯器,則不要使用gcc 2.8.1。
編譯MySQL 3.23.x時,建議使用gcc 2.95.2或更新版。
· 一個優秀的make程序。總是推薦GNU make且有時必須使用。如果你有問題,我們推薦試一試GNU make3.75或更新版。
如果你使用的gcc版本足夠新,可以識別-fno-exceptions選項,則使用該選項非常重要。否則,你編譯二進制時出現問題。我們建議你同時使用-felide-constructors和-fno-rtti選項。當有疑問時,執行下面操作:
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors
-fno-exceptions -fno-rtti" ./configure
--prefix=/usr/local/mysql --enable-assembler
--with-mysqld-ldflags=-all-static
在大多數系統中,可以得到快速、穩定的二進制。
如果你遇到問題,在把問題郵寄到MySQL郵件目錄時,請總是使用mysqlbug,就算問題不是一個缺陷,mysqlbug收集系統信息,將有助于其它人解決你的問題。不使用mysqlbug,你將減少得到問題的解決方案的可能性!在解包分發版后,你會在“bin”目錄下找到mysqlbug。請參見1.7.1.3節,“如何通報缺陷和問題”。