文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 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 參考手冊  /  ...  /  使用 MySQL SLES 儲存庫

2.5.3 使用 MySQL SLES 儲存庫

MySQL SLES 儲存庫提供 RPM 套件,用於在 SUSE Enterprise Linux Server 上安裝和管理 MySQL 伺服器、用戶端和其他元件。本節包含有關取得和安裝這些套件的資訊。

新增 MySQL SLES 儲存庫

為您的系統儲存庫清單新增或更新官方 MySQL SLES 儲存庫

注意

組態檔案名稱的開頭部分,例如 mysql84,描述預設啟用安裝的 MySQL 系列。在此案例中,預設啟用 MySQL 8.4 LTS 的子儲存庫。它也包含其他子儲存庫版本,例如 MySQL 8.0 和 MySQL 創新系列。MySQL 9.0 是目前的創新版本。

新的 MySQL 儲存庫安裝

如果系統上尚未存在 MySQL 儲存庫,則

  1. 前往 MySQL SLES 儲存庫的下載頁面:https://mysqldev.dev.org.tw/downloads/repo/suse/

  2. 選取並下載您的 SLES 版本的發行套件。

  3. 使用下列命令安裝下載的發行套件,將 套件名稱 取代為下載套件的名稱

    $> sudo rpm -Uvh package-name.rpm

    例如,要安裝 SLES 15 套件,其中 # 表示版本中的發行編號,例如 15-1

    $> sudo rpm -Uvh mysql84-community-release-sl15-#.noarch.rpm
更新現有的 MySQL 儲存庫安裝

如果已存在舊版本,則更新它

  • $> sudo zypper update mysql84-community-release
  • 雖然並非每個 MySQL 發行版本都需要此操作,但它確實會更新 MySQL 儲存庫資訊以包含目前的資訊。例如,mysql84-community-release-sl15-7.noarch.rpm 是第一個 SUSE 15 儲存庫組態檔案,它新增了以 MySQL 8.1 系列開始的創新發行軌跡。

選取發行系列

在 MySQL SLES 儲存庫中,MySQL Community Server 的不同發行系列託管在不同的子儲存庫中。預設啟用最新錯誤修復系列(目前為 MySQL 8.4)的子儲存庫,並且停用所有其他系列的子儲存庫。使用此命令檢視 MySQL SLES 儲存庫中的所有子儲存庫,並檢視其中哪些已啟用或停用

$> zypper repos | grep mysql.*community

創新軌跡適用於 SLES 15,其中包含 mysql-innovation-community 等項目。

若要從特定系列安裝最新版本,請在執行安裝命令之前,確保已啟用您想要的系列的子儲存庫,並停用其他系列的子儲存庫。例如,在 SLES 15 上,若要停用預設啟用的 MySQL 8.4 伺服器和工具的子儲存庫,請使用下列命令

$> sudo zypper modifyrepo -d mysql-8.4-lts-community
$> sudo zypper modifyrepo -d mysql-tools-community

然後,啟用您想要的發行系列的子儲存庫。例如,若要在 SLES 15 上啟用安裝 MySQL 9.0 的創新軌跡

$> sudo zypper modifyrepo -e mysql-innovation-community
$> sudo zypper modifyrepo -e mysql-tools-innovation-community

您應始終只啟用一個發行系列的子儲存庫。

執行下列命令並檢查其輸出,以驗證是否已啟用正確的子儲存庫

$> zypper repos -E | grep mysql.*community

 7 | mysql-connectors-community       | MySQL Connectors Community                  | Yes     | (r ) Yes  | No
10 | mysql-innovation-community       | MySQL Innovation Release Community Server   | Yes     | (r ) Yes  | No
16 | mysql-tools-innovation-community | MySQL Tools Innovation Community            | Yes     | ( p) Yes  | No

之後,使用下列命令重新整理已啟用子儲存庫的儲存庫資訊

$> sudo zypper refresh

使用 Zypper 安裝 MySQL

啟用官方 MySQL 儲存庫後,安裝 MySQL 伺服器

$> sudo zypper install mysql-community-server

這會安裝 MySQL 伺服器的套件,以及其他必要的套件。

啟動 MySQL 伺服器

使用下列命令啟動 MySQL 伺服器

$> systemctl start mysql

您可以使用下列命令檢查 MySQL 伺服器的狀態

$> systemctl status mysql

如果作業系統已啟用 systemd,則應使用標準的 systemctl 命令(或替代地,使用引數反向的 service 命令),例如 stopstartstatusrestart 來管理 MySQL 伺服器服務。預設啟用 mysql 服務,並在系統重新開機時啟動。如需其他資訊,請參閱第 2.5.9 節, 「使用 systemd 管理 MySQL 伺服器」

