資料來源:2.5.1 Installing MySQL on Linux Using the MySQL Yum Repository
MySQL Yum 倉庫 為 Oracle Linux、Red Hat Enterprise Linux、CentOS 和 Fedora 提供了 RPM 安裝包,用于安裝 MySQL server、client、 MySQL Workbench、MySQL Utilities、MySQL Router、MySQL Shell、Connector/ODBC、Connector/Python 等等(并非所有安裝包都適用于所有發(fā)行版;有關詳細信息,請參閱使用 Yum 安裝其他 MySQL 產品和組件)。
開始安裝前
作為一種流行的開源軟件,MySQL以其原有的或重新打包的方式,可以廣泛地安裝在來自不同來源的許多系統(tǒng)上,包括不同軟件的下載站點、軟件倉庫等。以下說明假設您的系統(tǒng)可以使用中第三方分布式RPM安裝包并MySQL尚未安裝;如果不是這樣,請參考章節(jié)?2.11.1.5, “使用 MySQL Yum 倉庫升級 MySQL”或章節(jié)?2.5.2, “使用 MySQL Yum 倉庫替換第三方發(fā)行版的 MySQL” 。
初次安裝 MySQL 的步驟
按照以下步驟使用 MySQL Yum 倉庫安裝 MySQL 的最新 GA 版本:
1.添加 MySQL Yum 倉庫
首先,將 MySQL Yum 倉庫 添加到系統(tǒng)的倉庫列表中。這是一個一次性操作,可以執(zhí)行由 MySQL 提供的 RPM 進行安裝。按以下步驟:
從MySQL 開發(fā)人員專區(qū)轉到下載 MySQL Yum 倉庫的頁面 (https://dev.mysql.com/downloads/repo/yum/)。
選擇并下載對應平臺的發(fā)布包。
使用以下命令安裝下載的發(fā)布包, 替換platform-and-version-specific-package-name為下載的 RPM 包名:
shell> sudo yum localinstall platform-and-version-specific-package-name.rpm
基于 EL6 的系統(tǒng), 命令形式為:
shell> sudo yum localinstall mysql80-community-release-el6-{version-number}.noarch.rpm
基于 EL7 的系統(tǒng):
shell> sudo yum localinstall mysql80-community-release-el7-{version-number}.noarch.rpm
Fedora 29:
shell> sudo dnf localinstall mysql80-community-release-fc29-{version-number}.noarch.rpm
Fedora 28:
shell> sudo dnf localinstall mysql80-community-release-fc28-{version-number}.noarch.rpm
安裝命令將會添加 MySQL Yum 倉庫到本地系統(tǒng)倉庫列表,并下載 GnuPG 秘鑰以檢查軟件包的完整性。 有關 GnuPG 秘鑰檢查的詳細信息,請參閱:章節(jié)?2.1.3.2, “使用 GnuPG 進行簽名檢查”。
可以通過以下命令檢查 MySQL Yum 倉庫是否成功添加(對于 Fedora, 需要將命令中的yum替換為dnf):
shell> yum repolist enabled | grep "mysql.*-community.*"
說明
一旦系統(tǒng)上啟用了 MySQL Yum 倉庫,任何通過 yum update 命令(或 dnf upgrade 于 fedora)進行的系統(tǒng)范圍更新,都將升級系統(tǒng)上的 MySQL 包,并且如果 Yum 在 MySQL Yum 倉庫中找到替換包,也將替換任何本地第三方包;請參閱 章節(jié)?2.11.1.5, “使用 MySQL Yum 倉庫升級 MySQL”,以及可能對系統(tǒng)產生的影響的討論,可以參閱 升級共享客戶端庫 。
2.選擇發(fā)布系列
使用 MySQL Yum 倉庫時,默認選擇最新的 GA 系列 (當前為 MySQL 8.0)進行安裝。 如果正是你想要的,那么你可以跳到下一步,安裝 MySQL。
在 MySQL Yum 倉庫中,MySQL Community Server 不同版本系統(tǒng)是托管在不同子庫中的。子庫默認啟用最新的 GA 系列 (當前為 MySQL 8.0), 并且子庫默認禁止所有其他系列(例如,MySQL 8.0 系列)。使用此命令可以查看在 MySQL Yum 倉庫中的所有子庫,并且可以看到它們哪些是啟用的或禁用的(對于 Fedora,需要將命令中的yum替換為dnf):
shell> yum repolist all | grep mysql
要安裝最新 GA 系列的最新發(fā)行版,不需要配置。要想安裝最新 GA 系列以外的特定系列最新發(fā)行版,需要在運行安裝命令之前禁用最新 GA 系列子倉庫, 并啟用特定系列子倉庫。如果平臺支持yum-config-manager,那么可以通過發(fā)出以下命令來實現這一點,禁用 5.7 系列子倉庫并啟用 8.0 系列:
shell> sudo yum-config-manager --disable mysql57-community
shell> sudo yum-config-manager --enable mysql80-community
對于啟用 dnf 的平臺:
shell> sudo dnf config-manager --disable mysql57-community
shell> sudo dnf config-manager --enable mysql80-community
除了使用yum-config-manager或dnf config-manager命令之外,你也可以通過手動編寫/etc/yum.repos.d/mysql-community.repo文件來選擇發(fā)布系列。這是文件中關于發(fā)行系列子倉庫的特有條目:
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
找到想要配置的子倉庫條目,然后編輯enabled 選項。指定enabled=0禁用子倉庫,或者enabled=1啟用子倉庫。例如,要安裝 MySQL 8.0,需要確保上述 MySQL 5.7 子倉庫條目為enabled=0,8.0 系列的條目為enabled=1:
# Enable to use MySQL 8.0
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
在任何時候,都應該只啟用一個發(fā)行系列的子倉庫。當多個發(fā)行系列子倉庫被啟用時,Yum 將使用最新系列。
通過以下命令并檢查其輸出,驗證是否已啟用并禁用了正確的子倉庫(對于啟用 dnf 的系統(tǒng),需要將命令中的yum替換為dnf):
shell> yum repolist enabled | grep mysql
3.安裝 MySQL
通過以下命令安裝 MySQL(對于 Fedora,需要將命令中的yum替換為dnf):
shell> sudo yum install mysql-community-server
這將安裝 MySQL server? 包 (mysql-community-server)以及運行該服務器所需的組件包,包括客戶端包 (mysql-community-client),客戶端和服務端通用的錯誤消息和字符集(mysql-community-common),以及共享客戶端庫 (mysql-community-libs)。
4.啟動 MySQL 服務器
使用以下命令啟動 MySQL 服務器:
shell> sudo service mysqld start
Starting mysqld:[ OK ]
您可以使用以下命令檢查 MySQL 服務器的狀態(tài):
shell> sudo service mysqld status
mysqld (pid 3066) is running.
在服務器的初始啟動時,如果服務器的數據目錄為空,則會發(fā)生以下情況:
服務器會初始化。
SSL 證書和密鑰文件會生成在數據目錄中。
validate_password會安裝并啟用。
超級用戶賬號'root'@'localhost'會創(chuàng)建。 超級用戶的密碼會設置并存儲在錯誤日志文件中。要顯示它,請使用以下命令:
shell> sudo grep 'temporary password' /var/log/mysqld.log
盡快更改在記錄中給 root 生成的臨時密碼,為超級用戶帳戶設置自定義密碼:
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
說明
validate_password是默認安裝的。默認由 validate_password 實現的密碼策略要求:密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符,并且密碼的總長度至少為8個字符。
關于安裝程序后的更多信息,請參閱章節(jié)?2.10, “安裝后的設置和測試”。
說明
基于 EL7 平臺的兼容信息:來自平臺本地軟件倉庫用來安裝 MySQL 服務器的下列 RPM 包與來自 MySQL Yum 倉庫的包不兼容。一旦使用 MySQL Yum 倉庫安裝了 MySQL,你將無法安裝這些包(反之亦然)。
·akonadi-mysql
使用 Yum 安裝其他 MySQL 產品和組件
你可以使用 Yum 來安裝和管理 MySQL 的各個組件。 其中的一些組件被托管在 MySQL Yum 的子倉庫中:例如,MySQL Connectors 位于 MySQL Connectors Community 子倉庫中,MySQL Workbench 在 MySQL Tools Community 中。可以使用以下命令列出平臺中來自 MySQL Yum 倉庫的所有可用的 MySQL 組件包(對于 Fedora,需要將命令中的yum替換為dnf):
shell> sudo yum --disablerepo=\* --enablerepo='mysql*-community*' list available
使用以下命令可以選擇安裝任意包,替換package-name為包名(對于 Fedora,需要將命令中的yum替換為dnf):
shell> sudo yum install package-name
例如,在 Fedorato 上安裝 MySQL Workbench:
shell> sudo dnf install mysql-workbench-community
安裝共享客戶端庫 (對于 Fedora,需要將命令中的yum替換為dnf):
shell> sudo yum install mysql-community-libs
平臺特異性
ARM 支持
Oracle Linux 7 支持 ARM 64位 (aarch64) ,并且需要 Oracle Linux 7 軟件集合倉庫 (ol7_software_collections)。 例如,要安裝服務器:
shell> yum-config-manager --enable ol7_software_collections
shell> yum install mysql-community-server
說明
從 MySQL 8.0.12 開始,Oracle Linux 7 支持 ARM 64位(aarch64)。
已知限制
8.0.12 版本要求在執(zhí)行yum install 步驟之后,通過執(zhí)行l(wèi)n -s /opt/oracle/oracle-armtoolset-1/root/usr/lib64 /usr/lib64/gcc7 來調整libstdc++7路徑。
用 Yum 更新 MySQL
除了安裝之外, 你也可以使用 MySQL Yum 倉庫為 MySQL 產品和組件執(zhí)行更新。更多詳情,參閱章節(jié)?2.11.1.5, “使用 MySQL Yum 倉庫升級 MySQL”。