
shinejh0528/mysql本镜像是MySQL数据库的Docker化部署方案,提供便捷的MySQL服务部署方式,支持自定义配置文件、数据持久化存储及root用户密码初始化,适用于开发、测试及轻量级生产环境。
快速启动默认配置的MySQL服务:
bashdocker run -itd -p 3306:3306 --name mysql shinejh0528/mysql:9.3.1
通过外部my.cnf文件自定义配置,需挂载配置卷和数据卷:
bashdocker run -itd -p 3306:3306 \ -v /data/mysql_docker_test/:/data/mysql \ -v ~/script/docker/mysql/1.1.0/config:/data/config \ -e mycnf=/data/config/my.cnf \ -e root_password=root \ --name mysql shinejh0528/mysql:9.3.1
数据卷挂载:
/data/mysql:存储my.cnf中指定的MySQL数据库数据(数据持久化目录)/data/config:存储自定义my.cnf配置文件(需包含/data/config/my.cnf)环境变量:
-e mycnf:自定义my.cnf文件路径(示例中为/data/config/my.cnf)-e root_password:root用户初始密码(shinejh0528/mysql:9.3.1及以上版本支持,默认值为root)| 参数 | 说明 | 要求版本 | 默认值 |
|---|---|---|---|
-e mycnf | 自定义my.cnf配置文件路径 | 所有版本 | 无 |
-e root_password | root用户初始化密码 | 9.3.1及以上 | root |
若容器内MySQL服务未运行,可通过以下命令启动:
bashdocker exec -it [容器ID] /bin/bash service mysql start
检查容器内正在使用的MySQL配置文件:
bashcat /etc/mysql/my.cnf
服务器首次通过Docker运行MySQL时可能遇到初始化错误,按以下步骤解决:
bashmysqld --initialize-insecure --user=mysql
bashservice mysql start # 修改root密码(如需) mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; FLUSH PRIVILEGES;"
以下是自定义my.cnf的示例配置:
ini[mysqld] #port=3307 datadir=/data/mysql log-bin=/data/mysql/mysql-bin.log server-id = 1 expire_logs_days = 10 max_binlog_size = 100M log_bin_trust_function_creators = 1 collation-server = utf8mb4_general_ci default-time-zone = "+09:00" max_connections = 500 pid-file = /var/run/mysqld/mysqld.pid [mysqldump] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务