MySQL SLES 儲存庫提供 RPM 套件,用於在 SUSE Enterprise Linux Server 上安裝和管理 MySQL 伺服器、用戶端和其他元件。本節包含有關取得和安裝這些套件的資訊。
為您的系統儲存庫清單新增或更新官方 MySQL SLES 儲存庫
組態檔案名稱的開頭部分,例如 mysql84
,描述預設啟用安裝的 MySQL 系列。在此案例中,預設啟用 MySQL 8.4 LTS 的子儲存庫。它也包含其他子儲存庫版本,例如 MySQL 8.0 和 MySQL 創新系列。MySQL 9.0 是目前的創新版本。
新的 MySQL 儲存庫安裝
如果系統上尚未存在 MySQL 儲存庫,則
前往 MySQL SLES 儲存庫的下載頁面:https://mysqldev.dev.org.tw/downloads/repo/suse/。
選取並下載您的 SLES 版本的發行套件。
使用下列命令安裝下載的發行套件,將
套件名稱
取代為下載套件的名稱$> 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-
是第一個 SUSE 15 儲存庫組態檔案,它新增了以 MySQL 8.1 系列開始的創新發行軌跡。7
.noarch.rpm
在 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
啟用官方 MySQL 儲存庫後,安裝 MySQL 伺服器
$> sudo zypper install mysql-community-server
這會安裝 MySQL 伺服器的套件,以及其他必要的套件。
使用下列命令啟動 MySQL 伺服器
$> systemctl start mysql
您可以使用下列命令檢查 MySQL 伺服器的狀態
$> systemctl status mysql
如果作業系統已啟用 systemd,則應使用標準的 systemctl 命令(或替代地,使用引數反向的 service 命令),例如 stop、start、status 和 restart 來管理 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 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 執行任何更新之前,請仔細遵循 第 3 章,升級 MySQL 中的指示。在其中討論的其他指示中,備份資料庫在更新之前尤其重要。
使用 MySQL SLES 儲存庫來執行就地更新(即,取代舊版本的伺服器,然後使用舊的資料檔案執行新版本),請按照以下步驟操作(假設您已使用 MySQL SLES 儲存庫安裝 MySQL;如果不是這種情況,請遵循 取代從其他來源以 RPM 安裝的 MySQL 中的指示):
-
選取目標系列
在更新操作期間,預設情況下,MySQL SLES 儲存庫會將 MySQL 更新為您在安裝期間選擇的發行系列中的最新版本(詳情請參閱 選取發行系列),這意味著。例如,LTS 系列安裝(例如 8.4)不會更新為創新系列(例如 9.0)。要更新為另一個發行系列,您需要先停用已選取(預設或由您自己選取)的系列的子儲存庫,並啟用目標系列的子儲存庫。若要執行此操作,請遵循 選取發行系列 中提供的常規指示。
作為一般規則,要從一個發行系列升級到另一個發行系列,請移至下一個系列,而不是跳過一個系列。
重要事項MySQL SLES 儲存庫不支援 MySQL 的就地降級。請遵循 第 4 章,降級 MySQL 中的指示。
-
升級 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
用於安裝 MySQL Community Server 及其組件的 RPM 可以從 MySQL 的 MySQL 開發人員專區、SLES 的原生軟體儲存庫或 MySQL SLES 儲存庫下載。來自這些來源的 RPM 可能不同,它們可能會以不同的方式安裝和設定 MySQL。
如果您已使用來自 MySQL 開發人員專區或 SLES 原生軟體儲存庫的 RPM 安裝 MySQL,並想要使用來自 MySQL SLES 儲存庫的 RPM 取代安裝,請按照以下步驟操作:
備份資料庫以避免資料遺失。請參閱 第 9 章,備份與復原,以了解如何執行此操作。
停止您的 MySQL 伺服器(如果正在執行)。如果伺服器以服務形式執行,您可以使用以下命令停止它:
$> systemctl stop mysql
遵循 新增 MySQL SLES 儲存庫 中提供的步驟。
遵循 選取發行系列 中提供的步驟。
遵循 使用 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 儲存庫的安裝。
以下指示假設您的系統上尚未安裝 MySQL Server 或 MySQL NDB Cluster;如果不是這種情況,請移除 MySQL Server 或 MySQL NDB Cluster,包括其所有可執行檔、程式庫、設定檔、日誌檔和資料目錄,然後再繼續。但是,無需移除您可能已用來在系統上啟用 MySQL SLES 儲存庫的發行套件。
NDB Cluster 自動安裝程式套件相依於
python2-crypto
和python-paramiko
套件。如果您的系統上已啟用 Python 儲存庫,Zypper 可以處理此相依性。
在 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 的最小安裝,請按照以下步驟操作:
安裝 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 的初始啟動」,以了解如何首次啟動它。
您可以使用 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