2.5.1 使用 MySQL Yum 仓库在 Linux 上安装 MySQL

资料来源: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”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349