Oracle提供了一組MySQL的二進制發行版。其中包括用于許多平臺的壓縮tar文件(擴展名為.tar.xz
的文件)形式的通用二進制發行版,以及用于選定平臺的特定平臺包格式的二進制文件。
本節介紹在Unix/Linux平臺上從壓縮的tar文件二進制分布安裝MySQL。有關Linux-通用二進制分布安裝說明,重點關注MySQL安全功能,詳情可見安全部署指南。有關其他特定于平臺的二進制包格式,請參閱本手冊中其他特定于平臺的部分。
MySQL壓縮tar文件二進制發行版的名稱mysql-
,其中VERSION
-OS
.tar.xz
是一個數字(例如VERSION
8.4.3
),OS
表示該發行版所針對的操作系統類型(例如pc-linux-i686
或winx64
)。
Linux通用二進制發行版還有一個“最小安裝”版本的MySQL壓縮tar文件,其名稱形式為mysql-
。最小安裝版不包括調試二進制文件,并且去除了調試符號,使其明顯小于常規二進制版。如果您選擇安裝最小安裝版,請記住在以下說明中調整文件名格式的差異。VERSION
-OS
-GLIBCVER
-ARCH
-minimal.tar.xz
警告:
1、如果您之前使用操作系統本機包管理系統(如Yum或APT)安裝MySQL,則使用本機二進制文件安裝時可能會遇到問題。確保您之前的MySQL安裝已完全刪除(使用包管理系統),并且任何其他文件(如舊版本的數據文件)也已刪除。您還應該檢查/etc/my.cnf
或/etc/mysql
目錄等配置文件并將其刪除。
2、MySQL依賴libaio
庫。如果未在本地安裝此庫,數據目錄初始化和后續服務器啟動步驟將失敗。如有必要,請使用適當的包管理器進行安裝。例如,在基于Yum的系統上:
$> yum search libaio # search for info
$> yum install libaio # install library
或者,在基于APT的系統上:
$> apt-cache search libaio # search for info
$> apt-get install libaio1 # install library
3、OracleLinux8/Red Hat 8(EL8):這些平臺默認不安裝文件/lib64/libtinfo.so.5
,這是MySQL客戶端bin/mysql對包mysql-VERSION-el7-x86_64.tar.gz
和mysql-VERSION-linux-glibc2.12-x86_64.tar.xz
所必需的。要解決此問題,請安裝ncurses-compat-libs
包:
$> yum install ncurses-compat-libs
?
4、如果Oracle(或您的Linux供應商)沒有提供PRM或特定于您版本的.deb文件,您可以嘗試使用通用二進制文件。在某些情況下,由于庫不兼容或其他問題,這些可能不適用于您的Linux安裝。在這種情況下,您可以嘗試從源代碼編譯和安裝MySQL。
要安裝壓縮的tar文件二進制版本,請在您選擇的安裝位置(通常/usr/local/mysql
)解壓縮它。這將創建下表中所示的目錄。
目錄 | 內容目錄 |
---|---|
bin | mysqld服務器、客戶端和實用程序 |
docs | MySQL信息手冊 |
man | Unix手冊頁 |
include | 包含(表頭)文件 |
lib | 庫 |
share | 錯誤消息、字典和SQL數據庫安裝 |
support-files | 其他支持文件 |
調試版本的mysqld二進制文件可用mysqld-調試。要從源碼版本編譯您自己的MySQL調試版本,請使用適當的配置選項啟用調試支持。
要安裝和使用MySQL二進制分布,命令序列如下所示:
$> 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/mysqld_safe --user=mysql &
# Next command is optional
$> cp support-files/mysql.server /etc/init.d/mysql.server
注意:此過程假定您對系統具有root
(管理員)訪問權限。或者,您可以使用sudo(Linux)或pfexec(Solaris)命令為每個命令添加前綴。
該mysql-files目錄提供了一個方便的位置,可用作secure_file_priv系統變量的值,它將導入和導出操作限制在特定目錄。
下面是前面描述的安裝二進制版的更詳細版本。
創建一個mysql用戶和組
如果您的系統還沒有用于運行mysqld的用戶和組,您可能需要創建它們。以下命令添加mysql組和mysql用戶。您可能希望調用用戶并將其分組而不是mysql。如果是這樣,請在以下說明中替換適當的名稱。useradd和groupadd的語法在不同版本的Unix/Linux上可能略有不同,或者它們可能有不同的名稱,例如adduser和addgroup。
$> groupadd mysql
$> useradd -r -g mysql -s /bin/false mysql
注意:因為用戶僅用于所有權目的,而不是登錄目的,所以useradd命令使用-r
和-s /bin/false
選項來創建對您的服務器主機沒有登錄權限的用戶。如果您的useradd不支持這些選項,請省略它們。
獲取并解包通用版
選擇要解壓通用版的目錄并將位置更改到其中。此處的示例解壓縮/usr/local
下的版本。需要您有權在/usr/local
中創建文件和目錄。如果該目錄受到保護,您必須以root
身份執行安裝。
$> cd /usr/local
解壓通用版,這將創建安裝目錄。如果tar支持z
選項,則可以解壓縮和解包該tar文件:
$> tar xvf /path/to/mysql-VERSION-OS.tar.xz
tar命令創建一個名為mysql-
目錄。VERSION
-OS
要從壓縮的tar文件二進制版本安裝MySQL,您的系統必須有GNUXZ Utils
來解壓版本和tar來解壓縮它。
GNU tar是已知的工作。某些操作系統提供的標準tar無法解壓MySQL版本中的長文件名。您應該下載并安裝GNU tar,或者如果可用,使用GNU tar的預裝版本。通常這是gnu tar、gtar或GNU或自由軟件目錄中的tar,如/usr/sfw/bin
或/usr/local/bin
。
如果您的tar不支持xz
格式,則使用xz命令解壓分布,tar命令解壓。用以下替代命令替換前面的tar命令以解壓縮和提取分布:
$> xz -dc /path/to/mysql-VERSION-OS.tar.xz | tar x
接下來,創建一個指向tar創建的安裝目錄的軟鏈接:
$> ln -s full-path-to-mysql-VERSION-OS mysql
使用ln命令創建一個指向安裝目錄的軟鏈接。這使您可以更容易地訪問/usr/local/mysql。為了避免在使用MySQL時總是鍵入客戶端程序的路徑名,您可以將/usr/local/mysql/bin目錄添加到PATH變量中:
$> export PATH=$PATH:/usr/local/mysql/bin
?