MySQL 伺服器初始化: 當伺服器首次啟動時,會初始化伺服器,並發生以下情況(如果伺服器的資料目錄在初始化程序開始時是空的)

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

  • 安裝並啟用 validate_password 外掛程式

  • 會建立一個超級使用者帳戶 'root'@'localhost'。超級使用者的密碼會被設定並儲存在錯誤日誌檔中。若要顯示密碼,請使用以下命令:

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

    請盡快變更 root 密碼,方法是使用產生的臨時密碼登入,並為超級使用者帳戶設定自訂密碼。

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

預設會安裝 MySQL 的 validate_password 外掛程式。這會要求密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字元,且密碼總長度至少為 8 個字元。

您可以使用以下命令停止 MySQL 伺服器:

$> sudo systemctl stop mysql

安裝額外的 MySQL 產品和組件

您可以安裝更多 MySQL 的組件。使用以下命令列出 MySQL SLES 儲存庫中的子儲存庫:

$> zypper repos | grep mysql.*community

使用以下命令列出適用於特定子儲存庫的 MySQL 組件的套件,將 subrepo-name 變更為您感興趣的子儲存庫名稱:

$> zypper packages subrepo-name

使用以下命令安裝您選擇的任何套件,將 package-name 替換為套件的名稱(您可能需要先啟用套件的子儲存庫,使用與在 選取發行系列 中概述的相同方法,來選擇特定發行系列的子儲存庫):

$> sudo zypper install package-name

例如,要從您已啟用的發行系列的子儲存庫安裝 MySQL 基準測試套件:

$> sudo zypper install mysql-community-bench

使用 MySQL SLES 儲存庫升級 MySQL

注意
  • 在對 MySQL 執行任何更新之前,請仔細遵循 第 3 章,升級 MySQL 中的指示。在其中討論的其他指示中,備份資料庫在更新之前尤其重要。

使用 MySQL SLES 儲存庫來執行就地更新(即,取代舊版本的伺服器,然後使用舊的資料檔案執行新版本),請按照以下步驟操作(假設您已使用 MySQL SLES 儲存庫安裝 MySQL;如果不是這種情況,請遵循 取代從其他來源以 RPM 安裝的 MySQL 中的指示):

  1. 選取目標系列

    在更新操作期間,預設情況下,MySQL SLES 儲存庫會將 MySQL 更新為您在安裝期間選擇的發行系列中的最新版本(詳情請參閱 選取發行系列),這意味著。例如,LTS 系列安裝(例如 8.4)不會更新為創新系列(例如 9.0)。要更新為另一個發行系列,您需要先停用已選取(預設或由您自己選取)的系列的子儲存庫,並啟用目標系列的子儲存庫。若要執行此操作,請遵循 選取發行系列 中提供的常規指示。

    作為一般規則,要從一個發行系列升級到另一個發行系列,請移至下一個系列,而不是跳過一個系列。

    重要事項

    MySQL SLES 儲存庫不支援 MySQL 的就地降級。請遵循 第 4 章,降級 MySQL 中的指示。

  2. 升級 MySQL

    使用以下命令升級 MySQL 及其組件:

    $> sudo zypper update mysql-community-server

    或者,您可以透過指示 Zypper 更新系統中的所有內容來更新 MySQL(這可能需要相當長的時間):

    $> sudo zypper update

您也可以僅更新特定組件。使用以下命令列出 MySQL SLES 儲存庫中所有已安裝的套件:

$> zypper packages -i | grep mysql-.*community

在識別您選擇的組件的套件名稱後,使用以下命令更新套件,將 package-name 替換為套件的名稱:

$> sudo zypper update package-name

取代從其他來源以 RPM 安裝的 MySQL

用於安裝 MySQL Community Server 及其組件的 RPM 可以從 MySQL 的 MySQL 開發人員專區、SLES 的原生軟體儲存庫或 MySQL SLES 儲存庫下載。來自這些來源的 RPM 可能不同,它們可能會以不同的方式安裝和設定 MySQL。

如果您已使用來自 MySQL 開發人員專區或 SLES 原生軟體儲存庫的 RPM 安裝 MySQL,並想要使用來自 MySQL SLES 儲存庫的 RPM 取代安裝,請按照以下步驟操作:

  1. 備份資料庫以避免資料遺失。請參閱 第 9 章,備份與復原,以了解如何執行此操作。

  2. 停止您的 MySQL 伺服器(如果正在執行)。如果伺服器以服務形式執行,您可以使用以下命令停止它:

    $> systemctl stop mysql

  3. 遵循 新增 MySQL SLES 儲存庫 中提供的步驟。

  4. 遵循 選取發行系列 中提供的步驟。

  5. 遵循 使用 Zypper 安裝 MySQL 中提供的步驟。系統會詢問您是否要將舊套件取代為新套件;例如:

    Problem: mysql-community-server-5.6.22-2.sles11.x86_64 requires mysql-community-client = 5.6.22-2.sles11,
      but this requirement cannot be provided uninstallable providers:
      mysql-community-client-5.6.22-2.sles11.x86_64[mysql56-community]
     Solution 1: replacement of mysql-client-5.5.31-0.7.10.x86_64 with mysql-community-client-5.6.22-2.sles11.x86_64
     Solution 2: do not install mysql-community-server-5.6.22-2.sles11.x86_64
     Solution 3: break mysql-community-server-5.6.22-2.sles11.x86_64 by ignoring some of its dependencies
    
    Choose from above solutions by number or cancel [1/2/3/c] (c)

    選擇 取代 選項(範例中的 解決方案 1)以完成從 MySQL SLES 儲存庫的安裝。

