文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  使用 Oracle 提供的 RPM 套件在 Linux 上安裝 MySQL

2.5.4 使用 Oracle 提供的 RPM 套件在 Linux 上安裝 MySQL

在基於 RPM 的 Linux 發行版上安裝 MySQL 的建議方式是使用 Oracle 提供的 RPM 套件。取得它們有兩個來源,針對 MySQL 的社群版:

注意

MySQL 的 RPM 發行版也由其他供應商提供。請注意,它們在功能、能力和慣例(包括通訊設定)方面可能與 Oracle 建置的版本不同,並且本手冊中的安裝說明不一定適用於它們。請改為參考供應商的說明。

MySQL RPM 套件

表格 2.8 MySQL 社群版的 RPM 套件

套件名稱 摘要
mysql-community-client MySQL 用戶端應用程式和工具
mysql-community-client-plugins MySQL 用戶端應用程式的共用外掛程式
mysql-community-common 伺服器和用戶端程式庫的通用檔案
mysql-community-devel MySQL 資料庫用戶端應用程式的開發標頭檔和程式庫
mysql-community-embedded-compat MySQL 伺服器作為嵌入式程式庫,與使用程式庫 18 版的應用程式相容
mysql-community-icu-data-files MySQL 的 ICU 資料檔案封裝,MySQL 正規表示式需要這些檔案
mysql-community-libs MySQL 資料庫用戶端應用程式的共用程式庫
mysql-community-libs-compat 先前 MySQL 安裝的共用相容性程式庫;僅在平台支援先前的 MySQL 版本時存在
mysql-community-server 資料庫伺服器和相關工具
mysql-community-server-debug 偵錯伺服器和外掛程式二進位檔
mysql-community-test MySQL 伺服器的測試套件
mysql-community 原始碼 RPM 看起來與 mysql-community-9.0.0-1.el7.src.rpm 類似,取決於選取的作業系統
其他 *debuginfo* RPM 有幾個 debuginfo 套件:mysql-community-client-debuginfo、mysql-community-libs-debuginfo、mysql-community-server-debug-debuginfo、mysql-community-server-debuginfo 和 mysql-community-test-debuginfo。

表格 2.9 MySQL 企業版的 RPM 套件

套件名稱 摘要
mysql-commercial-backup MySQL Enterprise Backup
mysql-commercial-client MySQL 用戶端應用程式和工具
mysql-commercial-client-plugins MySQL 用戶端應用程式的共用外掛程式
mysql-commercial-common 伺服器和用戶端程式庫的通用檔案
mysql-commercial-devel MySQL 資料庫用戶端應用程式的開發標頭檔和程式庫
mysql-commercial-embedded-compat MySQL 伺服器作為嵌入式程式庫,與使用程式庫 18 版的應用程式相容
mysql-commercial-icu-data-files MySQL 的 ICU 資料檔案封裝,MySQL 正規表示式需要這些檔案
mysql-commercial-libs MySQL 資料庫用戶端應用程式的共用程式庫
mysql-commercial-libs-compat 先前 MySQL 安裝的共用相容性程式庫;僅在平台支援先前的 MySQL 版本時存在。程式庫的版本與您正在使用的發行版預設安裝的程式庫版本相符。
mysql-commercial-server 資料庫伺服器和相關工具
mysql-commercial-test MySQL 伺服器的測試套件
其他 *debuginfo* RPM 有幾個 debuginfo 套件:mysql-commercial-client-debuginfo、mysql-commercial-libs-debuginfo、mysql-commercial-server-debug-debuginfo、mysql-commercial-server-debuginfo 和 mysql-commercial-test-debuginfo。

RPM 的完整名稱具有下列語法

packagename-version-distribution-arch.rpm

distributionarch 值表示套件建置所用的 Linux 發行版和處理器類型。請參閱下表,查看發行版識別碼的清單

表格 2.10 MySQL Linux RPM 套件發行版識別碼

