资料来源: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 等等(并非所有安装包都适用于所有发行版;有关详细信息,请参阅使用 Yum 安装其他 MySQL 产品和组件)。
开始安装前
作为一种流行的开源软件,MySQL以其原有的或重新打包的方式,可以广泛地安装在来自不同来源的许多系统上,包括不同软件的下载站点、软件仓库等。以下说明假设您的系统可以使用中第三方分布式RPM安装包并MySQL尚未安装;如果不是这样,请参考章节 2.11.1.5, “使用 MySQL Yum 仓库升级 MySQL”或章节 2.5.2, “使用 MySQL Yum 仓库替换第三方发行版的 MySQL” 。
初次安装 MySQL 的步骤
按照以下步骤使用 MySQL Yum 仓库安装 MySQL 的最新 GA 版本:
1.添加 MySQL Yum 仓库
首先,将 MySQL Yum 仓库 添加到系统的仓库列表中。这是一个一次性操作,可以执行由 MySQL 提供的 RPM 进行安装。按以下步骤:
从MySQL 开发人员专区转到下载 MySQL Yum 仓库的页面 (https://dev.mysql.com/downloads/repo/yum/)。
选择并下载对应平台的发布包。
使用以下命令安装下载的发布包, 替换platform-and-version-specific-package-name为下载的 RPM 包名:
shell> sudo yum localinstall platform-and-version-specific-package-name.rpm
基于 EL6 的系统, 命令形式为:
shell> sudo yum localinstall mysql80-community-release-el6-{version-number}.noarch.rpm
基于 EL7 的系统:
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 仓库到本地系统仓库列表,并下载 GnuPG 秘钥以检查软件包的完整性。 有关 GnuPG 秘钥检查的详细信息,请参阅:章节 2.1.3.2, “使用 GnuPG 进行签名检查”。
可以通过以下命令检查 MySQL Yum 仓库是否成功添加(对于 Fedora, 需要将命令中的yum替换为dnf):
shell> yum repolist enabled | grep "mysql.*-community.*"
说明
一旦系统上启用了 MySQL Yum 仓库,任何通过 yum update 命令(或 dnf upgrade 于 fedora)进行的系统范围更新,都将升级系统上的 MySQL 包,并且如果 Yum 在 MySQL Yum 仓库中找到替换包,也将替换任何本地第三方包;请参阅 章节 2.11.1.5, “使用 MySQL Yum 仓库升级 MySQL”,以及可能对系统产生的影响的讨论,可以参阅 升级共享客户端库 。
2.选择发布系列
使用 MySQL Yum 仓库时,默认选择最新的 GA 系列 (当前为 MySQL 8.0)进行安装。 如果正是你想要的,那么你可以跳到下一步,安装 MySQL。
在 MySQL Yum 仓库中,MySQL Community Server 不同版本系统是托管在不同子库中的。子库默认启用最新的 GA 系列 (当前为 MySQL 8.0), 并且子库默认禁止所有其他系列(例如,MySQL 8.0 系列)。使用此命令可以查看在 MySQL Yum 仓库中的所有子库,并且可以看到它们哪些是启用的或禁用的(对于 Fedora,需要将命令中的yum替换为dnf):
shell> yum repolist all | grep mysql
要安装最新 GA 系列的最新发行版,不需要配置。要想安装最新 GA 系列以外的特定系列最新发行版,需要在运行安装命令之前禁用最新 GA 系列子仓库, 并启用特定系列子仓库。如果平台支持yum-config-manager,那么可以通过发出以下命令来实现这一点,禁用 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文件来选择发布系列。这是文件中关于发行系列子仓库的特有条目:
[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
在任何时候,都应该只启用一个发行系列的子仓库。当多个发行系列子仓库被启用时,Yum 将使用最新系列。
通过以下命令并检查其输出,验证是否已启用并禁用了正确的子仓库(对于启用 dnf 的系统,需要将命令中的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 服务器的状态:
shell> sudo service mysqld status
mysqld (pid 3066) is running.
在服务器的初始启动时,如果服务器的数据目录为空,则会发生以下情况:
服务器会初始化。
SSL 证书和密钥文件会生成在数据目录中。
validate_password会安装并启用。
超级用户账号'root'@'localhost'会创建。 超级用户的密码会设置并存储在错误日志文件中。要显示它,请使用以下命令:
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个字符。
关于安装程序后的更多信息,请参阅章节 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 版本要求在执行yum install 步骤之后,通过执行ln -s /opt/oracle/oracle-armtoolset-1/root/usr/lib64 /usr/lib64/gcc7 来调整libstdc++7路径。
用 Yum 更新 MySQL
除了安装之外, 你也可以使用 MySQL Yum 仓库为 MySQL 产品和组件执行更新。更多详情,参阅章节 2.11.1.5, “使用 MySQL Yum 仓库升级 MySQL”。