使用 SLES 儲存庫安裝 MySQL NDB Cluster

  • 以下指示假設您的系統上尚未安裝 MySQL Server 或 MySQL NDB Cluster;如果不是這種情況,請移除 MySQL Server 或 MySQL NDB Cluster,包括其所有可執行檔、程式庫、設定檔、日誌檔和資料目錄,然後再繼續。但是,無需移除您可能已用來在系統上啟用 MySQL SLES 儲存庫的發行套件。

  • NDB Cluster 自動安裝程式套件相依於 python2-cryptopython-paramiko 套件。如果您的系統上已啟用 Python 儲存庫,Zypper 可以處理此相依性。

選取 MySQL NDB Cluster 子儲存庫

在 MySQL SLES 儲存庫中,MySQL Community Server 和 MySQL NDB Cluster 託管在不同的子儲存庫中。預設情況下,會啟用 MySQL Server 最新錯誤修正系列的子儲存庫,並停用 MySQL NDB Cluster 的子儲存庫。若要安裝 NDB Cluster,請停用 MySQL Server 的子儲存庫並啟用 NDB Cluster 的子儲存庫。例如,使用以下命令停用預設啟用的 MySQL 8.4 子儲存庫:

$> sudo zypper modifyrepo -d mysql-8.4-lts-community

然後,啟用 MySQL NDB Cluster 的子儲存庫:

$> sudo zypper modifyrepo -e mysql-cluster-8.4-community

執行下列命令並檢查其輸出,以驗證是否已啟用正確的子儲存庫

$> zypper repos -E | grep mysql.*community
10 | mysql-cluster-8.4-community | MySQL Cluster 8.4 Community | Yes     | No

之後,使用下列命令重新整理已啟用子儲存庫的儲存庫資訊

$> sudo zypper refresh

安裝 MySQL NDB Cluster

對於 MySQL NDB Cluster 的最小安裝,請按照以下步驟操作:

  • 安裝 SQL 節點的組件:

    $> sudo zypper install mysql-cluster-community-server

    安裝完成後,請按照 啟動 MySQL 伺服器 中提供的步驟啟動並初始化 SQL 節點。

    如果您選擇使用 mysqld --initialize 命令手動初始化資料目錄(詳情請參閱 第 2.9.1 節,「初始化資料目錄」),則會產生一個 root 密碼並儲存在 SQL 節點的錯誤日誌中;請參閱 啟動 MySQL 伺服器,以了解如何找到密碼,以及關於密碼的一些注意事項。

  • 安裝管理節點的可執行檔:

    $> sudo zypper install mysql-cluster-community-management-server
  • 安裝資料節點的可執行檔:

    $> sudo zypper install mysql-cluster-community-data-node

若要安裝更多 NDB Cluster 組件,請參閱 安裝額外的 MySQL 產品和組件

請參閱 第 25.3.3 節,「NDB Cluster 的初始設定」,以了解如何設定 MySQL NDB Cluster,並參閱 第 25.3.4 節,「NDB Cluster 的初始啟動」,以了解如何首次啟動它。

安裝額外的 MySQL NDB Cluster 產品和組件

您可以使用 Zypper 從 MySQL SLES 儲存庫安裝 MySQL NDB Cluster 的個別組件和其他產品。若要執行此操作,假設您的系統的儲存庫清單中已有所需的 MySQL SLES 儲存庫(如果沒有,請遵循 使用 SLES 儲存庫安裝 MySQL NDB Cluster 的步驟 1 和 2),請遵循 安裝額外的 MySQL NDB Cluster 產品和組件 中提供的相同步驟。

注意

已知問題:目前,當您安裝測試套件套件(mysql-cluster-community-test)時,並非執行 MySQL NDB Cluster 測試套件所需的所有組件都會自動安裝。在執行測試套件之前,請使用 zypper install 安裝以下套件:

  • mysql-cluster-community-auto-installer

  • mysql-cluster-community-management-server

  • mysql-cluster-community-data-node

  • mysql-cluster-community-memcached

  • mysql-cluster-community-java

  • mysql-cluster-community-ndbclient-devel