2.2. 使用容器在单个主机上运行多个 MariaDB 和 MySQL 实例
如果从软件包安装 MariaDB 或 MySQL,您只能在同一主机上运行这些服务中的一个,且该服务的一个版本。另外,您还可以在容器中运行服务。
您可以配置以下情况:
- 您希望在同一主机上运行多个 MariaDB 或 MySQL 实例。
- 您想要在同一主机上运行 MariaDB 和 MySQL。
数据库服务器的容器名称和主机端口必须有所不同。
先决条件
-
container-tools元数据包已安装。
流程
使用您的红帽客户门户网站帐户向
registry.redhat.io注册中心进行身份验证:# podman login registry.redhat.io如果您已登录到容器注册中心,请跳过这一步。
在容器中运行 MySQL 8.0:
$ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mysql_root_password> -p <host_port_1>:3306 rhel9/mysql-80有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录。
在容器中运行 MySQL 8.4:
$ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mysql_root_password> -p <host_port_2>:3306 rhel9/mysql-84有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录。
在容器中运行 MariaDB 10.5:
$ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mariadb_root_password> -p <host_port_3>:3306 rhel9/mariadb-105有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录。
在容器中运行 MariaDB 10.11 :
$ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mariadb_root_password> -p <host_port_4>:3306 rhel9/mariadb-1011有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录。
在容器中运行 MariaDB 11.8 :
$ podman run -d --name <container_name> -e MYSQL_ROOT_PASSWORD=<mariadb_root_password> -p <host_port_5>:3306 rhel9/mariadb-118有关使用此容器镜像用法的更多信息,请参阅 红帽生态系统目录。
要确保客户端可以访问网络上的数据库服务器,请在防火墙中打开主机端口:
# firewall-cmd --permanent --add-port={<host_port_1>/tcp,<host_port_2>/tcp,<host_port_3>/tcp,<host_port_4>/tcp,...} # firewall-cmd --reload
验证
显示正在运行的容器的信息:
$ podman ps连接到数据库服务器,并以 root 用户身份登录:
# mysql -u root -p -h localhost -P <host_port> --protocol tcp