搜索

第 14 章 数据库镜像

download PDF

14.1. MariaDB

14.1.1. 描述

rhscl/mariadb-105-rhel7 镜像提供 MariaDB 10.5 SQL 数据库服务器。

14.1.2. 权限

要拉取 rhscl/mariadb-105-rhel7 镜像,以 root 用户身份运行以下命令:

# podman pull registry.redhat.io/rhscl/mariadb-105-rhel7

14.1.3. 配置和使用

使用和配置与 MySQL 镜像相同。请注意,守护进程的名称为 mysqld,所有环境变量的名称都与 MySQL 中相同。

镜像通过将 -e VAR=VALUE 选项传递给 podman run 命令来识别,您可以在初始化过程中设置以下环境变量:

变量名称描述

MYSQL_USER

要创建的 MySQL 帐户的用户名

MYSQL_PASSWORD

用户帐户的密码

MYSQL_DATABASE

数据库名称

MYSQL_ROOT_PASSWORD

root 用户的密码(可选)

MYSQL_CHARSET

默认字符集(可选)

MYSQL_COLLATION

默认冲突(可选)

注意

root 用户默认不设置密码,仅允许本地连接。您可以在初始化容器时设置 MYSQL_ROOT_PASSWORD 环境变量来设置它。这样,您可以远程登录到 root 帐户。本地连接仍不需要密码。要禁用远程 root 访问权限,只需取消设置 MYSQL_ROOT_PASSWORD 并重新启动容器。

重要

由于密码是镜像配置的一部分,因此唯一支持的为无特权用户(MYSQL_USER)和 root 用户更改密码的方法是分别更改环境变量 MYSQL_PASSWORDMYSQL_ROOT_PASSWORD。通过 SQL 语句更改数据库密码或任何其他方法将导致变量中保存的值与实际密码不匹配。每当数据库容器启动时,它会将密码重置为环境变量中存储的值。

以下环境变量会影响 MySQL 配置文件且是可选的:

变量名称描述默认

MYSQL_LOWER_CASE_TABLE_NAMES

设置表名称的存储和比较方式

0

MYSQL_MAX_CONNECTIONS

允许客户端同时连接的最大数量

151

MYSQL_MAX_ALLOWED_PACKET

一个数据包或任何生成的/中间字符串的最大值

200M

MYSQL_FT_MIN_WORD_LEN

FULLTEXT 索引中包含的单词的最小长度

4

MYSQL_FT_MAX_WORD_LEN

FULLTEXT 索引中包含的单词的最大长度

20

MYSQL_AIO

如果原生 AIO 无法正常工作,控制 innodb_use_native_aio 设置值。See http://help.directadmin.com/item.php?id=529

1

MYSQL_TABLE_OPEN_CACHE

所有线程打开的表数

400

MYSQL_KEY_BUFFER_SIZE

用于索引块的缓冲大小

32M(或者 10% 可用内存)

MYSQL_SORT_BUFFER_SIZE

用于排序的缓冲区的大小

256K

MYSQL_READ_BUFFER_SIZE

用于后续扫描的缓冲大小

8M(或者 5% 可用内存)

MYSQL_INNODB_BUFFER_POOL_SIZE

InnoDB 缓存表和索引数据的缓冲池的大小

32M(或者 50% 可用内存)

MYSQL_INNODB_LOG_FILE_SIZE

日志组中每个日志文件的大小

8M(或者 15% 可用内存)

MYSQL_INNODB_LOG_BUFFER_SIZE

InnoDB 用来写入磁盘日志文件的缓冲大小

8M(或者 15% 可用内存)

MYSQL_DEFAULTS_FILE

指向其它配置文件

/etc/my.cnf

MYSQL_BINLOG_FORMAT

设置 binlog 格式;支持的值是 rowstatement

声明

当使用 --memory 参数集运行 MariaDB 镜像时,以下参数的值将根据可用内存自动计算,除非指定了参数:

变量名称默认内存百分比

MYSQL_KEY_BUFFER_SIZE

10%

MYSQL_READ_BUFFER_SIZE

5%

MYSQL_INNODB_BUFFER_POOL_SIZE

50%

MYSQL_INNODB_LOG_FILE_SIZE

15%

MYSQL_INNODB_LOG_BUFFER_SIZE

15%

您还可以通过将 -v /host:/container 选项传递给 podman run 命令来设置以下挂载点:

卷挂载点描述

/var/lib/mysql/data

MySQL 数据目录

注意

将目录从主机挂载到容器时,请确保挂载的目录具有适当的权限,并且目录的所有者和组与容器中运行的用户 UID 或名称匹配。

14.1.4. 延长镜像

请参阅 如何扩展 rhscl/mariadb-101-rhel7 容器镜像,它也适用于 rhscl/mariadb-105-rhel7

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.