面试官问:MySQL 为什么不能用 Docker 部署吗?答错直接挂! (2)
MySQL放Docker里跑?
分分钟数据丢得你怀疑人生。
扩容慢如蜗牛,故障排查两眼黑,生产环境敢这么玩纯属头铁。
核心就一句:数据库这种带状态的祖宗,和容器化天生八字不合。
数据库最金贵的就是数据。
Docker容器一删一建,默认配置下数据直接蒸发。
多少人部署时忘了挂载数据卷,重启个服务发现库空了,当场血压拉满。
就算挂载了,宿主机磁盘IO瓶颈卡得查询慢十倍,性能倒退回十年前。
更别说主从切换时节点间数据同步,容器网络绕两圈延迟直接起飞。
配置文件也是个坑。
改个my.cnf参数,容器重启后自动还原成出厂设置,调优调了个寂寞。
线上慢查询爆了想查日志?
日志存在容器里,故障时容器早被调度系统自动销毁了,毛都捞不着。
去年某大厂就出过这事,故障三小时找不到日志定位原因,DBA集体背锅。
现在吹K8s能管有状态服务,实际坑比想象的多。
StatefulSet配PV确实能解决数据持久化,但本地存储运维成本翻倍。
机器宕机时迁移PV?
手动操作半小时起步,业务早凉透了。
云厂商的托管数据库虽然贵点,但备份恢复、监控告警全套现成,半夜能睡安稳觉比啥都强。
说到底,图省事拿Docker跑MySQL的,不是测试环境就是没挨过毒打。
真敢往生产环境塞的,建议先准备好简历更新。