以下内容是mysql官方的翻译。

使用MySQL Yum存储库的快速指南

抽象

MySQL Yum存储库提供用于在Linux平台上安装MySQL服务器,客户端和其他组件的RPM软件包。这些软件包还可以升级和替换从Linux发行版本的本机软件仓库安装的任何第三方MySQL软件包,如果MySQL可以替换它们。

MySQL Yum存储库支持以下Linux发行版:

  • 基于EL6和EL7的平台(例如,相应版本的Oracle Linux,Red Hat Enterprise Linux和CentOS)

  • Fedora 25和26


注意

并非所有这些Linux发行版都支持所有版本的MySQL。请参阅选择发行版系列 ,了解如何确定Linux 发行版是否支持特定版本。


这是使用MySQL Yum存储库的快速指南。有关更多信息,请参阅进一步阅读

有关法律信息,请参阅法律声明

有关使用MySQL的帮助,请访问 MySQL论坛或 MySQL邮件列表,您可以在其中与其他MySQL用户讨论您的问题。

有关MySQL产品的其他文档,包括将文档翻译成其他语言,以及各种格式(包括HTML和PDF格式)的可下载版本,请参阅MySQL文档库

文件生成于:2017-08-23(修订:53609)


目录     


MySQL的新安装步骤

注意

