MySQL部署

1 MySQL部署

1.1案例:需求
  • 在Docker 容器中部署MySQL,并通过外部MySQL 客户端操作MySQL Server
1.2 案例:实现
  1. 搜索mysql镜像
  2. 拉取mysql镜像
  3. 创建容器

操作容器中的mysql

1.3 问题及解决方案
  • 容器内的网络服务和外部机器不能直接通信
  • 外部机器和宿主机可以直接通信
  • 宿主机和容器可以直接通信
  • 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的端口,从而间接访问容器的服务
  • 这种操作称为:端口映射
1.4 部署MySQL
  1. 搜索mysql镜像

    1
    docker search mysql
  2. 拉取mysql镜像

    1
    docker pull mysql:5.6
  3. 创建容器,设置端口映射、目录映射

    1
    2
    3
    # 在/root目录下创建mysql目录用于存储mysql数据信息
    mkdir ~/mysql
    cd ~/mysql
    1
    2
    3
    4
    5
    6
    7
    8
    docker run -id \
    -p 3306:3306 \
    --name=mysql \
    -v $PWD/conf:/etc/mysql/conf.d \
    -v $PWD/logs:/logs \
    -v $PWD/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    mysql
    • 参数说明
      • -p 3307:3306:将容器的3306端口映射到宿主机的3307端口
      • --v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器/etc/mysql/my.cnf配置目录
      • -v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs目录日志
      • -v $PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql数据目录
      • -e MYSQL_ROOT_PASSWORD=123456:初始化root 用户密码

使用外部机器访问MySQL

发布于

2022-08-22

更新于

2023-03-21

许可协议

# 相关文章
  1.Java部署
  2.MySQL部署
  3.Redis部署
  4.Nginx部署
  5.Tomcat部署

:D 一言句子获取中...