搜索

第 3 章 使用 MySQL

download PDF

MySQL 服务器是一个开源、快速且强大的数据库服务器。MySQL 是一个关系型数据库,其将数据转换为结构化的信息,并提供 SQL 接口来访问数据。它包含多个存储引擎和插件,以及地理信息系统(GIS)和 JavaScript 对象表示法(JSON)功能。

了解如何在 RHEL 系统上安装和配置 MySQL,如何备份 MySQL 数据、如何从较早的 MySQL 版本迁移,以及如何复制 MySQL

3.1. 安装 MySQL

RHEL 9.0 提供 MySQL 8.0,作为此 Application Stream 的初始版本,您可以作为 RPM 软件包轻松安装。

注意

由于 RPM 软件包有冲突,因此 MySQLMariaDB 数据库服务器无法在 RHEL 9 中并行安装。您可以在容器中并行使用 MySQLMariaDB 数据库服务器,请参阅 在容器中运行多个 MySQL 和 MariaDB 版本

要安装 MySQL,请使用以下流程。

流程

  1. 安装 MySQL 服务器软件包:

    # dnf install mysql-server
  2. 启动 mysqld 服务:

    # systemctl start mysqld.service
  3. 在引导时启用 mysqld 服务:

    # systemctl enable mysqld.service
  4. 建议:要在安装 MySQL 时提高安全性,请运行以下命令:

    $ mysql_secure_installation

    此命令启动一个完全交互的脚本,该脚本会提示过程中的每一步。该脚本可让您通过以下方法提高安全性:

    • 为 root 帐户设置密码
    • 删除匿名用户
    • 禁止远程 root 登录(在本地主机之外)

3.1.1. 在容器中运行多个 MySQL 和 MariaDB 版本

要在同一个主机上运行 MySQLMariaDB,请在容器中运行它们,因为由于 RPM 软件包冲突,您无法并行安装这些数据库服务器。

此流程以 MySQL 8.0MariaDB 10.5 作为示例,但您可以使用红帽生态系统目录中提供的任何 MySQLMariaDB 容器版本。

先决条件

  • container-tools 元数据包已安装。

流程

  1. 使用您的红帽客户门户网站帐户向 registry.redhat.io 注册中心进行身份验证:

    # podman login registry.redhat.io

    如果您已登录到容器注册中心,请跳过这一步。

  2. 在容器中运行 MySQL 8.0

    $ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mysql_root_password> -p <host_port_1>:3306 rhel9/mysql-80

    有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录

  3. 在容器中运行 MariaDB 10.5

    $ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mariadb_root_password> -p <host_port_2>:3306 rhel9/mariadb-105

    有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录

  4. 在容器中运行 MariaDB 10.11

    $ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mariadb_root_password> -p <host_port_3>:3306 rhel9/mariadb-1011

    有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录

    注意

    容器名称和两个数据库服务器的主机端口必须不同。

  5. 要确保客户端可以访问网络上的数据库服务器,请在防火墙中打开主机端口:

    # firewall-cmd --permanent --add-port={<host_port_1>/tcp,<host_port_2>/tcp,<host_port_3>/tcp,...}
    # firewall-cmd --reload

验证

  1. 显示正在运行的容器的信息:

    $ podman ps
  2. 连接到数据库服务器,并以 root 用户身份登录:

    # mysql -u root -p -h localhost -P <host_port> --protocol tcp
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.