以下说明假定您的系统上尚未使用第三方分发的RPM软件包安装MySQL; 如果不是这种情况,请按照更换MySQL的原生第三方分发中的说明进行操作

  1. 添加MySQL Yum存储库

    首先,将MySQL Yum存储库添加到系统的存储库列表中。按着这些次序:


    注意

    一旦发布包安装在您的系统上,yum update 命令(或dnf启用的系统的dnf升级)的任何系统级更新将自动升级系统上的MySQL软件包,并替换任何本机的第三方软件包,如果Yum在MySQL Yum存储库中找到替代它们。有关详细信息,请参阅使用MySQL Yum存储库升级MySQL并 替换MySQL 的本机第三方分发

    1. 转到MySQL Yum存储库的下载页面,网址为 http://dev.mysql.com/downloads/repo/yum/

    2. 选择并下载您的平台的发行包。

    3. 使用以下命令安装下载的发行包,并platform-and-version-specific-package-name 使用下载的软件包的名称进行替换 

      shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm


      例如,对于n基于EL6的系统的版本,命令是:

      shell> sudo rpm -Uvh mysql57-community-release-el6-n.noarch.rpm


  2. 选择版本系列

    使用MySQL Yum存储库时,默认情况下选择最新的MySQL版本的MySQL进行安装。如果这是你想要的,可以跳到下一步, 使用Yum安装MySQL

    在MySQL Yum存储库(http://repo.mysql.com/yum/)中,MySQL社区服务器的不同版本系列托管在不同的子链接库中。默认情况下,最新的GA系列(目前为MySQL 5.7)的子功能已启用,默认情况下禁用所有其他系列(例如,MySQL 5.6系列)的子修补程序。使用此命令查看MySQL Yum存储库中的所有子修补程序,并查看其中哪些启用或禁用(对于启用dnf的系统,请使用dnf替换 命令中的 yum):

    shell> yum repolist all | grep mysql


    要安装最新的GA系列的最新版本,不需要配置。要安装最新的GA系列以外的特定系列的最新版本,请禁用最新GA系列的辅助设备,并在运行安装命令之前启用特定系列的子功能。如果您的平台支持 yum-config-managerdnf config-manager命令,您可以通过以下命令发出以下命令,该命令禁用5.7系列的子功能,并启用5.6系列的子系统; 对于不启用dnf的平台:

    shell> sudo yum-config-manager --disable mysql57-communityshell> sudo yum-config-manager --enable mysql56-community

    对于启用dnf的平台:

    shell> sudo dnf config-manager --disable mysql57-communityshell> sudo dnf config-manager --enable mysql56-community

    除了使用yum-config-manager或 dnf config-manager命令,还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择一个系列 这是一个典型的条目:文件中的subrepository:

    [mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    找到要配置的子链接的条目,然后编辑该enabled选项。指定 enabled=0禁用子广告素材,或 enabled=1启用子广告素材。例如,要安装MySQL 5.6,请确保您具有 enabled=0上述用于MySQL 5.7的子表项,并enabled=1为5.6系列输入:

    # Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    您只能在任何时间启用一个版本系列的子链接。当启用了多个版本系列的次要药剂时,Yum将使用最新的系列。

    验证是否通过运行以下命令并检查其输出来启用和禁用正确的子修补剂(对于启用dnf的系统,请使用dnf在命令中 替换 yum):

    shell> yum repolist enabled | grep mysql


  3. 安装MySQL

    通过以下命令安装MySQL(对于启用dnf的系统,用命令 dnf替换yum):

    shell> sudo yum install mysql-community-server

    这将安装MySQL服务器的包以及其他必需的包。

  4. 启动MySQL服务器

    使用以下命令启动MySQL服务器:

    shell> sudo service mysqld start


    对于基于EL7的平台,这是首选命令:

    shell> sudo systemctl start mysqld.service


    您可以使用以下命令检查MySQL服务器的状态:

    shell> sudo service mysqld status


    对于基于EL7的平台,这是首选命令:

    shell> sudo systemctl status mysqld.service


    MySQL服务器初始化(仅适用于MySQL 5.7):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

    注意

    MySQL的 validate_password 插件默认安装。这将要求密码至少包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且总密码长度至少为8个字符。

  • 服务器已初始化。

  • 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!';
保护MySQL安装(仅适用于MySQL 5.6)程序mysql_secure_installation 允许您执行重要操作,如设置root密码,删除匿名用户等。始终运行它以确保您的MySQL 5.6安装:shell> mysql_secure_installation记住你设置的root密码很重要。有关详细信息,请参阅 mysql_secure_installation - 改进MySQL安装安全性。在安装MySQL 5.7之后, 不要运行mysql_secure_installation,因为程序的功能已经由Yum存储库安装执行。

注意

对于基于EL7的平台:请参阅 基于EL7平台的兼容性信息

安装其他MySQL产品和组件

您可以使用Yum来安装和管理MySQL的各个组件。其中一些组件托管在MySQL Yum存储库的子修补程序中。使用以下命令从MySQL Yum存储库中的所有子修补程序列出可用于您平台的所有MySQL组件的软件包(对于启用dnf的系统,dnf命令中替换yum):

shell> yum --disablerepo=\* --enablerepo='mysql*-community*' list available

使用以下命令安装您选择的任何软件包,替换package-name为软件包的名称(对于启用dnf的系统,用 命令dnf替换yum):

shell> sudo yum install package-name

例如,要在Fedora上安装MySQL Workbench:

shell> sudo dnf install mysql-workbench-community


使用MySQL Yum Repository升级MySQL

注意

  • 在执行MySQL更新之前,请仔细阅读升级MySQL中的说明除了其他讨论的说明之外,在更新之前备份数据库尤其重要。

使用MySQL Yum存储库,通过执行以下步骤来执行就地更新(即将旧版本替换旧版本的旧版数据文件)用于您的MySQL安装(他们假设您已经安装MySQL与MySQL Yum存储库或直接从MySQL Developer Zone的MySQL下载页面下载的RPM软件包 ;如果不是这样,请按照替换MySQL的原生第三方分发的说明进行操作):

  1. 选择目标系列

    默认情况下,MySQL Yum存储库将MySQL更新到安装过程中选择的版本系列中的最新版本(有关详细信息,请参阅 选择版本系列),例如,5.6.x安装将不会更新为5.7 .x自动释放。要更新到另一个版本系列,您需要首先禁用已选择的系列(默认情况下,或通过您自己)的子链接,并为目标系列启用子修订。要做到这一点,请参阅选择发行版系列中的一般说明来编辑/etc/yum.repos.d/mysql-community.repo 文件。对于从MySQL 5.6升级到5.7,执行 反向的中所示的步骤 选择一个推出系列,禁用subrepository为MySQL 5.6系列,并使该为MySQL 5.7系列。

    作为一般规则,要从一个版本系列升级到另一个版本,请转到下一个系列,而不是跳过一系列。例如,如果您当前正在运行MySQL 5.5并希望升级到5.7,请先升级到MySQL 5.6,然后升级到5.7。

    重要


升级MySQL通过以下命令升级MySQL及其组件,适用于不启用dnf的平台:shell> sudo yum update mysql-server对于启用dnf的系统:shell> sudo dnf --refresh upgrade mysql-server或者,您可以通过告诉Yum更新系统上的所有内容来更新MySQL,这可能需要相当多的时间; 对于不启用dnf的平台:shell> sudo yum update对于启用dnf的系统:shell> sudo dnf upgrade重新启动MySQL在Yum更新后,MySQL服务器始终会重新启动。一旦服务器重新启动,运行 mysql_upgrade来检查并可能解决旧数据和已升级的软件之间的任何不兼容性。mysql_upgrade也执行其他功能; 请参阅 mysql_upgrade - 查看和升级MySQL表的详细信息。


您也可以仅更新特定组件。使用以下命令列出MySQL组件的所有已安装的软件包(对于启用dnf的系统,dnf命令中 替换 yum):

shell> sudo yum list installed | grep "^mysql"

在识别所选组件的包名后,对于不启用dnf的平台,请使用以下命令更新包,替换 package-name为包的名称:

shell> sudo yum update package-name

对于启用dnf的系统:

shell> sudo dnf upgrade package-name


替换MySQL的本地第三方分发

要从受支持的Linux平台本机软件仓库安装的MySQL的第三方发行版,从MySQL Yum存储库中获取最新的GA版本(来自MySQL 5.7系列),请按照下列步骤操作:

  1. 备份数据库

    为避免数据丢失,请始终备份数据库,然后再尝试使用MySQL Yum存储库替换MySQL安装。有关如何备份数据库,请参阅备份和恢复

  2. 添加MySQL Yum存储库

    按照添加MySQL Yum Repository中的说明将MySQL Yum存储库添加到系统的存储库列表中 

  3. 通过Yum更新或DNF升级替换本机第三方分发

    按照设计,当您执行yum update命令(或 dnf启用的系统的dnf升级)时,MySQL Yum存储库将使用最新的GA版本(来自MySQL 5.7系列当前)从MySQL Yum存储库替换您的本机第三方MySQL )或yum更新mysql-server(或 dnf升级mysql-server用于启用dnf的系统)。

使用Yum存储库更新MySQL后,使用旧版本的共享客户端库编译的应用程序应继续运行。但是,如果要重新编译应用程序并将其与更新的库动态链接,请参阅 升级共享客户端库以获取一些特殊注意事项。

笔记

  • 对于基于EL7的平台:请参阅 基于EL7平台的兼容性信息

  • 如果您有从非本地存储库(例如,从MariaDB或Percona)下载并安装的MySQL的第三方发行版,请务必按照MySQL服务器参考手册中给出的 说明进行替换

使用Yum Repository安装MySQL NDB群集

笔记

  • 以下说明假定您的系统上尚未安装MySQL服务器和MySQL NDB群集; 如果不是这种情况,请在继续之前删除MySQL服务器或MySQL NDB群集,包括其所有可执行文件,库,配置文件和数据目录。但是,没有必要删除可能用于在系统上启用MySQL Yum存储库的发行包。

  • NDB Cluster SQL节点包对Perl Class::MethodMaker模块有依赖关系 如果您的系统上启用了EPEL(Enterprise Linux的额外软件包)存储库,则Yum可以处理此依赖项; 请参阅 这里的说明如何启用EPEL存储库。

  • MySQL Yum存储库支持安装MySQL NDB Cluster,仅适用于版本7.5.6及更高版本,仅适用于EL6和EL7平台。有关安装NDB Cluster的其他方法,请参阅 在Linux上安装NDB Cluster 7.3和7.4,或者 在Linux上安装NDB Cluster 7.5,具体取决于您正在使用的版本系列。

  1. 添加用于MySQL NDB群集的MySQL Yum Repository

    按照添加MySQL Yum存储库中的步骤将MySQL Yum存储库 添加到系统的存储库列表中。如果您已经执行了之前的步骤,请通过运行以下命令来确保您具有最新版本的发行包,对于不启用dnf的平台:

    shell> sudo yum update mysql57-community-release

    对于启用dnf的系统:

    shell> sudo dnf --refresh upgrade mysql57-community-release


  2. 选择MySQL NDB Cluster Subrepository

    在MySQL Yum存储库(http://repo.mysql.com/yum/)中,MySQL社区服务器和MySQL NDB群集托管在不同的子站点中。默认情况下,MySQL服务器的最新GA系列的子功能启用,并且禁用了MySQL NDB Cluster的子功能。要安装NDB群集,请禁用MySQL服务器的子站点,并启用NDB群集的子站点。如果您的平台支持 yum-config-managerdnf config-manager命令,您可以通过发出以下命令来执行此操作,该命令禁用MySQL 5.7系列的子链接,并为MySQL NDB Cluster 7.5启用该命令; 对于不启用dnf的平台:

    shell> sudo yum-config-manager --disable mysql57-communityshell> sudo yum-config-manager --enable mysql-cluster-7.5-community

    对于启用dnf的平台:

    shell> sudo dnf config-manager --disable mysql57-communityshell> sudo dnf config-manager --enable mysql-cluster-7.5-community

    除了使用yum-config-manager或 dnf config-manager命令外,还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择一个子链接 这是文件中的MySQL 5.7 subrepository的示例条目:


    [mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    要安装NDB Cluster 7.5,您必须通过enabled=0对上述子制程表项进行设置禁用MySQL 5.7子目录,并通过使其成为NDB Cluster 7.5子目录来启用enabled=1

    [mysql-cluster-7.5-community]name=MySQL Cluster 7.5 Communitybaseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/6/$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    保存对文件的更改后,请通过运行以下命令来验证是否启用了正确的子修补剂(对于启用dnf的系统,请使用dnf在命令中 替换 yum):

    shell> yum repolist enabled | grep mysql!mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community               18!mysql-connectors-community/x86_64  MySQL Connectors Community                31!mysql-tools-community/x86_64       MySQL Tools Community                     33

    NDB Cluster 7.5(社区版)的子功能现已启用。在列表中还有一些MySQL Yum存储库的默认启用的其他子修补程序。

  3. 安装MySQL NDB群集

    为了最小化安装MySQL NDB群集,请按照以下步骤(对于启用dnf的系统,dnf替换命令中的yum):

  • 安装管理节点的可执行文件:

    shell> sudo yum install mysql-cluster-community-management-server
  • 安装数据节点的可执行文件:

    shell> sudo yum install mysql-cluster-community-data-node
  • 安装SQL节点的组件:

    shell> sudo yum install mysql-cluster-community-server

    安装完成后,按照启动MySQL服务器中的步骤启动并初始化SQL节点 

    如果您选择使用该mysqld --initialize命令手动初始化数据目录(请参阅 使用mysqld手动初始化数据目录 了解详细信息),root将生成密码并存储在SQL节点的错误日志中; 请参阅MySQL服务器初始化,了解如何查找密码,以及需要了解的一些事情。

配置和启动MySQL NDB群集请参阅NDB Cluster的初始配置,了解如何首次配置MySQL NDB Cluster和NDB Cluster的 初始启动。

注意

对于基于EL7的平台:请参阅 基于EL7平台的兼容性信息

安装其他MySQL NDB群集产品和组件

您可以使用Yum从MySQL Yum存储库安装MySQL NDB Cluster的各个组件和其他产品。要做到这一点,假设您已经在系统的存储库列表中存在MySQL Yum存储库(如果没有,请按照使用Yum Repository安装MySQL NDB群集的步骤1和2 ),按照安装其他MySQL产品和组件中的相同步骤操作 

注意

已知问题:目前,在安装测试套件package(mysql-cluster-community-test时,不会自动安装运行MySQL NDB Cluster测试套件所需的所有组件在运行测试套件之前,使用 yum install(或 dnf启用系统的 dnf安装)安装以下软件包

  • mysql-cluster-community-auto-installer

  • mysql-cluster-community-management-server

  • mysql-cluster-community-data-node

  • mysql-cluster-community-memcached

  • mysql-cluster-community-java

  • mysql-cluster-community-ndbclient-devel