Oracle提供了一組MySQL的二進制發行版,這些包括用於許多平臺的壓縮tar文件(擴展名爲.tar.xz
的文件)形式的通用二進制發行版,以及針對所選平臺的特定於平臺的包格式的二進制文件。html
本節介紹在Unix/Linux平臺上從壓縮的tar文件二進制發行版安裝MySQL,有關其餘特定於平臺的二進制包格式,請參閱本手冊中其餘特定於平臺的部分。mysql
MySQL壓縮的tar文件二進制發行版具備mysql-VERSION-OS.tar.xz
形式的名稱,其中VERSION是一個數字(例如,8.0.19),以及OS表示發新版所針對的操做系統的類型(例如,pc-linux-i686
或winx64
)。linux
還有用於Linux通用二進制發行版的MySQL壓縮tar文件的「最小安裝」版本,其名稱形式爲mysql-VERSION-OS-minimal.tar.xz
,最小安裝發行版不包括調試二進制文件,而且剝離了debug標記,使其明顯小於常規二進制發行版。若是你選擇安裝最小安裝發行版,請記住在隨後的說明中調整文件名格式的差別。算法
若是你之前使用操做系統原生程序包管理系統(如Yum或APT)安裝了MySQL,則使用原生二進制文件安裝時可能會遇到問題,確保你以前的MySQL安裝已徹底刪除(使用你的包管理系統),而且還刪除了任何其餘文件,例如舊版本的數據文件。你還應該檢查配置文件,例如
/etc/my.cnf
或/etc/mysql
目錄並刪除它們。sql有關使用官方MySQL軟件包替換第三方軟件包的信息,請參閱相關的APT指南或Yum指南。shell
MySQL依賴於
libaio
庫,若是未在本地安裝此庫,則數據目錄初始化和後續服務器啓動步驟將失敗,若有必要,請使用適當的包管理器進行安裝,例如,在基於Yum的系統上:數據庫shell> yum search libaio # search for info shell> yum install libaio # install library或者,在基於APT的系統上:segmentfault
shell> apt-cache search libaio # search for info shell> apt-get install libaio1 # install library
要安裝壓縮的tar文件二進制發行版,請在你選擇的安裝位置解壓縮它(一般是/usr/local/mysql
),這將建立下表中顯示的目錄。服務器
目錄 | 目錄的內容 |
---|---|
bin |
mysqld 服務器、客戶端和實用程序 |
docs |
信息格式的MySQL手冊 |
man |
Unix手冊頁 |
include |
包含(header)文件 |
lib |
函數庫 |
share |
用於數據庫安裝的錯誤消息、字典和SQL |
support-files |
其餘支持文件 |
mysqld
二進制文件的調試版本可用做mysqld-debug
,要從源代碼發行版中編譯本身的MySQL調試版,請使用相應的配置選項來啓用調試支持。ide
要安裝和使用MySQL二進制發行版,命令序列以下所示:
shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql shell> cd /usr/local shell> tar xvf /path/to/mysql-VERSION-OS.tar.xz shell> ln -s full-path-to-mysql-VERSION-OS mysql shell> cd 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
此過程假定你具備對系統的
root
(管理員)訪問權限,或者,你能夠使用
sudo(Linux)或
pfexec(Solaris)命令爲每一個命令添加前綴。
mysql-files
目錄提供了一個方便的位置,可用做secure_file_priv
系統變量的值,該變量將導入和導出操做限制到特定目錄。
下面是用於安裝二進制發行版的前面描述的更詳細版本。
若是你的系統尚未用於運行mysqld
的用戶和組,則可能須要建立它們,如下命令添加mysql
組和mysql
用戶。你可能但願叫該用戶和組爲其餘名稱而不是mysql
,若是是這樣,請在如下命令中替換相應的名稱,useradd和groupadd的語法在不一樣版本的Unix/Linux上可能略有不一樣,或者它們可能有不一樣的名稱,如adduser和addgroup。
shell> groupadd mysql shell> useradd -r -g mysql -s /bin/false mysql
由於用戶僅用於全部權目的,而不是登陸目的,所以 useradd命令使用-r
和-s /bin/false
選項來建立對服務器主機沒有登陸權限的用戶,若是你的 useradd不支持它們,請忽略這些選項。
選擇要在其下解壓縮發行版的目錄並將位置更改成該目錄,這裏的示例在/usr/local
下解壓縮發行版,所以,這些命令假定你有權在/usr/local
中建立文件和目錄,若是該目錄受保護,則必須以root
用戶身份執行安裝。
shell> cd /usr/local
對於給定的版本,全部平臺的二進制發行版都是從相同的MySQL源代碼發行版構建的。
解壓縮發行包,從而建立安裝目錄,若是它有z
選項支持,tar能夠解壓縮並解壓縮發行版:
shell> tar xvf /path/to/mysql-VERSION-OS.tar.xz
tar命令建立一個名爲mysql-VERSION-OS
的目錄。
要從壓縮的tar文件二進制發行版安裝MySQL,你的系統必須具備GNU XZ Utils
來解壓縮發行版並使用合理的tar來解壓縮它。
在MySQL Server 8.0.12中,壓縮算法從Gzip更改成XZ,而且通用二進制文件的文件擴展名從.tar.gz
更改成.tar.xz
。
已知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/得到。
若是你的tar不支持xz格式,那麼使用xz命令解壓縮發行版和tar以解壓縮它,使用如下替代命令替換前面的tar命令以解壓縮並提取發行版:
shell> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x
接下來,建立一個指向tar建立的安裝目錄的符號連接:
shell> ln -s full-path-to-mysql-VERSION-OS mysql
ln
命令建立指向安裝目錄的符號連接,這使你能夠更容易地將其引用爲/usr/local/mysql
,爲了不在使用MySQL時必須始終鍵入客戶端程序的路徑名,能夠將/usr/local/mysql/bin
目錄添加到PATH
變量中:
shell> export PATH=$PATH:/usr/local/mysql/bin
安裝過程的其他部分涉及設置發行版全部權和訪問權限、初始化數據目錄、啓動MySQL服務器以及設置配置文件。