文件首頁
使用 MySQL SLES 儲存庫的快速指南
相關文件 下載本手冊
PDF (US Ltr) - 48.6Kb
PDF (A4) - 50.0Kb


使用 MySQL SLES 儲存庫的快速指南

摘要

這是使用 MySQL SLES 儲存庫在 SUSE Linux Enterprise Server (SLES) 上安裝和升級 MySQL 的快速指南。

關於 SUSE 和 openSUSE 支援的版本和架構,請參閱官方的MySQL 支援的平台清單。

注意:從 MySQL 8.1.0 起,不再支援 SLES 12。本指南包含關於多個 MySQL 版本資訊,因此 SLES 12 的資訊保留給 MySQL 8.0 和 5.7 版本使用。

關於法律資訊,請參閱法律聲明

如需使用 MySQL 的協助,請造訪MySQL 論壇,您可以在這裡與其他 MySQL 使用者討論您的問題。

文件產生於:2024-07-17 (修訂版:79056)


目錄


SLES 相依性

為了解析所需的 MySQL 相依性,請將 SLES SDK 儲存庫新增到您的儲存庫清單中,而 Zypper 將會處理所需的相依性。例如,MySQL 8 有 pkgconfig(openssl) 相依性。

MySQL 二進位發行版本是使用 GCC 7 建置的,而最低支援的 GCC 版本是 GCC 5.3 (先前為 4.8.5)。

SLES 12:在 SLES 12 上安裝 MySQL RPM 套件需要啟用 GCC Devel 儲存庫,例如

$> cd /etc/zypp/repos.d/
$> wget https://download.opensuse.org/repositories/devel:/gcc/SLE-12/devel:gcc.repo

全新安裝 MySQL 的步驟

注意

以下指示假設您的系統上尚未安裝任何版本的 MySQL (無論是由 Oracle 或其他方發行的);如果情況並非如此,請改為遵循取代從其他來源以 RPM 安裝的 MySQL中給定的指示。

  1. 新增 MySQL SLES 儲存庫

    首先,將 MySQL SLES 儲存庫新增至您系統的儲存庫清單。請按照下列步驟操作

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

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

      雖然每次更新時都不需要這樣做,但它會更新 MySQL 儲存庫資訊,以包含目前資訊。例如,mysql80-community-release-sl15-7.noarch.rpm 是第一個 SUSE 15 儲存庫組態檔,它會新增從 MySQL 8.1 開始的創新發行追蹤。

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

      $> sudo rpm -Uvh package-name.rpm

      此處顯示用於安裝 SLES 12 和 15 套件的命令,其中 # 表示版本內的發行編號,例如 15-1

      # SLES 12
      # Enables MySQL 8.0 by default
      $> sudo rpm -Uvh mysql80-community-release-sles12-#.noarch.rpm
      
      # SLES 15 / openSUSE 15
      # Enables MySQL 8.0 by default, which also adds the "innovation" (8.1+) track
      $> sudo rpm -Uvh mysql80-community-release-sl15-#.noarch.rpm

  2. 匯入 MySQL GnuPG 金鑰

    將 MySQL 產品的 GnuPG 金鑰匯入系統,它將用於檢查從 MySQL SLES 儲存庫下載的套件簽名,使用以下命令

    $> sudo rpm --import /etc/RPM-GPG-KEY-mysql-2022

  3. 選取發行系列

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

    $> zypper repos | grep mysql.*community

    從 MySQL 8.1 開始,SLES 15 提供創新追蹤,例如 mysql-innovation-community 的項目。

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

    $> sudo zypper modifyrepo -d mysql80-community
    $> sudo zypper modifyrepo -d mysql-tools-community

    然後,啟用您想要的發行系列的子儲存庫。例如,在 SLES 15 上啟用創新追蹤

    $> 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

  4. 使用 Zypper 安裝 MySQL

    使用下列命令安裝 MySQL

    $> sudo zypper install mysql-community-server

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

  5. 啟動 MySQL 伺服器

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

    $> systemctl start mysql

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

    $> systemctl status mysql

    如果作業系統已啟用 systemd,則應使用標準的 systemctl (或者,可以反轉引數使用 service) 命令,例如 stopstartstatusrestart 來管理 MySQL 伺服器服務。mysql 服務預設為啟用,並在系統重新啟動時啟動。如需其他資訊,請參閱使用 systemd 管理 MySQL 伺服器

    MySQL 伺服器初始化 (適用於 MySQL 8.0 及更新版本): 當伺服器第一次啟動時,伺服器會初始化,並且會發生以下情況 (如果伺服器的資料目錄在初始化程序開始時是空的)

    • 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 service mysql stop

