Centos7.6 Docker安装MySQL8

🔥 一条命令直接安装 + 启动 MySQL 8

Docker 安装 MySQL 8 默认是 区分大小写的

不手动配置,Linux 上默认:lower_case_table_names=0

bash 复制代码
docker run -d \
  --restart=always \
  --name mysql8 \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /mydata/mysql8/conf:/etc/mysql/conf.d \
  -v /mydata/mysql8/data:/var/lib/mysql \
  mysql:8.0 \
  --lower_case_table_names=1

命令解释

  • mysql:8.0 → 安装 MySQL 8 稳定版
  • MYSQL_ROOT_PASSWORD=123456 → root 密码(可自己改)
  • 3306:3306 → 端口映射
  • -v → 数据持久化(删容器数据不丢)
  • --restart=always → 开机自启
  • --lower_case_table_names → 1不区分大小写(Windows 模式,项目通用),0区分大小写(Linux 默认,坑死开发者)

✅ 安装成功检查

bash 复制代码
docker ps

🔥 允许远程连接(必须执行!)

进入容器

bash 复制代码
docker exec -it mysql8 mysql -uroot -p123456

执行授权(复制直接运行)

sql 复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;

退出

sql 复制代码
exit;

🔐 云服务器必须开放 3306 端口

去云服务器后台 → 安全组 → 放行 3306 端口

否则 Navicat 连不上!

⚠️ 重点踩坑!!!

安装时未指定--lower_case_table_names忽略大小写,导致删除容器重新安装

bash 复制代码
# 删除旧容器
docker rm -f mysql8
# 删除旧数据(必须删!)
rm -rf /mydata/mysql8

以上两条命令执行完成后,重新走上面的安装配置流程!

相关推荐
.千余几秒前
【Linux】Socket编程UDP
linux·运维·服务器·开发语言·网络协议·学习·udp
我是谁??3 分钟前
【4】基于 Docker + YOLOv8 环境将模型转换为 ONNX(GTX1660S + Ubuntu22.04)
yolo·docker·容器
万里侯7 分钟前
云原生API网关:管理微服务流量的最佳实践
微服务·容器·k8s
李李李li8 分钟前
debian13.3安装k8s
云原生·容器·kubernetes
开开心心_Every9 分钟前
支持自定义名单的实用随机抽签工具
运维·服务器·pdf·电脑·excel·启发式算法·宽度优先
Harm灬小海11 分钟前
【云计算学习之路】企业常用服务搭建:构建Apache WEB服务器
运维·服务器·学习·云计算·apache
大江东去浪淘尽千古风流人物17 分钟前
【Polaris-VIO】Docker 镜像跨硬件分发的隐藏陷阱:AVX-512、-march=native 与 CPU 指令集解耦边界
运维·docker·容器·slam·vio·avx-512
十子木18 分钟前
SSH 反向端口转发 (Remote Port Forwarding)
运维·ssh
AI云原生22 分钟前
远程控制软件进入协作阶段:ToDesk、向日葵、AnyDesk、RustDesk怎么选?
运维·服务器·网络·windows·docker·云原生·开源软件
我是谁??22 分钟前
【3】基于 Docker + YOLOv8 环境实现模型裁剪(GTX1660S + Ubuntu22.04)
yolo·docker·容器