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助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
2301_796588502 小时前
Golang怎么处理JSON大数字精度_Golang如何避免前端JavaScript解析大整数丢失精度【避坑】
jvm·数据库·python
吕源林2 小时前
如何使用关联数组_Index-By Table集合类型定义与遍历
jvm·数据库·python
陶然同学2 小时前
【Python】文件操作
开发语言·python
2301_775148152 小时前
如何配置物化视图只进行完全刷新_COMPLETE Refresh的强制刷新场景
jvm·数据库·python
m0_743623922 小时前
HTML函数本地测试需多少带宽_HTML函数与网络硬件关系【操作】
jvm·数据库·python
YJlio2 小时前
2026年4月18日60秒读懂世界:从神舟二十号出舱到L2新国标公示,今天最值得关注的6个信号
windows·python·django·计算机外设·电脑·outlook·eixv3
2301_813599552 小时前
c#如何添加按钮点击事件_c#添加按钮点击事件的几种常见用法
jvm·数据库·python
2301_814809862 小时前
如何让导航栏下落动画变慢?——CSS 动画时长精准控制教程
jvm·数据库·python
weixin_424999362 小时前
mysql如何利用并行查询提速_mysql 8.0并行扫描特性
jvm·数据库·python