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

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

相关推荐
炘爚21 小时前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
workflower21 小时前
注塑机行业目前自动化现状分析
运维·人工智能·语言模型·自动化·集成测试·软件工程·软件需求
小义_1 天前
随笔 3(Linux)
linux·运维·服务器·云原生·红帽
杨浦老苏1 天前
开源的AI编程工作站HolyClaude
人工智能·docker·ai·编辑器·开发·群晖
#六脉神剑1 天前
MySQL参数调优:十个关键参数助力数据库性能数倍提升
运维·mysql
cccccc语言我来了1 天前
Linux(10)进程概念
linux·运维·服务器
伐尘1 天前
【linux】查看空间(内存、磁盘、文件目录、分区)的几个命令
linux·运维·网络
倔强的胖蚂蚁1 天前
x2openEuler 辅助机完整部署教程
运维·云原生
原来是猿1 天前
Linux进程信号详解(二):信号产生
linux·运维·服务器
chxii1 天前
Nginx性能优化-压缩(返回头报文介绍)
运维·nginx·性能优化