安裝其他 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 更新之前,請仔細遵循升級 MySQL中的指示。在其中討論的其他指示中,在更新之前備份資料庫尤其重要。

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

  1. 選取目標系列

    在更新操作期間,預設情況下,MySQL SLES 儲存庫會將 MySQL 更新為您在安裝期間選擇的版本系列中的最新版本(詳細資訊請參閱選擇發行系列),這表示,例如,5.7.x 的安裝將不會自動更新為 8.0.x 版本。若要更新至另一個發行系列,您需要先停用已選擇(預設或您自行選擇)的系列子儲存庫,並啟用目標系列的子儲存庫。若要執行此操作,請依照選擇發行系列中提供的一般指示操作。

    一般而言,若要從一個發行系列升級到另一個發行系列,請升級到下一個系列,而不是跳過某個系列。

    重要事項
  2. 升級 MySQL

    請使用以下指令升級 MySQL 及其組件

    $> sudo zypper update mysql-community-server

    或者,您可以告訴 Zypper 更新系統上的所有項目來更新 MySQL(這可能需要相當多的時間)

    $> sudo zypper update

  3. 升級資料

    MySQL 伺服器一律在 Zypper 更新後重新啟動。在 MySQL 8.0.16 之前,伺服器重新啟動後請執行 mysql_upgrade,以檢查並可能解決舊資料與升級後軟體之間的任何不相容之處。mysql_upgrade 也會執行其他功能;詳細資訊請參閱mysql_upgrade — 檢查和升級 MySQL 資料表。從 MySQL 8.0.16 開始,不再需要執行此步驟,因為伺服器會執行先前由 mysql_upgrade 處理的所有任務。

    注意

    從 MySQL 5.6 升級到 5.7 之後,如果您在以 root 身分連線到伺服器時遇到問題(這會導致無法執行 mysql_upgrade),請停止伺服器,然後在執行 mysql_upgrade 之前,使用 --skip-grant-tables 選項重新啟動伺服器。詳細資訊請參閱MySQL 5.7 中的變更

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

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

在識別您選擇的組件的套件名稱後,請使用以下指令更新該套件,並將 package-name 取代為該套件的名稱

$> sudo zypper update package-name

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

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

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

  1. 備份您的資料庫以避免資料遺失。請參閱備份與復原,了解如何執行備份。

  2. 如果您的 MySQL 伺服器正在執行,請將其停止。如果伺服器以服務形式執行,您可以使用以下指令將其停止

    $> sudo service mysql stop

  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 儲存庫的安裝。

  6. 如果您已從 MySQL SLES 儲存庫將 MySQL 安裝取代為較高的版本,請依照升級資料中提供的指示操作。

使用 SLES 儲存庫安裝 MySQL NDB Cluster

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

  • NDB Cluster 自動安裝程式套件依賴 python2-cryptopython-paramiko 套件。如果您的系統已啟用 Python 儲存庫,Zypper 可以處理此相依性。您可以使用以下指令執行此操作

    $> sudo zypper addrepo \
     http://download.opensuse.org/repositories/devel:languages:python/SLE_12_SP2/devel:languages:python.repo
  • MySQL SLES 儲存庫僅支援安裝版本 7.5.6 及更新版本,以及 SLES 12 的 MySQL NDB Cluster。如需其他 NDB Cluster 安裝方法,請參閱在 Linux 上安裝 NDB Cluster

  1. 新增 MySQL SLES 儲存庫以用於 MySQL NDB Cluster 並匯入 GnuPG 金鑰

    依照新增 MySQL SLES 儲存庫匯入 MySQL GnuPG 金鑰中的步驟,將 MySQL SLES 儲存庫新增至系統的儲存庫清單並匯入 GnuPG 金鑰。如果您之前已執行過這些步驟,請執行以下指令,確保您擁有最新版本的發行套件

    $> sudo zypper update mysql57-community-release
  2. 選擇 MySQL NDB Cluster 子儲存庫

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

    $> sudo zypper modifyrepo -d mysql84-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

  3. 安裝 MySQL NDB Cluster

    若要最小化安裝 MySQL NDB Cluster,請依照以下步驟操作

    • 安裝 SQL 節點的組件

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

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

      如果您選擇使用 mysqld --initialize 指令手動初始化資料目錄(詳細資訊請參閱初始化資料目錄),將會產生 root 密碼並儲存在 SQL 節點的錯誤記錄檔中;如需如何尋找密碼以及需要了解的相關事項,請參閱MySQL 伺服器初始化

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

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

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

    若要安裝更多 NDB Cluster 組件,請參閱安裝其他 MySQL 產品和組件

  4. 配置和啟動 MySQL NDB Cluster

    請參閱NDB Cluster 的初始配置,了解如何配置 MySQL NDB Cluster,並參閱NDB Cluster 的初始啟動,了解如何第一次啟動它。

