使用標準源分發安裝MySQL
要從標準源代碼分發安裝MySQL:
驗證您的系統是否滿足“從源安裝MySQL”中列出的工具要求。
使用“如何獲取MySQL”中的說明獲取分發文件 。
使用本節中的說明配置,構建和安裝分發。
使用“安裝後設置和測試”中的說明執行安裝後過程 。
在MySQL 8.0中,CMake用作所有平臺上的構建框架。
從源代碼構建MySQL使您可以自定義構建參數,編譯器優化和安裝位置。有關運行MySQL的系統列表,請參閱https://www.mysql.com/support/supportedplatforms/database.html。
警告
使用非標準選項構建MySQL可能會導致功能,性能或安全性降低。
源安裝方法
從源代碼安裝MySQL有兩種方法:
使用標準的MySQL源代碼分發。要獲得標準分發,請參見第2.1.2節“如何獲取MySQL”。有關從標準分發構建的說明,請參見 第2.9.2節“使用標準源分發安裝MySQL”。
標準發行版可用作壓縮tar文件,Zip 壓縮 文件或RPM包。分發文件有名字的形式 , 或者 ,在那裡是一個數字一樣 。源分發的文件名可以與預編譯的二進制分發的文件名區別開來,因為源分發名稱是通用的並且不包括平臺名稱,而二進制分發名稱包括指示分發所針對的系統類型的平臺名稱(例如, 或)。
mysql-
VERSION
.tar.gzmysql-
VERSION
.zipmysql-
VERSION
.rpmVERSION
8.0.15
pc-linux-i686
winx64
使用MySQL開發源。有關從其中一個開發源構建的信息,請參見 第2.9.3節“使用開發源安裝MySQL”。
源安裝系統要求
從源代碼安裝MySQL需要幾個開發工具。無論您使用標準源代碼分發還是開發源代碼樹,都需要其中一些工具。其他工具要求取決於您使用的安裝方法。
要從源安裝MySQL,無論安裝方法如何,都必須滿足以下系統要求:
CMake,用作所有平臺上的構建框架。CMake可以從 http://www.cmake.org下載。
一個很好的製作程序。雖然某些平臺有自己的make實現,但強烈建議您使用GNU make 3.75或更高版本。它可能已作為gmake在您的系統上提供 。GNU make可從http://www.gnu.org/software/make/獲得。
MySQL 8.0源代碼允許使用C ++ 14特性。要在所有支持的平臺上提供良好的C ++ 14支持,以下最低編譯器版本適用:
GCC 5.3(Linux)
Clang 4.0(FreeBSD)
XCode 9(MacOS)
Developer Studio 12.6(Solaris)
Visual Studio 2017(Windows)
MySQL C API需要C ++或C99編譯器才能編譯。
構建MySQL需要Boost C ++庫(但不能使用它)。MySQL編譯需要特定的Boost版本。通常,這是當前的Boost版本,但如果特定的MySQL源代碼分發需要不同的版本,配置過程將停止,並顯示一條消息,指示它需要的Boost版本。要獲取Boost及其安裝說明,請訪問 官方網站。安裝Boost後,通過
WITH_BOOST
在調用CMake時定義選項 ,告訴構建系統Boost文件所在的位置 。例如:cmake . -DWITH_BOOST=/usr/local/boost_version_number
根據需要調整路徑以匹配您的安裝。
ncurses庫。
足夠的空閒記憶。如果在編譯大型源文件時遇到諸如“ 內部編譯器錯誤 ”之類的問題 ,則可能是內存太少。如果在虛擬機上進行編譯,請嘗試增加內存分配。
如果您打算運行測試腳本,則需要Perl。大多數類Unix系統都包含Perl。在Windows上,您可以使用ActiveState Perl等版本。
要從標準源代碼分發安裝MySQL,需要使用以下工具之一來解壓縮分發文件:
對於
.tar.gz
壓縮的 tar文件:GNUgunzip
來解壓縮分發和合理的 tar來解壓縮它。如果您的 tar程序支持該z
選項,它可以解壓縮和解壓縮文件。已知 GNU tar可以工作。某些操作系統提供的標準 tar無法解析MySQL發行版中的長文件名。您應該下載並安裝GNU tar,或者如果可用,請使用預安裝的GNU tar版本。通常這可以作為 gnutar,gtar或 GNU或自由軟件目錄中的tar使用,例如
/usr/sfw/bin
或/usr/local/bin
。GNU tar 可從 http://www.gnu.org/software/tar/獲得。對於
.zip
Zip存檔: WinZip或其他可以讀取.zip
文件的工具 。對於
.rpm
RPM包:用於構建分發的 rpmbuild程序將其解包。
要從開發源代碼樹安裝MySQL,需要以下附加工具:
需要Git版本控制系統來獲取開發源代碼。在 GitHub的幫助 提供了下載和在不同的平臺上安裝Git的指令。MySQL於2014年9月正式加入GitHub。有關MySQL遷移到GitHub的更多信息,請參閱MySQL Release Engineering博客上的公告:GitHub上的MySQL
bison 2.1或更高版本,可從 http://www.gnu.org/software/bison/獲得。(不再支持版本1.)盡可能使用最新版本的 bison ; 如果遇到問題,請升級到更高版本,而不是恢復到更早版本。
bison可從 http://www.gnu.org/software/bison/獲得。
bison
for Windows可以從 http://gnuwin32.sourceforge.net/packages/bison.htm下載 。下載標有 “ 完整包,不包括來源 ”的包裹。在Windows上, bison的默認位置 是C:\Program Files\GnuWin32
目錄。由於目錄名稱中的空間,某些實用程序可能無法找到 bison。此外,如果路徑中有空格,Visual Studio可能會掛起。您可以通過安裝到不包含空格的目錄來解決這些問題; 例如C:\GnuWin32
。在Solaris Express上,除了bison之外,還必須安裝m4。m4可從http://www.gnu.org/software/m4/獲得。
有關MySQL下載鏡像站點的完整最新列表:可從 https://dev.mysql.com/downloads/mirrors/獲得
按照以上官網所需要求,CentOS 7安裝MySQL 8.0所需環境如下:
CMake #編譯安裝
make 3.75或更高版本 #編譯安裝
GCC 5.3(Linux) #編譯安裝見GCC8.2編譯安裝
Boost C ++庫 #使用mysql-boost自帶
ncurses庫 #yum安裝
bison 2.1或更高版本 #yum安裝
配置MySQL編譯安裝前之環境
#!/bin/sh
yum -y install wget ncurses ncurses-devel bison bison-devel
wget -c -P /opt/tmp/ http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-8.0/mysql-boost-8.0.13.tar.gz
wget -c -P /opt/tmp/ https://cmake.org/files/v3.12/cmake-3.12.4.tar.gz
wget -c -P /opt/tmp/ http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
cd /opt/tmp/
tar zxvf cmake-3.12.4.tar.gz
cd cmake-3.12.4
./bootstrap
gmake
gmake install
cd ../
tar zxvf make-4.2.tar.gz
cd make-4.2
./configure
make
make install
cd ../
rpm -qa|grep make
yum remove make
sed -i '$a export PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"' /etc/profile
source /etc/profile
完成以上配置環境即可正式開始安裝MySQL
安裝Mysql之前應卸載原有的版本
查詢Mysql目錄文件 卸載原有MySQL
# rpm -qa | grep mysql
# find / -name mysql
# yum remove -y mysql*
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> mkdir bld
shell> cd bld
shell> cmake ..
shell> make
shell> make
install# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
shell> bin/mysqld --initialize --user=mysql
shell> bin/mysql_ssl_rsa_setup
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server