適用於 Oracle Linux、Red Hat Enterprise Linux、CentOS 和 Fedora 的 MySQL Yum 儲存庫 提供 RPM 套件,用於安裝 MySQL 伺服器、用戶端、MySQL Workbench、MySQL Utilities、MySQL Router、MySQL Shell、Connector/ODBC、Connector/Python 等等 (並非所有套件都適用於所有發行版;詳情請參閱使用 Yum 安裝其他 MySQL 產品和元件)。
開始之前
作為一個受歡迎的開放原始碼軟體,MySQL 以其原始或重新封裝的形式,廣泛安裝在許多系統上,這些系統來自不同的來源,包括不同的軟體下載網站、軟體儲存庫等等。以下指示假設您的系統上尚未透過第三方散發的 RPM 套件安裝 MySQL;如果不是這種情況,請依照 取代 MySQL 的原生第三方散發套件 中給出的指示進行操作。
儲存庫設定 RPM 檔案名稱以 mysql84
開頭,這描述預設啟用安裝的 MySQL 系列。在這種情況下,預設啟用 MySQL 8.4 LTS 子儲存庫。它還包含其他子儲存庫版本,例如 MySQL 8.0 和預設停用的 MySQL 創新系列。
全新安裝 MySQL 的步驟
請按照下列步驟選擇並安裝最新的 MySQL 產品
-
新增 MySQL Yum 儲存庫
將 MySQL Yum 儲存庫新增至您系統的儲存庫清單。這通常是一次性操作,透過安裝 MySQL 提供的 RPM 來執行。請依照下列步驟進行
從 MySQL 開發者專區的 MySQL Yum 儲存庫頁面 (https://mysqldev.dev.org.tw/downloads/repo/yum/) 下載。
選取並下載適用於您平台的發行套件。
安裝下載的發行套件。套件檔案格式為
mysql84-community-release-{platform}-{version-number}.noarch.rpm
mysql84
:表示預設啟用的 MySQL 版本。在這種情況下,預設啟用 MySQL 8.4,而 MySQL 8.0 和 MySQL 創新系列均可用但預設停用。{platform}
:平台代碼,例如 el7、el8、el9、fc38、fc39 或 fc40。「el」代表企業版 Linux,「fc」代表 Fedora,並以平台的基礎版本號碼結尾。{version-number}
:MySQL 儲存庫組態 RPM 的版本,因為它們會收到偶爾的更新。
安裝您為系統下載的 RPM,例如
$> sudo yum localinstall mysql84-community-release-{platform}-{version-number}.noarch.rpm
安裝命令會將 MySQL Yum 儲存庫新增至您系統的儲存庫清單,並下載 GnuPG 金鑰以檢查軟體套件的完整性。有關 GnuPG 金鑰檢查的詳細資訊,請參閱第 2.1.4.2 節「使用 GnuPG 驗證簽章」。
您可以使用以下命令檢查是否已成功新增並啟用 MySQL Yum 儲存庫 (對於啟用 dnf 的系統,請將命令中的 yum 取代為 dnf)
$> yum repolist enabled | grep mysql.*-community
範例輸出
mysql-8.4-lts-community MySQL 8.4 LTS Community Server mysql-tools-8.4-lts-community MySQL Tools 8.4 LTS Community
這也示範了預設啟用最新的 LTS MySQL 版本。以下說明如何選擇其他發行系列的方法,例如創新軌跡 (目前為 9.0) 或先前的系列 (例如 MySQL 8.0)。
注意一旦在您的系統上啟用 MySQL Yum 儲存庫,yum update 命令 (或適用於啟用 dnf 的系統的 dnf upgrade) 的任何系統範圍更新都會升級您系統上的 MySQL 套件,並取代任何原生第三方套件 (如果 Yum 在 MySQL Yum 儲存庫中找到它們的替代品);請參閱第 3.8 節「使用 MySQL Yum 儲存庫升級 MySQL」,以了解其對您系統的某些可能影響,請參閱升級共用用戶端程式庫。
-
選取發行系列
當使用 MySQL Yum 儲存庫時,預設會選取最新的錯誤修正系列 (目前為 MySQL 8.4) 進行安裝。如果這正是您想要的,您可以跳至下一個步驟,安裝 MySQL。
在 MySQL Yum 儲存庫中,每個 MySQL Community Server 發行系列都託管在不同的子儲存庫中。最新 LTS 系列的子儲存庫 (目前為 MySQL 8.4) 預設為啟用,而所有其他系列 (例如,MySQL 8.0 和 MySQL 創新系列) 的子儲存庫預設為停用。使用此命令可查看所有可用的 MySQL 相關子儲存庫 (對於啟用 dnf 的系統,請將命令中的 yum 取代為 dnf)
$> yum repolist all | grep mysql
範例輸出
mysql-connectors-community MySQL Connectors Community enabled mysql-tools-8.4-lts-community MySQL Tools 8.4 LTS Community enabled mysql-tools-community MySQL Tools Community disabled mysql-tools-innovation-community MySQL Tools Innovation Commu disabled mysql-innovation-community MySQL Innovation Release Com disabled mysql-8.4-lts-community MySQL 8.4 Community LTS Server enabled mysql-8.4-lts-community-debuginfo MySQL 8.4 Community LTS Server - disabled mysql-8.4-lts-community-source MySQL 8.4 Community LTS Server - disabled mysql80-community MySQL 8.0 Community Server - disabled mysql80-community-debuginfo MySQL 8.0 Community Server - disabled mysql80-community-source MySQL 8.0 Community Server - disabled
若要從特定系列 (而非最新的 LTS 系列) 安裝最新發行版,請在執行安裝命令之前停用最新 LTS 系列的錯誤子儲存庫,並啟用特定系列的子儲存庫。如果您的平台支援 yum-config-manager 或 dnf config-manager 命令,您可以透過發出以下命令來停用 8.4 系列的子儲存庫,並啟用 8.0 系列的子儲存庫
$> sudo yum-config-manager --disable mysql-8.4-lts-community $> sudo yum-config-manager --enable mysql80-community
對於啟用 dnf 的平台
$> sudo dnf config-manager --disable mysql-8.4-lts-community $> sudo dnf config-manager --enable mysql80-community
除了使用 config-manager 命令,您還可以透過切換
enabled
選項來手動編輯/etc/yum.repos.d/mysql-community.repo
檔案。例如,EL8 的典型預設條目如下:[mysql-8.4-lts-community] name=MySQL 8.4 LTS Community Server baseurl=http://repo.mysql.com/yum/mysql-8.4-community/el/8/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
找到您要設定的子儲存庫條目,並編輯
enabled
選項。指定enabled=0
來停用子儲存庫,或指定enabled=1
來啟用子儲存庫。例如,若要從 MySQL 創新軌道安裝,請確保 MySQL 8.4 子儲存庫條目的enabled=0
,且創新條目的enabled=1
。[mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/8/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
您應該在任何時間僅啟用一個發行系列的子儲存庫。
執行以下命令並檢查其輸出,以驗證已啟用和停用正確的子儲存庫(對於啟用 dnf 的系統,請將命令中的 yum 替換為 dnf):
$> yum repolist enabled | grep mysql
-
停用預設的 MySQL 模組
(僅限 EL8 系統)基於 EL8 的系統(如 RHEL8 和 Oracle Linux 8)包含預設啟用的 MySQL 模組。除非停用此模組,否則它會遮蔽 MySQL 儲存庫提供的套件。若要停用包含的模組並使 MySQL 儲存庫套件可見,請使用以下命令(對於啟用 dnf 的系統,請將命令中的 yum 替換為 dnf):
$> sudo yum module disable mysql
-
安裝 MySQL
使用以下命令安裝 MySQL(對於啟用 dnf 的系統,請將命令中的 yum 替換為 dnf):
$> sudo yum install mysql-community-server
這會安裝 MySQL 伺服器套件(
mysql-community-server
),以及執行伺服器所需的元件套件,包括用戶端套件(mysql-community-client
)、用戶端和伺服器的通用錯誤訊息和字元集套件(mysql-community-common
)以及共用用戶端程式庫(mysql-community-libs
)。 -
啟動 MySQL 伺服器
使用以下命令啟動 MySQL 伺服器:
$> systemctl start mysqld
您可以使用以下命令檢查 MySQL 伺服器的狀態:
$> systemctl status mysqld
如果作業系統啟用 systemd,則應使用標準 systemctl(或替代地,反轉參數的 service)命令(如 stop、start、status 和 restart)來管理 MySQL 伺服器服務。mysqld
服務預設為啟用,並在系統重新啟動時啟動。有關更多資訊,請參閱第 2.5.9 節「使用 systemd 管理 MySQL 伺服器」。
在伺服器首次啟動時,如果伺服器的資料目錄為空,則會發生以下情況:
伺服器已初始化。
SSL 憑證和金鑰檔案會在資料目錄中產生。
validate_password
已安裝並啟用。建立超級使用者帳戶
'root'@'localhost'
。超級使用者的密碼已設定並儲存在錯誤日誌檔中。若要顯示密碼,請使用以下命令:$> sudo grep 'temporary password' /var/log/mysqld.log
使用產生的臨時密碼登入後,請盡快變更 root 密碼,並為超級使用者帳戶設定自訂密碼:
$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意validate_password
預設為安裝。由validate_password
實作的預設密碼原則要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字元,並且密碼總長度至少為 8 個字元。
有關安裝後程序的更多資訊,請參閱第 2.9 節「安裝後設定和測試」。
基於 EL7 平台之相容性資訊: 來自平台原生軟體儲存庫的以下 RPM 套件與從 MySQL Yum 儲存庫安裝 MySQL 伺服器的套件不相容。使用 MySQL Yum 儲存庫安裝 MySQL 後,您無法安裝這些套件(反之亦然)。
akonadi-mysql
使用 Yum 安裝其他 MySQL 產品和元件
您可以使用 Yum 安裝和管理 MySQL 的個別元件。其中一些元件託管在 MySQL Yum 儲存庫的子儲存庫中:例如,MySQL 連接器位於 MySQL 連接器社群子儲存庫中,而 MySQL Workbench 位於 MySQL 工具社群中。您可以使用以下命令列出 MySQL Yum 儲存庫中適用於您平台的所有 MySQL 元件的套件(對於啟用 dnf 的系統,請將命令中的 yum 替換為 dnf):
$> sudo yum --disablerepo=\* --enablerepo='mysql*-community*' list available
使用以下命令安裝您選擇的任何套件,將 package-name
替換為套件名稱(對於啟用 dnf 的系統,請將命令中的 yum 替換為 dnf):
$> sudo yum install package-name
例如,若要在 Fedora 上安裝 MySQL Workbench:
$> sudo dnf install mysql-workbench-community
若要安裝共用用戶端程式庫(對於啟用 dnf 的系統,請將命令中的 yum 替換為 dnf):
$> sudo yum install mysql-community-libs
平台特定注意事項
ARM 支援
Oracle Linux 7 支援 ARM 64 位元 (aarch64),且需要 Oracle Linux 7 軟體集合儲存庫 (ol7_software_collections)。例如,若要安裝伺服器:
$> yum-config-manager --enable ol7_software_collections
$> yum install mysql-community-server
使用 Yum 更新 MySQL
除了安裝外,您還可以透過 MySQL Yum 儲存庫對 MySQL 產品和元件執行更新。有關詳細資訊,請參閱第 3.8 節「使用 MySQL Yum 儲存庫升級 MySQL」。
取代 MySQL 的原生協力廠商發行版本
如果您已從原生軟體儲存庫(即您自己的 Linux 發行版本提供的軟體儲存庫)安裝 MySQL 的協力廠商發行版本,請依照以下步驟執行:
-
備份您的資料庫
為避免資料遺失,請務必在使用 MySQL Yum 儲存庫嘗試取代 MySQL 安裝之前備份您的資料庫。有關如何備份資料庫,請參閱第 9 章「備份和復原」。
-
新增 MySQL Yum 儲存庫
依照新增 MySQL Yum 儲存庫中提供的指示,將 MySQL Yum 儲存庫新增到系統的儲存庫清單中。
-
以 Yum 更新或 DNF 升級取代原生協力廠商發行版本
依設計,當您在系統上執行 yum update 命令(或針對啟用 dnf 的系統執行 dnf upgrade)或 yum update mysql-server(或針對啟用 dnf 的系統執行 dnf upgrade mysql-server)時,MySQL Yum 儲存庫會以 MySQL Yum 儲存庫的最新錯誤修正版本取代您的原生協力廠商 MySQL。
使用 Yum 儲存庫更新 MySQL 後,使用舊版共用用戶端程式庫編譯的應用程式應能繼續運作。但是,如果您想要重新編譯應用程式並將其與更新的程式庫動態連結,請參閱升級共用用戶端程式庫,以瞭解一些特殊考量。
針對基於 EL7 的平台: 請參閱基於 EL7 平台的相容性資訊。