Docker 部署 Mysql (图文并茂超详细)

部署 MYSQL ( Docker )

Step 1 : 拉取 MYSQL 镜像

bash 复制代码
docker pull mysql:8.0.33

Step 2 : 创建 MYSQL 相关目录 ➡️ 启动 MYSQL 容器 ➡️ 拷贝文件 ➡️ 授权文件夹 ➡️ 删除容器

bash 复制代码
# 创建 MYSQL 相关目录
mkdir -p /data/mysql/{conf,log,data}

# 启动 MYSQL 容器
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=ovoAdmin123 -d mysql:8.0.33

# 拷贝文件 
docker cp mysql:/var/log /data/mysql
docker cp mysql:/etc/my.cnf /data/mysql/conf

# 授权文件夹
chmod 777 /data/mysql/{log,data}
chmod 644 /data/mysql/conf/my.cnf

# 删除容器
docker rm -f mysql
  • 对应的目录下会创建有相应的文件夹

Step 3 : 创建 MYSQL 容器

bash 复制代码
docker run -p 3306:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e TZ=Asia/Shanghai --restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.33
  • 相关参数解释 :
  1. docker run: 创建并运行一个容器, -d是让容器在后台运行
  2. -- name mysql: 给容器起一个名字, 名字必须唯一
  3. -v /data/mysql/log:/var/log/mysql : 挂载配置文件
  4. -p 3306:3306: 设置端口映射
  5. -e KEY = VALUE: 设置环境变量 -e就是environment的意思
  6. TZ=Asia/Shanghai : 设置数据库时区为东八区
  7. --restart=always : 自启动 ( 服务器重启后会自启动 )
  8. MYSQL_ROOT_PASSWORD : 数据库密码
  9. mysql:指定运行的镜像的名字, 后面可以跟版本号, 如果不跟默认最新版

Step 4 : 查看 MYSQL 日志

bash 复制代码
docker logs -f mysql
  • 没有 Error 就是启动成功了

Step 5 : 使用工具连接 MYSQL


  • 填写连接信息
  • 测试连接成功 !
相关推荐
做运维的阿瑞7 小时前
数据库增删改的安全写法
数据库·sql·mysql
frjc8 小时前
数据库选型:如何从众多数据库中选出最理想的那一个
redis·mysql·clickhouse·elasticsearch
小马哥程序开发9 小时前
[点赞收藏免费领取 · 项目源码]37399民族服饰饰品商城小程序
sql·mysql·flask·源码·课程设计·程序开发·课设
无序的浪9 小时前
测试博客-基于微服务的在线判题系统
java·spring cloud·docker·微服务·测试·在线判题
数据库小学妹13 小时前
MySQL大表怎么优化?2亿行表的分区归档与冷热分离实战
数据库·mysql·分库分表·分区表·数据库运维·冷热分离
溜达的大象13 小时前
极空间部署Traggo时间追踪工具:Docker安装、标签管理与cpolar远程访问
运维·docker·容器
脏脏a14 小时前
极空间部署 Dashlet:Docker 搭建私人导航仪表盘,再配置固定公网访问
运维·docker·容器
这个DBA有点耶14 小时前
连接池与MySQL交互实战:连接风暴、连接泄漏与连接状态异常排查
数据库·mysql·架构
需要82614 小时前
MySQL MVCC 与事务隔离级别:从一条 update 看版本链
java·数据库·spring boot·mysql·spring cloud
User_芊芊君子14 小时前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送及远程上报
docker·容器·prometheus