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


  • 填写连接信息
  • 测试连接成功 !
相关推荐
木心术115 小时前
Windows系统下MySQL与AI工具集成方案:数据存储与调用实践
人工智能·windows·mysql
这个DBA有点耶16 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
小江的记录本16 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
Java成神之路-16 小时前
深入拆解 MySQL InnoDB 隔离级别:从 MVCC 到临键锁
mysql
华为云开发者联盟16 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
罗超驿17 小时前
19.告别复杂SQL!用MySQL视图把逻辑拆成“变量”式操作
数据库·mysql·面试
m_1368717 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
码上有光17 小时前
MySQL基本查询
数据库·mysql·oracle·期末快速复习
米高梅狮子18 小时前
Ceph 分布式存储 部署
linux·运维·数据库·分布式·ceph·docker·华为云
米高梅狮子19 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github