本節提供有關使用 MySQL APT 儲存庫安裝 MySQL 的指南。
以下說明假設您的系統上尚未安裝任何版本的 MySQL(無論是由 Oracle 或其他方發布);如果不是這種情況,請依照使用 MySQL APT 儲存庫取代原生的 MySQL 發行版或取代直接下載 deb 套件所安裝的 MySQL 伺服器中的說明進行操作。
新增 MySQL Apt 儲存庫。 首先,將 MySQL APT 儲存庫新增至您系統的軟體儲存庫清單。請按照下列步驟進行
前往 MySQL APT 儲存庫的下載頁面:https://mysqldev.dev.org.tw/downloads/repo/apt/。
選取並下載適用於您 Linux 發行版的發行套件。
雖然這並非每次更新都必須執行,但它會更新 MySQL 儲存庫資訊以包含目前資訊,包括新增新的 LTS 系列。
使用下列命令安裝下載的發行套件,並將
版本專用套件名稱
取代為下載的套件名稱(如果未在套件所在的資料夾內執行命令,則在名稱前面加上其路徑)$> sudo dpkg -i /PATH/version-specific-package-name.deb
例如,對於套件的
w.x.y-z
版本,命令如下:$> sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb
請注意,相同的套件適用於所有支援的 Debian 和 Ubuntu 平台。
在安裝套件期間,系統會要求您選擇要安裝的 MySQL 伺服器和其他元件(例如 MySQL Workbench)的版本。如果您不確定要選擇哪個版本,請不要變更為您選取的預設選項。如果您不希望安裝特定元件,也可以選擇 無。在為所有元件做出選擇後,請選擇 確定 以完成發行套件的組態和安裝。
注意創新追蹤(從 MySQL 8.1 開始)在元件名稱中包含「-innovation-」。
您可以隨時變更您稍後選擇的版本;請參閱選取主要發行版本中的說明。
使用下列命令更新 MySQL APT 儲存庫的套件資訊(此步驟是必要步驟)
$> sudo apt-get update
除了使用發行套件外,您也可以手動新增和設定 MySQL APT 儲存庫;請參閱附錄 A:手動新增和設定 MySQL APT 儲存庫了解詳細資訊。
在您的系統上啟用 MySQL APT 儲存庫後,在停用 MySQL APT 儲存庫之前,您將無法再從您平台的原生軟體儲存庫安裝任何 MySQL 套件。
在您的系統上啟用 MySQL APT 儲存庫後,如果 APT 在 MySQL APT 儲存庫中找到替換項目,則 apt-get upgrade 命令的任何系統範圍升級,都會自動升級您系統上的 MySQL 套件,並取代您從 Linux 發行版的軟體儲存庫安裝的任何原生 MySQL 套件。
依預設,您 MySQL 伺服器和其他必要元件的所有安裝和升級,都來自您在安裝設定套件期間選取的主要版本的發行系列(請參閱新增 MySQL Apt 儲存庫)。不過,您可以隨時透過重新設定您已安裝的設定套件,切換到另一個支援的主要發行系列。請使用下列命令
$> sudo dpkg-reconfigure mysql-apt-config
然後會出現一個對話方塊,要求您選擇想要的主要發行版本。做出選擇並選擇 確定。回到命令提示字元後,請使用此命令更新 MySQL APT 儲存庫的套件資訊
$> sudo apt-get update
然後,當您下次使用 apt-get install 命令時,將會安裝所選系列中的最新版本。
您可以使用相同的方法來變更您想使用 MySQL APT 儲存庫安裝的任何其他 MySQL 元件的版本。
透過以下命令安裝 MySQL
$> sudo apt-get install mysql-server
這會安裝 MySQL 伺服器套件,以及用戶端和資料庫通用檔案的套件。
在安裝期間,系統會要求您提供 MySQL 安裝的 root 使用者密碼。
請務必記住您設定的 root 密碼。想要稍後設定密碼的使用者可以在對話方塊中將 password 欄位留空,然後按 確定 即可;在這種情況下,使用 Unix socket 檔案連線的伺服器 root 存取權限將透過 第 8.4.1.10 節「Socket Peer-Credential 可插拔驗證」進行驗證。您稍後可以使用程式 mysql_secure_installation 來設定 root 密碼。
MySQL 伺服器會在安裝後自動啟動。您可以使用以下命令檢查 MySQL 伺服器的狀態
$> systemctl status mysql
如果作業系統啟用 systemd,則應使用標準的 systemctl (或者,反向使用參數的 service) 命令,例如 stop、start、status 和 restart 來管理 MySQL 伺服器服務。預設會啟用 mysql
服務,並且會在系統重新開機時啟動。如需更多資訊,請參閱第 2.5.9 節「使用 systemd 管理 MySQL 伺服器」。
一些具有原生 MySQL 套件相依性的協力廠商原生儲存庫套件可能無法與 MySQL APT 儲存庫套件搭配使用,不應與其一起使用;這些套件包括 akonadi-backend-mysql、handlersocket-mysql-5.5 和 zoneminder。
您可以使用 APT 從 MySQL APT 儲存庫安裝個別的 MySQL 元件。假設您的系統儲存庫清單上已經有 MySQL APT 儲存庫 (請參閱 新增 MySQL Apt 儲存庫 以取得指示),首先,使用以下命令從 MySQL APT 儲存庫取得最新的套件資訊
$> sudo apt-get update
使用以下命令安裝您選擇的任何套件,並將 package-name
取代為要安裝的套件名稱
$> sudo apt-get install package-name
例如,安裝 MySQL Workbench
$> sudo apt-get install mysql-workbench-community
安裝共用用戶端程式庫
$> sudo apt-get install libmysqlclient21
此功能僅在 64 位元系統上支援。
您可以下載 MySQL 的原始碼,並使用 MySQL APT 儲存庫進行建置
將 MySQL APT 儲存庫新增至您系統的儲存庫清單,並選擇您想要的主要發行系列 (請參閱 新增 MySQL Apt 儲存庫 以取得指示)。
使用下列命令更新 MySQL APT 儲存庫的套件資訊(此步驟是必要步驟)
$> sudo apt-get update
安裝建置程序相依的套件
$> sudo apt-get build-dep mysql-server
下載 MySQL 主要元件的原始碼,然後建置它們 (在您想要下載檔案和建置所在的資料夾中執行此命令)
$> apt-get source -b mysql-server
會建立用於安裝各種 MySQL 元件的
deb
套件。選取您需要的 MySQL 元件的
deb
套件,並使用以下命令進行安裝$> sudo dpkg -i package-name.deb
請注意,MySQL 套件之間存在相依性關係。對於 MySQL 伺服器的基本安裝,請按照以下步驟安裝資料庫通用檔案套件、用戶端套件、用戶端中繼套件、伺服器套件和伺服器中繼套件 (按此順序)
使用以下命令預先設定 MySQL 伺服器套件
$> sudo dpkg-preconfigure mysql-community-server_version-and-platform-specific-part.deb
系統會要求您提供 MySQL 安裝的 root 使用者密碼;請參閱以上使用 APT 安裝 MySQL中提供的有關 root 密碼的重要資訊。系統也可能會詢問您其他與安裝相關的問題。
使用單一命令安裝所需的套件
$> sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb
如果 dpkg 警告您有未滿足的相依性,您可以使用 apt-get 來修正它們
sudo apt-get -f install
以下是檔案在系統上的安裝位置
所有組態檔 (例如
my.cnf
) 都位於/etc/mysql
下所有二進位檔、程式庫、標頭等都位於
/usr/bin
和/usr/sbin
下資料目錄位於
/var/lib/mysql
下
另請參閱啟動和停止 MySQL 伺服器中提供的資訊。
在執行任何 MySQL 升級之前,請仔細遵循第 3 章「升級 MySQL」中的指示。在其中討論的其他指示中,在升級之前備份您的資料庫尤其重要。
以下指示假設您已使用 MySQL APT 儲存庫在您的系統上安裝 MySQL;如果不是這種情況,請改為遵循使用 MySQL APT 儲存庫取代 MySQL 的原生發行版本或取代透過直接 deb 套件下載安裝的 MySQL 伺服器中提供的指示。另請注意,您無法使用 MySQL APT 儲存庫來升級您從非原生軟體儲存庫安裝的 MySQL 發行版本 (例如,從 MariaDB 或 Percona)。
透過以下步驟,使用 MySQL APT 儲存庫對您的 MySQL 安裝執行就地升級 (也就是說,取代舊版本,然後使用舊資料檔案執行新版本)
請確保您的系統儲存庫清單上已包含 MySQL APT 儲存庫 (請參閱新增 MySQL Apt 儲存庫以取得指示)。
請執行以下命令,確保您擁有 MySQL APT 儲存庫上最新的套件資訊
$> sudo apt-get update
請注意,預設情況下,當您將 MySQL APT 儲存庫新增至您的系統時,MySQL APT 儲存庫會將 MySQL 更新為您選擇的發行系列。如果您想要升級到其他發行系列,請依照選取主要發行版本中的步驟來選取它。
一般來說,若要從一個發行系列升級到另一個發行系列,請前往下一個系列,而不是略過一個系列。例如,如果您目前執行的是 MySQL 5.7,並且想要升級到較新的系列,請先升級到 MySQL 8.0,然後再升級到 8.4。
重要事項MySQL APT 儲存庫不支援 MySQL 的就地降級。請遵循第 4 章「降級 MySQL」中的指示。
$> sudo apt-get install mysql-server
如果有較新的版本可用,則會升級 MySQL 伺服器、用戶端和資料庫通用檔案。若要升級任何其他 MySQL 套件,請使用相同的 apt-get install 命令,並提供您要升級的套件名稱
$> sudo apt-get install package-name
若要查看您從 MySQL APT 儲存庫安裝的套件名稱,請使用以下命令
$> dpkg -l | grep mysql | grep ii
注意如果您使用 apt-get upgrade 執行全系統升級,則只會將 MySQL 程式庫和開發套件升級為較新的版本 (如果有的話)。若要升級其他元件,包括伺服器、用戶端、測試套件等,請使用 apt-get install 命令。
在 APT 更新之後,MySQL 伺服器一律會重新啟動。
MySQL 的變體和分支由不同的單位透過他們自己的軟體儲存庫或下載網站進行發佈。您可以透過幾個步驟,使用 MySQL APT 儲存庫中的發行版本取代從 Linux 平台的軟體儲存庫安裝的 MySQL 原生發行版本。
MySQL APT 儲存庫只能取代 Debian 或 Ubuntu 維護和發佈的 MySQL 發行版本。它無法取代在發行版本的原生儲存庫內或外找到的任何 MySQL 分支。若要取代此類 MySQL 分支,您必須先將其解除安裝,然後再使用 MySQL APT 儲存庫安裝 MySQL。請遵循分支發行者的解除安裝指示,並且在繼續之前,請確保您已備份您的資料,而且知道如何將它們還原到新的伺服器。
一些具有原生 MySQL 套件相依性的協力廠商原生儲存庫套件可能無法與 MySQL APT 儲存庫套件搭配使用,不應與其一起使用;這些套件包括 akonadi-backend-mysql、handlersocket-mysql-5.5 和 zoneminder。
-
備份您的資料庫
若要避免遺失資料,請務必在嘗試使用 MySQL APT 儲存庫取代您的 MySQL 安裝之前備份您的資料庫。請參閱第 9 章「備份和復原」以取得指示。
-
新增 MySQL APT 儲存庫和選取發行系列
將 MySQL APT 儲存庫新增至您的系統儲存庫清單,並依照新增 MySQL Apt 儲存庫中提供的指示,選取您想要的發行系列。
-
透過 APT 更新取代原生發行版本
根據設計,當您對 MySQL 套件執行升級時,MySQL APT 儲存庫會取代您的原生 MySQL 發行版本。若要執行升級,請遵循步驟 4中使用 MySQL APT 儲存庫升級 MySQL中提供的相同指示。
一旦使用 MySQL APT 儲存庫取代了原生發行的 MySQL,使用 apt-get purge、apt-get remove --purge 或 dpkg -P 命令從原生儲存庫中清除舊的 MySQL 套件,可能會以各種方式影響新安裝的 MySQL 伺服器。因此,請勿從原生儲存庫套件中清除舊的 MySQL 套件。
從 MySQL 下載的 deb
套件,可用於安裝 MySQL 伺服器及其組件,可以從 MySQL 開發人員專區的 MySQL 下載頁面或從 MySQL APT 儲存庫下載。deb
套件來自兩個不同的來源,它們以不同的方式安裝和配置 MySQL。
如果您已使用 MySQL 開發人員專區的 deb
套件安裝了 MySQL,現在想使用 MySQL APT 儲存庫中的套件取代現有安裝,請按照以下步驟進行
備份您的資料庫。請參閱 第 9 章,備份和恢復 以取得說明。
按照先前給出的步驟來新增 MySQL APT 儲存庫。
執行以下命令來移除舊的 MySQL 安裝
$> sudo dpkg -P mysql
從 MySQL APT 儲存庫安裝 MySQL
$> sudo apt-get install mysql-server
如有需要,請在新安裝的 MySQL 上還原資料。請參閱 第 9 章,備份和恢復 以取得說明。
使用 APT 移除 MySQL
若要解除安裝使用 MySQL APT 儲存庫安裝的 MySQL 伺服器和相關組件,請先使用以下命令移除 MySQL 伺服器
$> sudo apt-get remove mysql-server
然後,移除任何其他與 MySQL 伺服器自動安裝的軟體
$> sudo apt-get autoremove
若要解除安裝其他組件,請使用以下命令,並將 package-name
取代為您要移除的組件套件名稱
$> sudo apt-get remove package-name
若要查看從 MySQL APT 儲存庫安裝的套件清單,請使用以下命令
$> dpkg -l | grep mysql | grep ii
關於升級共用用戶端程式庫的特別注意事項
您可以使用以下命令從 MySQL APT 儲存庫安裝共用用戶端程式庫 (請參閱 使用 APT 安裝其他 MySQL 產品和組件以取得更多詳細資訊)
$> sudo apt-get install libmysqlclient21
如果您已經從 Linux 平台的軟體儲存庫安裝了共用用戶端程式庫,可以使用相同的命令透過 MySQL APT 儲存庫的套件進行更新 (請參閱 使用 APT 更新取代原生發行版本以取得更多詳細資訊)。
在使用 APT 儲存庫更新 MySQL 後,使用舊版共用用戶端程式庫編譯的應用程式應該可以繼續運作。
如果您重新編譯應用程式並將它們與更新的程式庫動態連結:正如新版共用程式庫的典型情況一樣,任何使用更新、較新共用程式庫編譯的應用程式,可能需要在部署應用程式的系統上使用這些更新的程式庫。如果這些程式庫不在位,則需要共用程式庫的應用程式可能會失敗。因此,建議在這些系統上部署 MySQL 的共用程式庫套件。您可以透過將 MySQL APT 儲存庫新增到系統 (請參閱 新增 MySQL Apt 儲存庫),並使用本節開頭提供的命令安裝最新的共用用戶端程式庫來實現此目的。
MySQL APT 儲存庫支援在 Debian 和 Ubuntu 系統上安裝 MySQL NDB Cluster。若要了解在其他基於 Debian 的系統上安裝 NDB Cluster 的方法,請參閱 使用 .deb 檔案安裝 NDB Cluster。
如果您已在系統上安裝 MySQL 伺服器或 MySQL NDB Cluster,請確保在繼續之前已停止它,並已備份您的資料和設定檔。
-
為 MySQL NDB Cluster 新增 MySQL APT 儲存庫
按照新增 MySQL Apt 儲存庫中的步驟,將 MySQL APT 儲存庫新增至您系統的儲存庫清單。在組態套件的安裝過程中,當系統詢問您要設定哪個 MySQL 產品時,請選擇 「MySQL Server & Cluster」;當詢問您想要接收哪個版本時,請選擇 「mysql-cluster-
x
.y
.」。返回命令提示字元後,請跳至下方步驟 2。如果您已在系統上安裝組態套件,請確保它為最新版本,請執行以下命令
$> sudo apt-get install mysql-apt-config
然後,使用選取主要發行版本中描述的相同方法,選取要安裝的 MySQL NDB Cluster。當系統詢問您要設定哪個 MySQL 產品時,請選擇 「MySQL Server & Cluster」;當詢問您想要接收哪個版本時,請選擇 「mysql-cluster-
x
.y
.」。返回命令提示字元後,請使用以下命令更新來自 MySQL APT 儲存庫的套件資訊$> sudo apt-get update
-
安裝 MySQL NDB Cluster
若要進行 MySQL NDB Cluster 的最小安裝,請按照以下步驟進行
$> sudo apt-get install mysql-cluster-community-server
系統會要求您提供 SQL 節點的 root 使用者密碼;請參閱上方 使用 APT 安裝 MySQL 中提供的 root 密碼相關重要資訊。系統也可能會詢問您其他有關安裝的問題。
安裝管理節點的可執行檔
$> sudo apt-get install mysql-cluster-community-management-server
安裝資料節點的可執行檔
$> sudo apt-get install mysql-cluster-community-data-node
-
設定和啟動 MySQL NDB Cluster
請參閱第 25.3.3 節「NDB Cluster 的初始設定」,以了解如何設定 MySQL NDB Cluster,以及參閱第 25.3.4 節「NDB Cluster 的初始啟動」,以了解如何首次啟動它。在遵循這些指示時,請根據以下有關 NDB Cluster 安裝的 SQL 節點的詳細資訊進行調整
所有組態檔 (例如
my.cnf
) 都位於/etc/mysql
下所有二進位檔、程式庫、標頭等都位於
/usr/bin
和/usr/sbin
下資料目錄為
/var/lib/mysql
安裝其他 MySQL NDB Cluster 產品和組件
您可以使用 APT 從 MySQL APT 儲存庫安裝 MySQL NDB Cluster 的個別組件和其他產品。若要執行此操作,假設您已在系統的儲存庫清單中加入 MySQL APT 儲存庫 (請參閱 為 MySQL NDB Cluster 新增 MySQL APT 儲存庫),請按照使用 APT 安裝其他 MySQL 產品和組件中提供的相同步驟進行。
已知問題:目前,當您安裝測試套件套件 (mysql-cluster-community-test
) 時,並非所有執行 MySQL NDB Cluster 測試套件所需的組件都會自動安裝。請在使用 apt-get install 執行測試套件之前,安裝以下套件
mysql-cluster-community-auto-installer
mysql-cluster-community-management-server
mysql-cluster-community-data-node
mysql-cluster-community-memcached
mysql-cluster-community-java
ndbclient-dev
以下是手動將 MySQL APT 儲存庫新增至您系統的軟體儲存庫清單並設定它的步驟,而無需使用 MySQL 提供的發行套件
下載 MySQL GPG 公開金鑰 (請參閱第 2.1.4.2 節「使用 GnuPG 進行簽名檢查」,以了解如何執行此操作),並將其儲存至檔案,而無需新增任何空格或特殊字元。然後,使用以下命令將金鑰新增至您系統的 GPG 金鑰環
$> sudo apt-key add path/to/signature-file
或者,您可以使用 apt-key 公用程式將 GPG 金鑰直接下載到您的 APT 金鑰環中
$> sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A8D3785C
注意如上所示,MySQL 8.0.36 和更新版本的發行套件的金鑰 ID 為
A8D3785C
。對於較早版本的 MySQL 發行版本,金鑰 ID 為3A79BD29
。使用不正確的金鑰可能會導致金鑰驗證錯誤。建立名為
/etc/apt/sources.list.d/mysql.list
的檔案,並將儲存庫項目放入其中,格式如下 (這不是要執行的命令)deb http://repo.mysql.com/apt/{debian|ubuntu}/ {bookworm|jammy} {mysql-tools|mysql-8.4-lts|mysql-8.0}
為您的儲存庫設定選擇相關選項
根據您的平台,選擇 「debian」 或 「ubuntu」。
為您系統的版本選擇適當的版本名稱;例如,包括 「bookworm」 (適用於 Debian 12) 和 「jammy」 (適用於 Ubuntu 22.04)。
若要安裝 MySQL 伺服器、用戶端和資料庫常用檔案,請根據您想要的 MySQL 系列選擇 「mysql-8.4」、「mysql-8.0」 或 「mysql-innovation」。若要稍後切換到另一個發行系列,請返回並使用您的新選擇調整項目。這也包括存取 MySQL Router 和 MySQL Shell 等工具。
注意如果您已在系統上安裝 MySQL 版本,請勿在此步驟中選擇較低的版本,否則可能會導致不支援的降級操作。
包含 「mysql-tools」 以安裝連接器。
例如,在 Ubuntu 22.04 平台上,請在您的
mysql.list
檔案中使用這些行,以從 MySQL APT 儲存庫安裝 MySQL 8.4 和最新的 MySQL 連接器deb http://repo.mysql.com/apt/ubuntu/ jammy mysql-8.4 mysql-tools
使用以下命令從 MySQL APT 儲存庫取得最新的套件資訊
$> sudo apt-get update
您已設定系統使用 MySQL APT 儲存庫,現在可以繼續進行使用 APT 安裝 MySQL或使用 APT 安裝其他 MySQL 產品和組件。