mysql如何通过Docker快速搭建_mysql容器化部署实践

连不上MySQL容器需检查:-p端口映射是否显式指定、--network自定义网络下必须用-p而非直连IP;Linux需确认防火墙未拦截3306;root密码须通过MYSQ_ROOT_PASSWORD设置且仅首次初始化生效;init脚本仅在空数据目录时执行;8.0默认认证插件不兼容旧客户端,需加--default-authentication-plugin=mysql_native_password。docker run 启动 MySQL 容器时连不上?检查 -p 和 --network默认情况下 docker run -d -p 3306:3306 mysql:8.0 看似正确,但宿主机 3306 被占用、或容器没暴露端口、或用了自定义网络却没配好网关,都会导致本地 mysql -h 127.0.0.1 -P 3306 连不上。-p 3306:3306 必须显式写,MySQL 镜像不自动发布端口若用 --network mynet,宿主机无法直连容器 IP,得走 -p 映射,或改用 docker exec -it mysql-container mysql -uroot -pMac/Windows 上 Docker Desktop 的 localhost 可连,Linux 宿主机需确认 iptables/firewalld 没拦截 3306root 密码设了却还是提示 Access denied?看 MYSQ_ROOT_PASSWORD 和初始化时机MySQL 官方镜像要求必须通过环境变量 MYSQ_ROOT_PASSWORD 设置 root 密码,且只在容器首次启动、数据目录为空时生效。如果反复删容器重跑但没清 -v 挂载的卷,旧数据还在,密码不会被覆盖。务必加 -e MYSQL_ROOT_PASSWORD=abc123,不设则容器启动失败(8.0+)挂载了 -v ./mysql-data:/var/lib/mysql 就得自己清目录,否则再跑也不会重新初始化想跳过密码直接进,可临时加 --skip-grant-tables,但仅限调试,不能用于生产容器里执行 SQL 初始化脚本失败?注意 /docker-entrypoint-initdb.d/ 的触发条件把 init.sql 放进 /docker-entrypoint-initdb.d/ 目录下,只有在容器首次初始化数据库时才执行------也就是 /var/lib/mysql 为空、且 MYSQL_ROOT_PASSWORD 已设置的前提下。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
锋行天下5 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
benchmark_cc7 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash
曲径海盗7 小时前
【Python 学习第 55 天】列表基础
python·学习笔记·编程入门
专注仿真7 小时前
知识问答模型用到的算法集详解及代码实例
python·算法·代码·大模型训练·控制算法
jyOverQ8 小时前
我写了一个 CSDN Markdown 图片助手:告别本地图片逐张上传
python·工具·csdn
SelectDB11 小时前
让变更流出 Doris:Apache Doris 5.0 基于增量计算的 CDC 技术解析
数据库
刘马想放假11 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
这个DBA有点耶11 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
2601_9679873712 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
这个DBA有点耶12 小时前
从反向扫描O(n)到正向扫描O(1):降序索引的物理机制与混合排序匹配规则
数据库