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

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

相关推荐
回忆2012初秋16 小时前
【Nginx】原理、配置与运维实战(2)
运维·nginx·策略模式
Urbano17 小时前
工装外套全制作流程、工序痛点及自动化设备升级方案
运维·自动化
映翰通朱工17 小时前
工业4G网关无公网IP远程运维实战(内网终端异地访问方案)
运维·服务器·网络·安全·智能路由器
洪晓露17 小时前
将 rke2 集群证书延长至 10 年
运维·服务器·数据库
谢平康18 小时前
解决用 rm 报bash: /usr/bin/rm: Argument list too long错
linux·运维·运维开发
IP老炮不瞎唠18 小时前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络
GIS数据转换器18 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
Tokai_Teio_119 小时前
第四届黄河流域 misc
运维·服务器
开发者联盟league19 小时前
使用k8s安装Sonarqube
云原生·容器·kubernetes
hj28625119 小时前
Linux 网络服务综合笔记(概念 + 命令 + 实操案例)2
linux·运维·网络