發行版值 預期用途
el{version},其中 {version} 是主要 Enterprise Linux 版本,例如 el8 基於 EL6 (8.0)、EL7、EL8 和 EL9 的平台(例如,Oracle Linux、Red Hat Enterprise Linux 和 CentOS 的對應版本)
fc{version},其中 {version} 是主要的 Fedora 版本,例如 fc37 Fedora 38、39 和 40
sl5 SUSE Linux Enterprise Server 15

若要查看 RPM 套件中的所有檔案(例如,mysql-community-server),請使用下列命令

$> rpm -qpl mysql-community-server-version-distribution-arch.rpm

本節其餘部分的討論僅適用於直接從 Oracle 下載 RPM 套件的安裝過程,而不是透過 MySQL 儲存庫進行安裝。

某些套件之間存在相依性關聯。如果您打算安裝許多套件,您可能需要下載 RPM 套件 tar 檔案,其中包含上面列出的所有 RPM 套件,這樣您就不需要單獨下載它們。

在大多數情況下,您需要安裝 mysql-community-servermysql-community-clientmysql-community-client-pluginsmysql-community-libsmysql-community-icu-data-filesmysql-community-commonmysql-community-libs-compat 套件,以取得可運作的標準 MySQL 安裝。若要執行此類標準的基本安裝,請移至包含所有這些套件的資料夾(最好沒有其他類似名稱的 RPM 套件),然後發出下列命令

$> sudo yum install mysql-community-{server,client,client-plugins,icu-data-files,common,libs}-*

yum 替換為 SLES 的 zypper,以及 Fedora 的 dnf

雖然使用像 yum 這種高階套件管理工具來安裝套件會更好,但偏好直接使用 rpm 指令的使用者,可以將 yum install 指令替換為 rpm -Uvh 指令;然而,使用 rpm -Uvh 取代的話,會因為安裝過程中可能發生的潛在相依性問題,而使安裝過程更容易失敗。

若只想安裝客戶端程式,您可以在要安裝的套件列表中省略 mysql-community-server;請執行以下指令

$> sudo yum install mysql-community-{client,client-plugins,common,libs}-*

yum 替換為 SLES 的 zypper,以及 Fedora 的 dnf

使用 RPM 套件標準安裝 MySQL 會在系統目錄下建立檔案和資源,如下表所示。

表 2.11 來自 MySQL 開發者專區的 Linux RPM 套件 MySQL 安裝配置

檔案或資源 位置
客戶端程式和腳本 /usr/bin
mysqld 伺服器 /usr/sbin
設定檔 /etc/my.cnf
資料目錄 /var/lib/mysql
錯誤日誌檔

適用於 RHEL、Oracle Linux、CentOS 或 Fedora 平台:/var/log/mysqld.log

適用於 SLES:/var/log/mysql/mysqld.log

secure_file_priv 的值 /var/lib/mysql-files
System V 初始化腳本

適用於 RHEL、Oracle Linux、CentOS 或 Fedora 平台:/etc/init.d/mysqld

適用於 SLES:/etc/init.d/mysql

Systemd 服務

適用於 RHEL、Oracle Linux、CentOS 或 Fedora 平台:mysqld

適用於 SLES:mysql

Pid 檔案 /var/run/mysql/mysqld.pid
Socket /var/lib/mysql/mysql.sock
金鑰環目錄 /var/lib/mysql-keyring
Unix 手冊頁 /usr/share/man
包含 (標頭) 檔案 /usr/include/mysql
程式庫 /usr/lib/mysql
其他支援檔案 (例如,錯誤訊息和字元集檔案) /usr/share/mysql

安裝也會在系統上建立一個名為 mysql 的使用者和一個名為 mysql 的群組。

注意事項
  • mysql 使用者是使用 useradd 指令的 -r-s /bin/false 選項建立的,因此它沒有登入您伺服器主機的權限 (詳情請參閱建立 mysql 使用者和群組)。若要在您的作業系統上切換至 mysql 使用者,請對 su 指令使用 --shell=/bin/bash 選項

    $> su - mysql --shell=/bin/bash

  • 使用較舊套件安裝先前版本的 MySQL 可能會建立一個名為 /usr/my.cnf 的設定檔。強烈建議您檢查該檔案的內容,並將所需的設定移至 /etc/my.cnf 檔案中,然後移除 /usr/my.cnf

