tutum-docker-mysql是用于运行MySQL数据库服务器的基础Docker镜像。它提供了便捷的部署方式,支持多种配置选项,适用于开发、测试及生产环境中快速搭建MySQL服务。
不同MySQL版本从不同文件夹构建。如需使用MariaDB,请查看tutum/mariadb镜像:https://github.com/tutumcloud/tutum-docker-mariadb
admin用户在tutum-mysql文件夹中执行以下命令创建tutum/mysql镜像(以5.5版本为例):
bashdocker build -t tutum/mysql 5.5/
运行镜像并绑定3306端口:
bashdocker run -d -p 3306:3306 tutum/mysql
获取初始密码
首次运行容器时,会创建admin用户并生成随机密码。通过容器日志查看密码:
bashdocker logs <CONTAINER_ID>
日志输出示例:
======================================================================== You can now connect to this MySQL Server using: mysql -uadmin -p47nnf4FweaKu -h<host> -P<port> Please remember to change the above password as soon as possible! MySQL user 'root' has no password but only allows local connections. ========================================================================
其中47nnf4FweaKu即为admin用户的密码。
测试连接
bashmysql -uadmin -p
通过MYSQL_PASS环境变量设置预设密码:
bashdocker run -d -p 3306:3306 -e MYSQL_PASS="mypass" tutum/mysql
测试连接:
bashmysql -uadmin -p"mypass"
管理员用户名可通过MYSQL_USER环境变量设置。
通过ON_CREATE_DB环境变量指定容器创建时自动创建的数据库名称:
bashdocker run -d -p 3306:3306 -e ON_CREATE_DB="database" tutum/mysql
为持久化数据库数据,可将主机本地文件夹挂载到容器的/var/lib/mysql目录(MySQL默认数据存储路径):
bashdocker run -d -v /path/in/host:/var/lib/mysql tutum/mysql /bin/bash -c "/usr/bin/mysql_install_db"
注意:主机需确保
/path/in/host目录存在
bashdocker run -d -p 3306:3306 -v /path/in/host:/var/lib/mysql tutum/mysql
另一种持久化方式是将数据库文件存储在专用数据容器中:
tutum/ubuntu-trusty为基础镜像):bashdocker run -d -v /var/lib/mysql --name db_vol -p 22:22 tutum/ubuntu-trusty
--name选项可指定容器名称,供后续步骤使用
bashdocker run -d --volumes-from db_vol -p 3306:3306 tutum/mysql
导出数据
从现有服务器导出数据库结构:
bashmysqldump -u<user> -p --opt -d -B <database name(s)> > /tmp/dbserver_schema.sql
导出数据库数据:
bashmysqldump -u<user> -p --quick --single-transaction -t -n -B <database name(s)> > /tmp/dbserver_data.sql
导入数据
方法1:通过/import_sql.sh脚本导入(假设SQL文件位于主机/tmp目录):
bashsudo docker run -d -v /tmp:/tmp tutum/mysql /bin/bash -c "/import_sql.sh <user> <pass> /tmp/<dump.sql>"
方法2:启动时通过STARTUP_SQL环境变量指定初始化SQL文件:
bashsudo docker run -d -v /path/in/host:/var/lib/mysql -e STARTUP_SQL="/tmp/<dump.sql>" tutum/mysql
<user>和<pass>为之前设置的数据库用户名和密码,<dump.sql>为SQL文件名
通过设置环境变量REPLICATION_MASTER或REPLICATION_SLAVE启用主从复制。主库可通过REPLICATION_USER和REPLICATION_PASS指定复制账户(默认值:replica:replica)。
主库示例
bashdocker run -d -e REPLICATION_MASTER=true -e REPLICATION_PASS=mypass -p 3306:3306 --name mysql tutum/mysql
从库示例
bashdocker run -d -e REPLICATION_SLAVE=true -p 3307:3306 --link mysql:mysql tutum/mysql
可通过3306端口访问主库,3307端口访问从库
MYSQL_USER:管理员账户用户名(默认:admin)MYSQL_PASS:管理员账户密码(未设置时自动生成随机密码)STARTUP_SQL:初始化数据库的一个或多个SQL脚本(空格分隔,需确保脚本在容器内可访问)ON_CREATE_DB:容器创建时自动创建的数据库名称REPLICATION_MASTER:设为true启用主库模式REPLICATION_SLAVE:设为true启用从库模式REPLICATION_USER:复制账户用户名(默认:replica)REPLICATION_PASS:复制账户密码(默认:replica)以下是 tutum/mysql 相关的常用 Docker 镜像,适用于 关系型数据库、事务处理、数据存储 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务