如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为基于 Debian 11-slim(Bullseye)的 Linux Docker 镜像,包含完整的 MySQL 8 客户端工具集,旨在通过 Docker 环境便捷地执行数据库导出、导入及管理操作。
注意:若需 MariaDB 客户端,请参考 https://github.com/joseluisq/alpine-mysql-client 项目。
🐳 项目地址:https://github.com/joseluisq/docker-mysql-client/
shmysql # MySQL 命令行客户端 mysql_find_rows # 从结果集中提取行 mysql_waitpid # 等待进程ID终止 mysqladmin # 数据库管理工具 mysqldump # 数据库备份工具 mysqlimport # 数据导入工具 mysql-export # 导出工具 mysql_fix_extensions # 修复文件名扩展 mysqlaccess # 访问控制工具 mysqlcheck # 表检查与修复工具 mysqldumpslow # 慢查询日志分析工具 mysqlshow # 数据库结构查看工具
更多详情请参见官方 https://dev.mysql.com/doc/refman/8.0/en/programs-client.html。
mysql,支持通过 root 用户获取完全权限。mysql_exporter(导出)和 mysql_importer(导入),支持 gzip 压缩/解压,可通过环境变量或 .env 文件配置。mysql、mysqldump 等命令。mysql_exporter 和 mysql_importer 快速实现数据库的导出(支持压缩)和导入(支持压缩文件)。通过 docker run 命令直接使用 MySQL 客户端工具,例如查看版本:
shdocker run -it --rm docker.xuanyuan.run/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 用户,例如:shdocker run -it --rm --user root docker.xuanyuan.run/joseluisq/mysql-client mysql --version
mysql_exporter 是基于 mysqldump 的自定义导出工具,支持 gzip 压缩,可通过环境变量或 .env 文件配置。
环境变量配置
创建 .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 文件可参考 https://github.com/joseluisq/docker-mysql-client/blob/master/8.0/env/mysql_exporter.env。Docker 命令导出示例
通过 docker run 执行导出,挂载主机目录以保存导出文件:
shdocker 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 配置示例
创建 docker-compose.yml 文件:
yamlversion: "3.3" services: exporter: image: docker.xuanyuan.run/joseluisq/mysql-client:8 env_file: .env # 指定环境变量文件 command: mysql_exporter working_dir: /home/mysql/sample volumes: - ./:/home/mysql/sample # 挂载当前目录到容器内工作目录
执行导出:
shdocker-compose up
mysql_importer 用于导入 SQL 文件(支持 gzip 解压),配置方式与导出工具类似。
环境变量配置
创建 .env 文件或设置环境变量,配置项如下:
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 文件可参考 https://github.com/joseluisq/docker-mysql-client/blob/master/8.0/env/mysql_importer.env。Docker 命令导入示例
通过 docker run 执行导入,挂载包含 SQL 文件的主机目录:
shdocker 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 https://git.io/joseluisq
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务