本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

mysql-56-centos7 Docker 镜像下载 - 轩辕镜像

mysql-56-centos7 镜像详细信息和使用指南

mysql-56-centos7 镜像标签列表和版本信息

mysql-56-centos7 镜像拉取命令和加速下载

mysql-56-centos7 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

mysql-56-centos7
centos/mysql-56-centos7

mysql-56-centos7 镜像详细信息

mysql-56-centos7 镜像标签列表

mysql-56-centos7 镜像使用说明

mysql-56-centos7 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

MySQL 5.6 SQL数据库服务器容器镜像,适用于OpenShift和通用场景,提供RHEL和CentOS基础版本,包含mysqld守护进程和客户端应用,支持数据库访问与管理。
23 收藏0 次下载activecentos镜像

mysql-56-centos7 镜像详细说明

mysql-56-centos7 使用指南

mysql-56-centos7 配置说明

mysql-56-centos7 官方文档

MySQL 5.6 SQL Database Server 容器镜像

该容器镜像包含 MySQL 5.6 SQL 数据库服务器,适用于 OpenShift 和通用场景。用户可选择基于 RHEL 或 CentOS 的镜像:RHEL 镜像可从 Red Hat Container Catalog 获取,镜像名为 registry.access.redhat.com/rhscl/mysql-56-rhel7;CentOS 镜像可从 Docker Hub 获取,镜像名为 centos/mysql-56-centos7

概述

