在Unix/Linux上使用通用二進(jìn)制文件安裝MySQL方式
Unix/Linux使用通用二進(jìn)制文件安裝MySQL
Oracle提供了一組MySQL的二進(jìn)制發(fā)行版。這些包括壓縮的tar文件形式的通用二進(jìn)制發(fā)行版(具有.tar.xz擴(kuò)展名的文件)針對多個(gè)平臺(tái),以及特定平臺(tái)軟件包格式的二進(jìn)制文件。
本節(jié)涵蓋了在Unix/Linux平臺(tái)上從壓縮的tar文件二進(jìn)制發(fā)行版安裝MySQL的方法。有關(guān)針對MySQL安全功能的重點(diǎn)進(jìn)行Linux通用二進(jìn)制分發(fā)版本安裝說明,請參閱安全部署指南。
MySQL壓縮的tar文件二進(jìn)制發(fā)行版的名稱格式為mysql-VERSION-OS.tar.xz,其中VERSION是一個(gè)數(shù)字(例如8.0.33),而OS表示該發(fā)行版所針對的操作系統(tǒng)類型(例如pc-linux-i686或winx64)。
對于Linux通用二進(jìn)制發(fā)行版,還有一個(gè)“最小安裝”版本的MySQL壓縮tar文件,其名稱形式為mysql-VERSION-OS-GLIBCVER-ARCHminimal.tar.xz。最小安裝分發(fā)版本不包含調(diào)試二進(jìn)制文件,并且已剝離調(diào)試符號(hào),使其比常規(guī)二進(jìn)制分發(fā)版小得多。如果選擇安裝最小安裝分發(fā)版,請記得在后續(xù)指令中調(diào)整文件名格式的差異。
警告
- 如果您先前使用操作系統(tǒng)的本機(jī)軟件包管理系統(tǒng)(如Yum或APT)安裝了MySQL,可能在使用本地二進(jìn)制文件進(jìn)行安裝時(shí)會(huì)遇到問題。請確保您之前的MySQL安裝已完全刪除(使用軟件包管理系統(tǒng)),并且任何其他文件,例如舊版本的數(shù)據(jù)文件,也已刪除。您還應(yīng)該檢查配置文件,例如/etc/my.cnf或/etc/mysql目錄,并將其刪除。
MySQL對libaio庫有依賴性。如果本地未安裝此庫,數(shù)據(jù)目錄初始化和后續(xù)服務(wù)器啟動(dòng)步驟將失敗。如有必要,請使用適當(dāng)?shù)能浖芾砥鬟M(jìn)行安裝。
- 例如,在基于Yum的系統(tǒng)上:
$> yum search libaio # search for info $> yum install libaio # install library
- 在基于APT的系統(tǒng)上:
$> apt-cache search libaio # search for info $> apt-get install libaio1 # install library
Oracle Linux 8 / Red Hat 8 (EL8):這些平臺(tái)默認(rèn)不安裝MySQL客戶端bin/mysql所需的文件/lib64/libtinfo.so.5,對于mysql-VERSION-el7-x86_64.tar.gz和mysql-VERSION-linux-glibc2.12-x86_64.tar.xz軟件包。
- 為解決這個(gè)問題,請安裝ncurses-compat-libs軟件包:
$> yum install ncurses-compat-libs
要安裝壓縮的tar文件二進(jìn)制發(fā)行版,請解壓縮到您選擇的安裝位置(通常為/usr/local/mysql)。這將創(chuàng)建下表所示的目錄。
表2.3通用Unix/Linux二進(jìn)制軟件包的MySQL安裝布局:
Directory | Contents of Directory |
bin | mysqld服務(wù)器、客戶端和實(shí)用程序程序。 |
docs | MySQL手冊的Info格式。 |
man | Unix手冊頁。 |
include | 包含(頭)文件。 |
lib | 庫文件。 |
share | 數(shù)據(jù)庫安裝的錯(cuò)誤消息、字典和SQL。 |
support-files | 支持文件。 |
調(diào)試版本的mysqld二進(jìn)制文件可用作mysqld-debug。要從源碼發(fā)行版編譯自己的MySQL調(diào)試版本,請使用適當(dāng)?shù)呐渲眠x項(xiàng)啟用調(diào)試支持。
- 安裝和使用MySQL二進(jìn)制發(fā)行版的命令序列如下所示:
$> groupadd mysql $> useradd -r -g mysql -s /bin/false mysql $> cd /usr/local $> tar xvf /path/to/mysql-VERSION-OS.tar.xz $> ln -s full-path-to-mysql-VERSION-OS mysql $> cd mysql $> mkdir mysql-files $> chown mysql:mysql mysql-files $> chmod 750 mysql-files $> bin/mysqld --initialize --user=mysql $> bin/mysql_ssl_rsa_setup $> bin/mysqld_safe --user=mysql & # Next command is optional $> cp support-files/mysql.server /etc/init.d/mysql.server
注意:
- 該過程假定您對系統(tǒng)具有root(管理員)訪問權(quán)限?;蛘撸梢栽诿總€(gè)命令前使用sudo(Linux)或pfexec(Solaris)命令進(jìn)行前綴處理。
- mysql-files目錄可作為secure_file_priv系統(tǒng)變量的值,用于限制導(dǎo)入和導(dǎo)出操作僅在該特定目錄中進(jìn)行,從而提供了方便的位置。
創(chuàng)建一個(gè)mysql用戶和組
如果您的系統(tǒng)尚未擁有用于運(yùn)行mysqld的用戶和組,您可能需要?jiǎng)?chuàng)建它們。
以下命令會(huì)添加mysql組和mysql用戶。您可能希望將用戶和組的名稱改為與mysql不同的其他名稱。
如果是這樣,請?jiān)谝韵抡f明中用適當(dāng)?shù)拿诌M(jìn)行替換。
- 在不同版本的Unix/Linux上,useradd和groupadd的語法可能略有不同,或者可能有不同的名稱,如adduser和addgroup。
$> groupadd mysql $> useradd -r -g mysql -s /bin/false mysql
注意:
- 由于用戶僅用于所有權(quán)目的,而非登錄目的,useradd命令使用-r和-s /bin/false選項(xiàng)來創(chuàng)建一個(gè)沒有登錄權(quán)限的用戶到您的服務(wù)器主機(jī)。
- 如果您的useradd不支持這些選項(xiàng),請省略它們。
獲取并解壓縮發(fā)行版
選擇您想要解壓縮發(fā)行版的目錄,并進(jìn)入該目錄。
下面的示例將發(fā)行版解壓縮到/usr/local目錄下。因此,這些說明假定您有權(quán)限在/usr/local目錄中創(chuàng)建文件和目錄。
- 如果該目錄受保護(hù),則必須以root用戶身份執(zhí)行安裝。
$> cd /usr/local
根據(jù)“如何獲取MySQL”部分中的說明獲得一個(gè)發(fā)行版文件。對于特定版本,所有平臺(tái)的二進(jìn)制發(fā)行版都是從相同的MySQL源碼發(fā)行版構(gòu)建的。解壓縮發(fā)行版將創(chuàng)建安裝目錄。
- 如果tar支持z選項(xiàng),則可以使用tar來解壓縮和解包發(fā)行版:
$> tar xvf /path/to/mysql-VERSION-OS.tar.xz
tar命令會(huì)創(chuàng)建一個(gè)名為mysql-VERSION-OS的目錄。
要從壓縮的tar文件二進(jìn)制發(fā)行版安裝MySQL,您的系統(tǒng)必須具有GNU XZ Utils以解壓縮發(fā)行版,并且需要一個(gè)合理的tar來解包。
注意:自MySQL Server 8.0.12起,壓縮算法從Gzip更改為XZ,并且通用二進(jìn)制文件的文件擴(kuò)展名從.tar.gz更改為.tar.xz。
已知GNU tar可以正常工作。某些操作系統(tǒng)提供的標(biāo)準(zhǔn)tar無法解壓MySQL發(fā)行版中的長文件名。您應(yīng)該下載并安裝GNU tar,或者如果可用,使用預(yù)先安裝的GNU tar版本。通??梢詫⑵涿麨間nutar、gtar或者在GNU或自由軟件目錄(例如/usr/sfw/bin或/usr/local/bin)中找到。可以從http://www.gnu.org/software/tar/獲取GNU tar。
如果您的tar不支持xz格式,則使用xz命令來解壓縮發(fā)行版,并使用tar來解包。
- 將上述的tar命令替換為以下備用命令以解壓縮和提取發(fā)行版:
$> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x
- 接下來,創(chuàng)建一個(gè)符號(hào)鏈接指向tar創(chuàng)建的安裝目錄:
$> ln -s full-path-to-mysql-VERSION-OS mysql
- ln命令創(chuàng)建一個(gè)符號(hào)鏈接到安裝目錄。這樣,您可以更容易地使用/usr/local/mysql來引用它。為了避免在使用MySQL時(shí)始終輸入客戶端程序的路徑名,您可以將/usr/local/mysql/bin目錄添加到您的PATH變量中:
$> export PATH=$PATH:/usr/local/mysql/bin
進(jìn)行安裝后的設(shè)置
安裝過程的剩余部分涉及設(shè)置發(fā)行版的所有權(quán)和訪問權(quán)限,初始化數(shù)據(jù)目錄,啟動(dòng)MySQL服務(wù)器,并設(shè)置配置文件。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux實(shí)現(xiàn)驅(qū)動(dòng)模塊傳參過程解析
這篇文章主要介紹了Linux實(shí)現(xiàn)驅(qū)動(dòng)模塊傳參過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Apache 新站點(diǎn)目錄配置 SELinux 的方法
本文詳細(xì)介紹了如何使用SELinux保護(hù)Apache新站點(diǎn)目錄,包括確定默認(rèn)上下文、創(chuàng)建和設(shè)置新目錄的上下文、允許網(wǎng)絡(luò)連接以及驗(yàn)證配置,感興趣的朋友跟隨小編一起看看吧2024-11-11Linux文件編輯命令vi詳細(xì)整理(總結(jié))
本篇文章主要介紹了Linux文件編輯命令詳細(xì)整理(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07Linux中大內(nèi)存頁Oracle數(shù)據(jù)庫優(yōu)化的方法
這篇文章主要給大家介紹了關(guān)于Linux中大內(nèi)存頁Oracle數(shù)據(jù)庫優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11淺談在linux kernel中打印函數(shù)調(diào)用的堆棧的方法
下面小編就為大家?guī)硪黄獪\談在linux kernel中打印函數(shù)調(diào)用的堆棧的方法。小編覺得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12