本節提供有關使用 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 系列。
使用以下命令安裝下載的發行套件,將
version-specific-package-name
取代為下載的套件名稱(如果未在套件所在的資料夾內執行命令,則前面加上其路徑)$> 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)的版本。如果您不確定要選擇哪個版本,請不要變更為您選取的預設選項。如果您不希望安裝特定元件,也可以選擇 none。在完成所有元件的選擇後,選擇 Ok 以完成發行套件的設定和安裝。
注意包含 MySQL 9.0 的創新軌跡在元件名稱中包含 "-innovation-"。
您可以隨時變更稍後版本的選擇;有關說明,請參閱 選取主要發行版本。
使用以下命令更新 MySQL APT 儲存庫的套件資訊(此步驟為必要步驟)
$> sudo apt-get update
您也可以手動新增和設定 MySQL APT 儲存庫,而不是使用發行套件;詳細資訊請參閱 附錄 A:手動新增和設定 MySQL APT 儲存庫。
一旦在您的系統上啟用 MySQL APT 儲存庫,您將無法再從您平台的原生軟體儲存庫安裝任何 MySQL 套件,直到停用 MySQL APT 儲存庫為止。
一旦在您的系統上啟用 MySQL APT 儲存庫,任何透過 apt-get upgrade 命令進行的全系統升級都會自動升級您系統上的 MySQL 套件,並且如果 APT 從 MySQL APT 儲存庫中找到替代方案,也會取代您從 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 密碼。想要稍後設定密碼的使用者可以在對話方塊中將密碼欄位留白,然後直接按確定;在這種情況下,使用 Unix socket 檔案連線時,對伺服器的 root 存取將透過第 8.4.1.9 節,〈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
使用以下命令安裝您選擇的任何套件,並將 套件名稱
取代為要安裝的套件名稱
$> sudo apt-get install package-name
若要安裝共用的用戶端程式庫
$> 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 已使用 MySQL APT 儲存庫安裝在您的系統上;如果不是這種情況,請遵循使用 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 命令。
MySQL 伺服器在 APT 更新後一律會重新啟動。
MySQL 的變體和分支是由不同的合作夥伴透過它們自己的軟體儲存庫或下載網站發行的。您可以使用幾個步驟,將從 Linux 平台軟體儲存庫安裝的 MySQL 原生發行版本,取代為 MySQL APT 儲存庫中的發行版本。
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 開發人員專區的 MySQL 下載頁面或從 MySQL APT 儲存庫下載 MySQL 的 deb
套件,以安裝 MySQL 伺服器及其元件。這兩個來源的 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 叢集。如需在其他基於 Debian 的系統上安裝 NDB 叢集的方法,請參閱使用 .deb 檔案安裝 NDB 叢集。
如果您的系統上已經安裝了 MySQL 伺服器或 MySQL NDB 叢集,請務必在繼續之前停止它,並備份您的資料和設定檔。
-
為 MySQL NDB 叢集新增 MySQL APT 儲存庫
依照新增 MySQL Apt 儲存庫中的步驟,將 MySQL APT 儲存庫新增至您系統的儲存庫清單。在組態套件的安裝過程中,當詢問您要設定哪個 MySQL 產品時,請選擇「MySQL 伺服器和叢集」;當詢問您要接收哪個版本時,請選擇「mysql-cluster-
x
.y
.」返回命令提示字元後,請前往下方的步驟 2。如果您的系統上已經安裝了組態套件,請執行以下命令,確保它是最新的
$> sudo apt-get install mysql-apt-config
然後,使用選取主要發行版本中描述的相同方法,選取要安裝的 MySQL NDB 叢集。當詢問您要設定哪個 MySQL 產品時,請選擇「MySQL 伺服器和叢集」;當詢問您要接收哪個版本時,請選擇「mysql-cluster-
x
.y
.」返回命令提示字元後,使用以下命令從 MySQL APT 儲存庫更新套件資訊$> sudo apt-get update
-
安裝 MySQL NDB 叢集
若要執行 MySQL NDB 叢集的最小安裝,請依照以下步驟進行
$> 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 叢集
請參閱第 25.3.3 節,「NDB 叢集的初始設定」,了解如何設定 MySQL NDB 叢集,並參閱第 25.3.4 節,「NDB 叢集的初始啟動」,了解如何第一次啟動它。在遵循這些指示時,請根據以下關於 NDB 叢集安裝的 SQL 節點的詳細資訊進行調整
所有設定檔 (例如
my.cnf
) 都位於/etc/mysql
下所有二進位檔、程式庫、標頭等,都位於
/usr/bin
和/usr/sbin
下資料目錄是
/var/lib/mysql
安裝其他 MySQL NDB 叢集產品和元件
您可以使用 APT 從 MySQL APT 儲存庫安裝 MySQL NDB 叢集的個別元件和其他產品。若要執行此操作,假設您的系統的儲存庫清單上已經有 MySQL APT 儲存庫(請參閱為 MySQL NDB 叢集新增 MySQL APT 儲存庫),請依照使用 APT 安裝其他 MySQL 產品和元件中給定的相同步驟進行。
已知問題:目前,當您安裝測試套件套件(mysql-cluster-community-test
)時,並非所有執行 MySQL NDB 叢集測試套件所需的元件都會自動安裝。在執行測試套件之前,請使用 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 9.0)。若要稍後切換到其他發行版本系列,請返回並使用您的新選擇調整條目。這也包括存取 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 產品和元件。