本容器镜像提供 MySQL mysqld 守护进程和客户端应用的容器化打包。mysqld 服务器守护进程接受客户端连接,并代表客户端提供对 MySQL 数据库内容的访问。有关 MySQL 项目的更多信息,请访问网站([]

核心功能与特性

  • 提供容器化的 MySQL 5.6 数据库服务,包含 mysqld 守护进程和客户端工具
  • 支持 RHEL 和 CentOS 两种基础镜像,适应不同环境需求
  • 通过环境变量配置数据库用户、密码、数据库名等核心参数
  • 支持数据目录持久化存储,确保数据不丢失
  • 提供自动调优功能,基于容器内存配置自动计算关键参数值
  • 支持通过环境变量自定义 MySQL 配置参数(如连接数、缓冲区大小等)
  • 支持扩展镜像(通过 source-to-image)和 SSL 加密连接
  • 提供数据目录版本检查与升级机制,保障版本兼容性

使用场景与适用范围

  • OpenShift 平台上的 MySQL 5.6 数据库部署
  • 开发、测试和生产环境中的独立 MySQL 数据库服务
  • 需要快速部署和配置的 MySQL 5.6 实例
  • 需持久化存储数据的数据库应用场景
  • 需要自定义配置或扩展功能的 MySQL 部署需求

使用方法与配置说明

基本使用

以下示例使用 Red Hat Container Catalog 中的 rhscl/mysql-56-rhel7 镜像。若仅设置必要环境变量且不使用主机目录存储数据库,执行以下命令:

bash
$ docker run -d --name mysql_database -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -p 3306:3306 rhscl/mysql-56-rhel7

此命令将创建名为 mysql_database 的容器,运行 MySQL 数据库 db,用户凭据为 user:pass,并将容器的 3306 端口映射到主机。若需持久化数据库,添加 -v /host/db/path:/var/lib/mysql/data 参数(/host/db/path 为主机目录,/var/lib/mysql/data 为容器内 MySQL 数据目录)。

首次运行时,若数据目录未初始化,入口脚本将执行 mysql_install_db 并设置必要的数据库用户和密码;若已初始化,则直接启动 mysqld(以 PID 1 运行)。停止容器:docker stop mysql_database

环境变量

通过 -e VAR=VALUE 传递环境变量,支持以下参数:

必选环境变量

  • MYSQL_USER:需创建的 MySQL 账户用户名
  • MYSQL_PASSWORD:该账户的密码
  • MYSQL_DATABASE:需创建的数据库名称
  • MYSQL_ROOT_PASSWORD(可选):root 用户密码(默认无密码,仅允许本地连接)

配置环境变量(均为可选,带默认值)

  • MYSQL_LOWER_CASE_TABLE_NAMES(默认:0):设置表名的存储和比较方式
  • MYSQL_MAX_CONNECTIONS(默认:151):最大允许同时客户端连接数
  • MYSQL_MAX_ALLOWED_PACKET(默认:200M):单个数据包或生成/中间字符串的最大大小
  • MYSQL_FT_MIN_WORD_LEN(默认:4):FULLTEXT 索引包含的最小单词长度
  • MYSQL_FT_MAX_WORD_LEN(默认:20):FULLTEXT 索引包含的最大单词长度
  • MYSQL_AIO(默认:1):控制 innodb_use_native_aio 设置(原生 AIO 损坏时使用)
  • 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(默认:32M 或可用内存的 50%):InnoDB 缓存表和索引数据的缓冲池大小
  • MYSQL_INNODB_LOG_FILE_SIZE(默认:8M 或可用内存的 15%):日志组中每个日志文件的大小
  • MYSQL_INNODB_LOG_BUFFER_SIZE(默认:8M 或可用内存的 15%):InnoDB 写入日志文件的缓冲区大小
  • MYSQL_DEFAULTS_FILE(默认:/etc/my.cnf):指向替代配置文件的路径
  • MYSQL_BINLOG_FORMAT(默认:statement):binlog 格式,支持 rowstatement
  • MYSQL_LOG_QUERIES_ENABLED(默认:0):设为 1 启用查询日志

挂载卷

通过 -v /host:/container 挂载主机目录到容器,支持以下挂载点:

  • /var/lib/mysql/data:MySQL 数据目录

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

MySQL 自动调优

当容器运行时设置 --memory 参数且未指定部分参数,其值将基于可用内存自动计算:

  • MYSQL_KEY_BUFFER_SIZE(默认:10%):key_buffer_size
  • MYSQL_READ_BUFFER_SIZE(默认:5%):read_buffer_size
  • MYSQL_INNODB_BUFFER_POOL_SIZE(默认:50%):innodb_buffer_pool_size
  • MYSQL_INNODB_LOG_FILE_SIZE(默认:15%):innodb_log_file_size
  • MYSQL_INNODB_LOG_BUFFER_SIZE(默认:15%):innodb_log_buffer_size

MySQL root 用户

root 用户默认无密码,仅允许本地连接。通过 MYSQL_ROOT_PASSWORD 环境变量可设置密码,允许远程连接(本地连接仍无需密码)。若需禁用远程 root 访问,取消设置 MYSQL_ROOT_PASSWORD 并重启容器。

更改密码

数据库用户(MYSQL_USER)和 root 用户的密码仅支持通过环境变量 MYSQL_PASSWORDMYSQL_ROOT_PASSWORD 更改。通过 SQL 语句或其他方式修改密码会导致环境变量值与实际密码不匹配,容器启动时将重置密码为环境变量值。

默认配置文件

默认配置文件路径为 /etc/my.cnf,可通过 MYSQL_DEFAULTS_FILE 环境变量指定替代文件,例如:MYSQL_DEFAULTS_FILE=/etc/mysql/my.cnf

扩展镜像

可通过 source-to-image 扩展镜像。例如,使用 ~/image-configuration/ 中的配置构建自定义镜像 my-mysql-rhel7

bash
$ s2i build ~/image-configuration/ rhscl/mysql-56-rhel7 my-mysql-rhel7

配置目录结构

s2i build 传递的目录可包含以下子目录:

  • mysql-cfg/:存放 mysqld 守护进程的配置文件,会执行 envsubst 以支持环境变量自定义
  • mysql-pre-init/:存放 *.sh 脚本,在 mysqld 启动前执行
  • mysql-init/:存放 *.sh 脚本,在 mysqld 本地启动后执行,可使用 ${mysql_flags} 连接本地守护进程(如 mysql $mysql_flags < dump.sql

可用变量

脚本中可使用以下变量:

  • $mysql_flags:连接本地 mysqldmysql 工具参数
  • $MYSQL_RUNNING_AS_MASTER:容器以 run-mysqld-master 命令运行时定义
  • $MYSQL_RUNNING_AS_SLAVE:容器以 run-mysqld-slave 命令运行时定义
  • $MYSQL_DATADIR_FIRST_INIT:数据目录从空初始化时定义

s2i build 会将文件复制到镜像的 /opt/app-root/src 目录,覆盖同名默认文件。也可通过 docker run -v ./image-configuration/:/opt/app-root/src/ 挂载目录临时自定义。

用 SSL 加密连接

通过扩展功能配置 SSL:

  1. 创建证书目录(如 sslapp/mysql-certs/),存放证书文件(server-cert-selfsigned.pemserver-key.pem
  2. mysql-cfg/ 中创建配置文件(如 ssl.cnf):
    ini
    [mysqld]
    ssl-key=${APP_DATA}/mysql-certs/server-key.pem
    ssl-cert=${APP_DATA}/mysql-certs/server-cert-selfsigned.pem
    
  3. 通过 -v 挂载 sslapp 目录,或使用 s2i 构建新镜像。

升级和数据目录版本检查

MySQL 版本格式为 X.Y.Z(如 5.6.23):

  • Z 版本变更:数据格式兼容,无需特殊升级步骤
  • X.Y 到 X.Y+1 升级:需手动步骤(参考 MySQL 升级文档)
  • 不支持跨版本升级(如 X.Y 到 X.Y+2)或降级(除 MariaDB 5.5 到 10.0)

重要:升级有风险,建议先备份数据。安全升级方式:用 mysqldump 导出数据,在新初始化的数据库中导入;或启动新版本 mysqld 后执行 mysql_upgrade(仅支持相邻版本升级)。

通过 MYSQL_DATADIR_ACTION 变量控制数据目录操作(多值用逗号分隔,按顺序执行):

  • upgrade-warn(默认):版本不匹配时警告并启动,创建缺失的 mysql_upgrade_info 文件
  • upgrade-auto:检测到前一版本时自动执行 mysql_upgrade
  • upgrade-force:强制执行 mysql_upgrade --force,创建缺失的版本文件
  • optimize:执行 mysqlcheck --optimize(优化所有表)
  • analyze:执行 mysqlcheck --analyze(分析所有表)
  • disable:不执行数据目录版本相关操作

更改复制 binlog 格式

默认 binlog 格式为 statement,可通过 MYSQL_BINLOG_FORMAT=row 改为 row 格式。以 run-mysqld-master 命令运行主库时,binlog 将记录行数据变更而非 SQL 语句。

故障排除

容器内 mysqld 守护进程日志输出到标准输出,可通过以下命令查看:

bash
docker logs <container>

参见

该容器镜像的 Dockerfile 及源码可在 GitHub 获取。仓库中,CentOS 的 Dockerfile 名为 Dockerfile,RHEL 的为 Dockerfile.rhel7

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"