若要從標準原始碼發行版安裝 MySQL
請確認您的系統符合第 2.8.2 節,「原始碼安裝先決條件」中列出的工具需求。
使用第 2.1.3 節,「如何取得 MySQL」中的指示取得發行版檔案。
使用本節中的指示設定、建置與安裝發行版。
使用第 2.9 節,「安裝後設定與測試」中的指示執行安裝後程序。
MySQL 在所有平台上都使用 CMake 作為建置架構。此處提供的指示應能讓您產生可運作的安裝。如需更多關於使用 CMake 建置 MySQL 的資訊,請參閱如何使用 CMake 建置 MySQL 伺服器。
如果您從原始碼 RPM 開始,請使用下列命令建立您可以安裝的二進位 RPM。如果您沒有 rpmbuild,請改用 rpm。
$> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm
結果會是一或多個二進位 RPM 套件,您可以如第 2.5.4 節,「在 Linux 上使用 Oracle 的 RPM 套件安裝 MySQL」中所示安裝。
從壓縮的 tar 檔案或 Zip 封存檔原始碼發行版安裝的順序,類似於從通用二進位發行版安裝的程序 (請參閱第 2.2 節,「在 Unix/Linux 上使用通用二進位檔安裝 MySQL」),差別在於它用於所有平台,並且包含設定與編譯發行版的步驟。例如,在 Unix 上使用壓縮的 tar 檔案原始碼發行版,基本安裝命令順序如下
# Preconfiguration setup
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
$> tar zxvf mysql-VERSION.tar.gz
$> cd mysql-VERSION
$> mkdir bld
$> cd bld
$> cmake ..
$> make
$> make install
# End of source-build specific instructions
# Postinstallation setup
$> cd /usr/local/mysql
$> mkdir mysql-files
$> chown mysql:mysql mysql-files
$> chmod 750 mysql-files
$> bin/mysqld --initialize --user=mysql
$> bin/mysqld_safe --user=mysql &
# Next command is optional
$> cp support-files/mysql.server /etc/init.d/mysql.server
以下顯示更詳細的原始碼建置特定指示。
此處顯示的程序不會為 MySQL 帳戶設定任何密碼。依照程序操作後,請繼續執行第 2.9 節,「安裝後設定與測試」,進行安裝後設定與測試。
在 Unix 上,設定擁有資料庫目錄,且應該用於執行 MySQL 伺服器的 mysql
使用者,以及此使用者所屬的群組。如需詳細資訊,請參閱建立 mysql 使用者與群組。然後,以 mysql
使用者執行下列步驟,但另有註明的情況除外。
挑選您要解壓縮發行版的目錄,並變更位置進入該目錄。
使用第 2.1.3 節,「如何取得 MySQL」中的指示取得發行版檔案。
將發行版解壓縮至目前目錄
若要解壓縮壓縮的 tar 檔案,如果 tar 具有
z
選項支援,則可以解壓縮並解壓縮發行版$> tar zxvf mysql-VERSION.tar.gz
如果您的 tar 沒有
z
選項支援,請使用 gunzip 解壓縮發行版,並使用 tar 解壓縮$> gunzip < mysql-VERSION.tar.gz | tar xvf -
或者,CMake 可以解壓縮並解壓縮發行版
$> cmake -E tar zxvf mysql-VERSION.tar.gz
若要解壓縮 Zip 封存檔,請使用 WinZip 或其他可以讀取
.zip
檔案的工具。
解壓縮發行版檔案會建立一個名為 mysql-
的目錄。VERSION
變更位置進入已解壓縮發行版的頂層目錄
$> cd mysql-VERSION
在原始碼樹狀結構外部進行建置,以保持樹狀結構乾淨。如果頂層原始碼目錄在您目前的工作目錄下名為 mysql-src
,您可以在同層級名為 build
的目錄中進行建置。建立該目錄並前往該目錄
$> mkdir bld
$> cd bld
設定建置目錄。最小設定命令不包含任何選項來覆寫組態預設值
$> cmake ../mysql-src
建置目錄不必在原始碼樹狀結構外部。例如,您可以在頂層原始碼樹狀結構下名為 build
的目錄中進行建置。若要執行此動作,請從 mysql-src
作為您目前的工作目錄開始,建立目錄 build
,然後前往該目錄
$> mkdir build
$> cd build
設定建置目錄。最小設定命令不包含任何選項來覆寫組態預設值
$> cmake ..
如果您在同一層級有多個原始碼樹狀結構(例如,要建置多個版本的 MySQL),第二種策略可能更具優勢。第一種策略會將所有建置目錄放在同一層級,這會要求您為每個目錄選擇一個唯一的名稱。使用第二種策略,您可以在每個原始碼樹狀結構中使用相同的建置目錄名稱。以下說明假設使用第二種策略。
在 Windows 上,請指定開發環境。例如,以下命令分別設定 MySQL 以進行 32 位元或 64 位元的建置
$> cmake .. -G "Visual Studio 12 2013"
$> cmake .. -G "Visual Studio 12 2013 Win64"
在 macOS 上,要使用 Xcode IDE
$> cmake .. -G Xcode
當您執行 Cmake 時,您可能需要在命令列中新增選項。以下是一些範例
-DBUILD_CONFIG=mysql_release
:使用與 Oracle 用於產生官方 MySQL 發行版的二進位發行版相同的建置選項來設定原始碼。-DCMAKE_INSTALL_PREFIX=
:設定要在特定位置下安裝的發行版。目錄名稱
-DCPACK_MONOLITHIC_INSTALL=1
:使 make package 產生單一安裝檔案,而不是多個檔案。-DWITH_DEBUG=1
:建置具有偵錯支援的發行版。
如需更多選項的完整清單,請參閱第 2.8.7 節「MySQL 原始碼設定選項」。
要列出設定選項,請使用下列其中一個命令
$> cmake .. -L # overview
$> cmake .. -LH # overview with help text
$> cmake .. -LAH # all params with help text
$> ccmake .. # interactive display
如果 CMake 失敗,您可能需要使用不同的選項重新執行它來重新設定。如果您重新設定,請注意以下事項
如果 CMake 在先前執行過之後執行,它可能會使用先前執行期間收集到的資訊。此資訊儲存在
CMakeCache.txt
中。當 CMake 啟動時,它會尋找該檔案,如果該檔案存在,則會讀取其內容,並假設該資訊仍然正確。當您重新設定時,該假設是無效的。每次執行 CMake 時,您都必須再次執行 make 以重新編譯。但是,您可能需要先移除先前建置中的舊目標檔案,因為它們是使用不同的設定選項編譯的。
為防止使用舊的目標檔案或設定資訊,請在重新執行 CMake 之前,在 Unix 的建置目錄中執行這些命令
$> make clean
$> rm CMakeCache.txt
或者,在 Windows 上
$> devenv MySQL.sln /clean
$> del CMakeCache.txt
在 MySQL Community Slack 上提問之前,請檢查 CMakeFiles
目錄中的檔案,以尋找有關失敗的有用資訊。要提交錯誤報告,請使用第 1.6 節「如何回報錯誤或問題」中的說明。
在 Unix 上
$> make
$> make VERBOSE=1
第二個命令將 VERBOSE
設定為顯示每個編譯原始碼的命令。
在您使用 GNU make 且已安裝為 gmake 的系統上,請改用 gmake。
在 Windows 上
$> devenv MySQL.sln /build RelWithDebInfo
如果您已進入編譯階段,但發行版無法建置,請參閱第 2.8.8 節「處理編譯 MySQL 的問題」以尋求協助。如果這樣無法解決問題,請使用第 1.6 節「如何回報錯誤或問題」中提供的說明將其輸入我們的錯誤資料庫中。如果您已安裝所需工具的最新版本,並且它們在嘗試處理我們的設定檔時當機,也請回報。但是,如果您收到所需工具的 command not found
錯誤或類似問題,請勿回報。相反地,請確定已安裝所有所需的工具,並且您的 PATH
變數設定正確,以便您的 Shell 可以找到它們。
在 Unix 上
$> make install
這會將檔案安裝在已設定的安裝目錄下(預設為 /usr/local/mysql
)。您可能需要以 root
身分執行命令。
若要在特定目錄中安裝,請在命令列中新增 DESTDIR
參數
$> make install DESTDIR="/opt/mysql"
或者,產生您可以安裝在任何位置的安裝套件檔案
$> make package
此操作會產生一個或多個 .tar.gz
檔案,這些檔案可以像通用二進位發行套件一樣安裝。請參閱第 2.2 節「使用通用二進位檔案在 Unix/Linux 上安裝 MySQL」。如果您使用 -DCPACK_MONOLITHIC_INSTALL=1
執行 CMake,則此操作會產生單一檔案。否則,它會產生多個檔案。
在 Windows 上,產生資料目錄,然後建立 .zip
封存安裝套件
$> devenv MySQL.sln /build RelWithDebInfo /project initial_database
$> devenv MySQL.sln /build RelWithDebInfo /project package
您可以將產生的 .zip
封存安裝在任何位置。請參閱第 2.3.3 節「設定:手動」。
其餘的安裝過程包括設定設定檔、建立核心資料庫和啟動 MySQL 伺服器。如需說明,請參閱第 2.9 節「安裝後設定和測試」。
MySQL 授權表格中列出的帳戶最初沒有密碼。在啟動伺服器後,您應使用第 2.9 節「安裝後設定和測試」中的說明為它們設定密碼。