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

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

相关推荐
Shell运维手记20 分钟前
交换机(二层交换机)完整工作原理
运维·网络·网络协议·macos·交换机
飞飞传输27 分钟前
金融数字化转型新基建:替代FTP的国产传输软件筑牢数安全防线
大数据·运维·安全
码农学院27 分钟前
GEO团队SOP、绩效考核与知识沉淀:技术团队管理体系化工程实践
运维·人工智能·windows
爱莉希雅&&&32 分钟前
Rocky Linux 10.1 + K8s 1.36.3 离线集群部署笔记(Kubernetes)
linux·笔记·docker·kubernetes·calico
三84436 分钟前
基于 NFS 共享存储的 Nginx Web 服务部署项目
linux·运维·服务器
ARM|X86+FPGA工业主板厂家41 分钟前
Linux+Xenomai 实时系统在机器人中的应用
linux·运维·机器人
難釋懷1 小时前
Nginx-proxy缓存清理
运维·nginx·缓存
唔661 小时前
Linux工具使用情况buildroot
linux·运维·服务器
wbs_scy1 小时前
仿 muduo 高并发服务器项目:封装 HTTP 请求响应并用状态机完成增量解析
运维·服务器·http
云泽8081 小时前
Linux 核心机制详解(三):文件系统权限与共享安全——从删除规则到粘滞位防护
linux·运维·安全