本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

的 Linux Docker 镜像,包含完整的 MySQL 8 客户端工具集,旨在通过 Docker 环境便捷地执行数据库导出、导入及管理操作。
注意:若需 MariaDB 客户端,请参考 Alpine MySQL Client 项目。
🐳 项目地址:Github
mysql # MySQL 命令行客户端 mysql_find_rows # 从结果集中提取行 mysql_waitpid # 等待进程ID终止 mysqladmin # 数据库管理工具 mysqldump # 数据库备份工具 mysqlimport # 数据导入工具 mysql-export # 导出工具 mysql_fix_extensions # 修复文件名扩展 mysqlaccess # 访问控制工具 mysqlcheck # 表检查与修复工具 mysqldumpslow # 慢查询日志分析工具 mysqlshow # 数据库结构查看工具
更多详情请参见*** MySQL 8 客户端程序文档。
mysql,支持通过 root 用户获取完全权限。mysql_exporter(导出)和 mysql_importer(导入),支持 gzip 压缩/解压,可通过环境变量或 .env 文件配置。mysql、mysqldump 等命令。mysql_exporter 和 mysql_importer 快速实现数据库的导出(支持压缩)和导入(支持压缩文件)。通过 docker run 命令直接使用 MySQL 客户端工具,例如查看版本:
docker run -it --rm joseluisq/mysql-client mysql --version # 输出示例:mysql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
mysql,家目录位于 /home/mysql。--user root 参数指定 root 用户,例如:docker run -it --rm --user root joseluisq/mysql-client mysql --version
mysql_exporter 是基于 mysqldump 的自定义导出工具,支持 gzip 压缩,可通过环境变量或 .env 文件配置。
创建 .env 文件或直接设置环境变量,配置项如下:
# 连接设置(可选) DB_PROTOCOL=tcp # 连接协议(tcp/unix) DB_HOST=127.0.0.1 # 数据库主机地址 DB_PORT=3306 # 数据库端口 DB_DEFAULT_CHARACTER_SET=utf8 # 默认字符集 # 压缩设置(可选) DB_EXPORT_GZIP=false # 是否启用 gzip 压缩(true/false) # 导出文件路径(可选) # 若启用 gzip,文件名应为 database_name.sql.gz DB_EXPORT_FILE_PATH=database_name.sql # 数据库设置(必填) DB_NAME="" # 数据库名称 DB_USERNAME="" # 数据库用户名 DB_PASSWORD="" # 数据库密码 # 额外参数(可选) DB_ARGS= # 传递给 mysqldump 的额外参数(如 --no-data)
注意:
DB_EXPORT_GZIP=true 时,导出文件将压缩为 .sql.gz;默认不压缩,生成 .sql 文件。DB_ARGS 可用于传递 mysqldump 的额外参数,例如 --skip-lock-tables。.env 文件可参考 ./8.0/env/mysql_exporter.env。通过 docker run 执行导出,挂载主机目录以保存导出文件:
docker run --rm -it \ --volume $PWD:/home/mysql/sample # 挂载主机当前目录到容器内目录 --user $(id -u $USER):$(id -g $USER) # 使用当前用户权限,避免文件权限问题 --workdir /home/mysql/sample # 设置工作目录 joseluisq/mysql-client:8 \ mysql_exporter production.env # 指定 .env 配置文件
输出示例:
MySQL 8 Client - Exporter ========================= mysqldump Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL) Exporting database `mydb` into a SQL script file... Output file: database_name.sql (SQL Text) mysqldump: [Warning] Using a password on the command line interface can be insecure. Database `mydb` was exported on 0s successfully! File exported: database_name.sql (4.0K / SQL Text)
创建 docker-compose.yml 文件:
version: "3.3" services: exporter: image: joseluisq/mysql-client:8 env_file: .env # 指定环境变量文件 command: mysql_exporter working_dir: /home/mysql/sample volumes: - ./:/home/mysql/sample # 挂载当前目录到容器内工作目录
执行导出:
docker-compose up
mysql_importer 用于导入 SQL 文件(支持 gzip 解压),配置方式与导出工具类似。
创建 .env 文件或设置环境变量,配置项如下:
# 连接设置(可选) DB_PROTOCOL=tcp # 连接协议(tcp/unix) DB_HOST=127.0.0.1 # 数据库主机地址 DB_PORT=3306 # 数据库端口 DB_DEFAULT_CHARACTER_SET=utf8 # 默认字符集 # 解压设置(可选) DB_IMPORT_GZIP=false # 是否启用 gzip 解压(true/false) # 导入文件路径(必填) # 若启用 gzip,文件名应为 database_name.sql.gz DB_IMPORT_FILE_PATH=database_name.sql # 数据库设置(必填) DB_NAME="" # 目标数据库名称 DB_USERNAME="" # 数据库用户名 DB_PASSWORD="" # 数据库密码 # 额外参数(可选) DB_ARGS= # 传递给 mysql 的额外参数(如 --force)
注意:
DB_IMPORT_GZIP=true 时,将自动解压 .sql.gz 文件;默认按 plain .sql 文件处理。DB_ARGS 可用于传递 mysql 的额外参数,例如 --default-character-set=utf8mb4。.env 文件可参考 ./8.0/env/mysql_importer.env。通过 docker run 执行导入,挂载包含 SQL 文件的主机目录:
docker run --rm -it \ --volume $PWD:/home/mysql/sample # 挂载主机当前目录(包含 SQL 文件) --user $(id -u $USER):$(id -g $USER) # 使用当前用户权限 --workdir /home/mysql/sample # 设置工作目录 joseluisq/mysql-client:8 \ mysql_importer production.env # 指定 .env 配置文件
输出示例:
MySQL 8 Client - Importer ========================= mysql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL) Importing a SQL script file into database `mydb`... Input file: database_name.sql (4.0K / SQL Text) mysql: [Warning] Using a password on the command line interface can be insecure. Database `mydb` was imported on 1s successfully!
本项目基于 MIT 许可证 和 Apache 许可证(版本 2.0) 双重许可。
© 2022-present Jose Quintana
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429