安裝其他 MySQL NDB Cluster 產品和組件

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

注意

已知問題:目前,當您安裝測試套件套件 (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

法律聲明

Copyright © 1997、2024 Oracle 和/或其附屬公司。

授權限制

本軟體及相關文件係根據包含使用和揭露限制的授權協議提供,並受智慧財產法律保護。除非您的授權協議明確許可或法律允許,否則您不得以任何形式或透過任何方式使用、複製、重製、翻譯、廣播、修改、授權、傳輸、散佈、展示、執行、發佈或顯示任何部分。除非法律為確保互通性而要求,否則禁止對本軟體進行逆向工程、反組譯或反編譯。

免責聲明

此處包含的資訊如有變更,恕不另行通知,且不保證沒有錯誤。如果您發現任何錯誤,請以書面形式向我們回報。

限制權利聲明

如果這是交付給美國政府或代表美國政府授權的任何人的軟體、軟體文件、資料(如聯邦採購條例所定義)或相關文件,則適用以下聲明

美國政府最終用戶:甲骨文程式(包括任何作業系統、整合軟體、任何嵌入、安裝或在交付的硬體上啟動的程式,以及此類程式的修改)和甲骨文電腦文件或其他交付給美國政府最終用戶或由其存取的甲骨文資料,均為「商業電腦軟體」、「商業電腦軟體文件」或依據適用的聯邦採購條例和機構特定補充條例的「有限權利資料」。因此,i) 甲骨文程式(包括任何作業系統、整合軟體、任何嵌入、安裝或在交付的硬體上啟動的程式,以及此類程式的修改)、ii) 甲骨文電腦文件和/或 iii) 其他甲骨文資料的使用、複製、複印、發布、展示、揭露、修改、衍生作品的準備和/或改編,均受適用合約中所含許可證中規定的權利和限制的約束。管轄美國政府使用甲骨文雲服務的條款由該等服務的適用合約定義。未授予美國政府其他任何權利。

危險應用程式注意事項

此軟體或硬體開發用於各種資訊管理應用程式中的一般用途。它並非開發或旨在用於任何固有的危險應用程式,包括可能造成人身傷害風險的應用程式。如果您在危險應用程式中使用此軟體或硬體,您應負責採取所有適當的故障保護、備份、冗餘和其他措施,以確保其安全使用。甲骨文公司及其關係企業對因在危險應用程式中使用此軟體或硬體而造成的任何損害不承擔任何責任。

商標注意事項

Oracle、Java、MySQL 和 NetSuite 是甲骨文和/或其關係企業的註冊商標。其他名稱可能是其各自所有者的商標。

Intel 和 Intel Inside 是 Intel Corporation 的商標或註冊商標。所有 SPARC 商標均經授權使用,是 SPARC International, Inc. 的商標或註冊商標。AMD、Epyc 和 AMD 標誌是 Advanced Micro Devices 的商標或註冊商標。UNIX 是 The Open Group 的註冊商標。

第三方內容、產品和服務免責聲明

此軟體或硬體和文件可能提供對第三方內容、產品和服務的存取或資訊。甲骨文公司及其關係企業對第三方內容、產品和服務不負任何責任,並明確聲明放棄所有類型的保證,除非您與甲骨文之間的適用協定另有規定。對於因您存取或使用第三方內容、產品或服務而導致的任何損失、成本或損害,甲骨文公司及其關係企業概不負責,除非您與甲骨文之間的適用協定另有規定。

本文件的使用

本文件並非依據 GPL 許可發布。本文件的使用受以下條款約束

您僅可為了個人使用建立本文件的列印副本。只要實際內容未以任何方式變更或編輯,即可轉換為其他格式。除非您以類似於甲骨文散佈方式(即,以電子方式在網站上供軟體下載)或在 CD-ROM 或類似媒體上散佈本文件,但前提是本文件與軟體在相同的媒體上散佈,否則您不得以任何形式或在任何媒體上發布或散佈本文件。任何其他使用方式,例如散佈列印副本或在其他出版物中全部或部分使用本文件,都需要甲骨文授權代表的事先書面同意。甲骨文和/或其關係企業保留本文件中未明確授予的所有權利。

文件輔助功能

如需有關甲骨文對輔助功能的承諾資訊,請造訪甲骨文輔助功能計畫網站:http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc

甲骨文輔助功能支援的存取

已購買支援服務的甲骨文客戶可以透過 My Oracle Support 存取電子支援。如需資訊,請造訪 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info 或如果您有聽力障礙,請造訪 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs