MySQL Yum存储库 安装、升级、集群

时间:2020-12-19 19:59:38
  1. 添加MySQL Yum存储库

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

    1. http://dev.mysql.com/downloads/repo/yum/上转到MySQL 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 mysql80-community-release-el6-n.noarch.rpm
    注意

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

  2. 选择发布系列

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

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

    shell> yum repolist all | grep mysql

    要从最新的GA系列安装最新版本,无需进行任何配置。要从最新GA系列以外的特定系列安装最新版本,请在运行安装命令之前禁用最新GA系列的子存储库并启用特定系列的子存储库。如果您的平台支持 yum-config-managerdnf config-manager命令,则可以通过发出以下命令来执行此操作,这些命令禁用8.0系列的子存储库并启用5.7系列的子存储库; 对于未启用dnf的平台:

    shell> sudo yum-config-manager --disable mysql80-community
    shell> sudo yum-config-manager --enable mysql57-community

    对于支持dnf的平台:

    shell> sudo dnf config-manager --disable mysql80-community
    shell> sudo dnf config-manager --enable mysql57-community

    除了使用yum-config-manager或 dnf config-manager命令外,您还可以通过手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择系列 。这是文件中发布系列的子存储库的典型条目:

    [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

    找到要配置的子存储库的条目,然后编辑该enabled选项。指定 enabled=0禁用子存储库,或 enabled=1启用子存储库。例如,要安装MySQL 5.7,请确保您拥有enabled=0MySQL 8.0的上述子存储库条目,并且具有 enabled=15.7系列的条目:

    # Enable to use MySQL 5.7
    [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

    您应该只在任何时候为一个发布系列启用子存储库。当启用多个版本系列的子存储库时,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开始):在服务器初始启动时,如果服务器的数据目录为空,则会发生以下情况:

    • 服务器已初始化。

    • 在数据目录中生成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的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

  5. 保护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存储库升级MySQL

注意
  • 在对MySQL进行任何更新之前,请仔细遵循升级MySQL中的说明。在那里讨论的其他说明中,在更新之前备份数据库尤为重要。

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

  1. 选择目标系列

    默认情况下,MySQL Yum存储库将MySQL更新为您在安装期间选择的发行版系列中的最新版本(有关详细信息,请参阅 选择发布系列),这意味着,例如,5.7.x安装不会更新到8.0 .x自动释放。要更新到另一个发行版系列,您需要首先禁用已选择的系列(默认情况下或自己)的子存储库,并为目标系列启用子存储库。为此,请参阅选择发布系列中的一般说明, 以编辑中的子存储库条目/etc/yum.repos.d/mysql-community.repo 文件。要从MySQL 5.7升级到8.0,请执行与选择发布系列中 所示步骤相反的步骤 ,禁用MySQL 5.7系列的子存储库并启用MySQL 8.0系列的子存储库。

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

    重要
  2. 升级MySQL

    对于未启用dnf的平台,通过以下命令升级MySQL及其组件:

    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
  3. 重启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的本地第三方分发

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

  1. 备份数据库

    为避免数据丢失,请在尝试使用MySQL Yum存储库替换MySQL安装之前备份数据库。有关如何备份数据库的信息,请参阅备份和恢复

  2. 添加MySQL Yum存储库

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

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

    根据设计,当您执行yum update 命令(或dnf升级为dnf启用的系统)时,MySQL Yum存储库将使用MySQL Yum存储库中的最新GA版本(当前来自MySQL 8.0系列)替换您的本机第三方MySQL。)在系统上,或yum更新mysql-server(或dnf升级mysql-server,用于支持dnf的系统)。

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

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

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

使用Yum存储库安装MySQL NDB集群

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

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

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

  1. 为MySQL NDB Cluster添加MySQL Yum存储库

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

    shell> sudo yum update mysql57-community-release

    对于支持dnf的系统:

    shell> sudo dnf --refresh upgrade mysql57-community-release
  2. 选择MySQL NDB集群子库

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

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

    对于支持dnf的平台:

    shell> sudo dnf config-manager --disable mysql57-community
    shell> 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子存储库的示例条目:

    [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

    要安装NDB Cluster 7.5,必须通过创建enabled=0上述子存储库条目来禁用MySQL 5.7子存储库,并通过创建enabled=1其条目来启用NDB Cluster 7.5子存储库:

    [mysql-cluster-7.5-community]
    name=MySQL Cluster 7.5 Community
    baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/6/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=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 Cluster,请执行以下步骤(对于支持dnf的系统,请使用dnf替换命令中的yum):

    • 安装SQL节点的组件:

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

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

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

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

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

      shell> sudo yum install mysql-cluster-community-data-node
  4. 配置和启动MySQL NDB集群

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

注意

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

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

您可以使用Yum从MySQL Yum存储库安装MySQL NDB Cluster的各个组件和其他产品。为此,假设您已在系统的存储库列表中安装了MySQL Yum存储库(如果没有,请按照使用Yum存储库安装MySQL NDB集群的步骤1和2 ),按照安装其他MySQL产品和组件中给出的相同步骤进行操作 。

注意

已知问题:当前,安装测试套件包(mysql-cluster-community-test)时,并非所有运行MySQL NDB Cluster测试套件所需的组件都会自动安装。在运行测试套件之前,使用 yum install(或 dnf install for dnf-enabled systems)安装以下软件包:

  • 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

平台特定说明

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版本要求您在执行步骤后执行调整 libstdc ++ 7路径。 ln -s /opt/oracle/oracle-armtoolset-1/root/usr/lib64 /usr/lib64/gcc7yum install

该文章引用官网yum库指南