MySQL 並未在安裝過程結束時自動啟動。對於 Red Hat Enterprise Linux、Oracle Linux、CentOS 和 Fedora 系統,請使用以下指令啟動 MySQL

$> systemctl start mysqld

對於 SLES 系統,指令相同,但服務名稱不同

$> systemctl start mysql

如果作業系統已啟用 systemd,則應該使用標準的 systemctl (或替代方案,使用參數反轉的 service) 指令 (例如 stopstartstatusrestart) 來管理 MySQL 伺服器服務。mysqld 服務預設為啟用,並會在系統重新啟動時啟動。請注意,某些事項在 systemd 平台上可能會有所不同:例如,變更資料目錄的位置可能會導致問題。如需更多資訊,請參閱第 2.5.9 節,「使用 systemd 管理 MySQL 伺服器」

在使用 RPM 和 DEB 套件進行升級安裝期間,如果在升級發生時 MySQL 伺服器正在執行,則會停止 MySQL 伺服器、執行升級,然後重新啟動 MySQL 伺服器。但有一個例外:如果在升級期間版本也發生變更 (例如從社群版變更為商業版,反之亦然),則不會重新啟動 MySQL 伺服器。

在伺服器首次啟動時,如果伺服器的資料目錄為空,則會發生以下情況

  • 伺服器會初始化。

  • SSL 憑證和金鑰檔案會在資料目錄中產生。

  • validate_password 會安裝並啟用。

  • 會建立一個超級使用者帳戶 'root'@'localhost'。會設定超級使用者的密碼並儲存在錯誤日誌檔中。若要顯示密碼,請對 RHEL、Oracle Linux、CentOS 和 Fedora 系統使用以下指令

    $> sudo grep 'temporary password' /var/log/mysqld.log

    對 SLES 系統使用以下指令

    $> sudo grep 'temporary password' /var/log/mysql/mysqld.log

    下一步是使用產生的臨時密碼登入,並為超級使用者帳戶設定自訂密碼

$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意

validate_password 預設為安裝。由 validate_password 實作的預設密碼原則要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字元,並且密碼總長度至少為 8 個字元。

如果在安裝期間發生問題,您可能會在錯誤日誌檔 /var/log/mysqld.log 中找到除錯資訊。

對於某些 Linux 發行版,可能需要增加可供 mysqld 使用的檔案描述元數量限制。請參閱第 B.3.2.16 節,「找不到檔案和類似錯誤」

從多個 MySQL 版本安裝用戶端程式庫。可以安裝多個用戶端程式庫版本,例如,為了維持與連結到先前程式庫的較舊應用程式的相容性。若要安裝較舊的用戶端程式庫,請將 --oldpackage 選項與 rpm 搭配使用。例如,若要在具有來自 MySQL 8.0 的 libmysqlclient.21 的 EL6 系統上安裝 mysql-community-libs-5.5,請使用類似以下的指令

$> rpm --oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm

除錯套件。伺服器 RPM 套件中包含使用除錯套件編譯的 MySQL 伺服器特殊變體。它會執行除錯和記憶體配置檢查,並在伺服器執行時產生追蹤檔案。若要使用該除錯版本,請使用 /usr/sbin/mysqld-debug 啟動 MySQL,而不是以服務或使用 /usr/sbin/mysqld 啟動。如需可以使用的除錯選項,請參閱第 7.9.4 節,「DBUG 套件」

注意

預設外掛程式目錄為 /usr/lib64/mysql/plugin/debug,而且可以使用 plugin_dir 進行設定。

從原始 SRPM 重建 RPM。適用於 MySQL 的原始碼 SRPM 套件可供下載。它們可以直接使用,以使用標準 rpmbuild 工具鏈重建 MySQL RPM。