1. 下载镜像文件

    1. docker pull mysql:5.7
  2. 创建实例并启动

    1. docker run -p 3306:3306 --name mysql \
    2. -v /mydata/mysql/log:/var/log/mysql \
    3. -v /mydata/mysql/data:/var/lib/mysql \
    4. -v /mydata/mysql/conf:/etc/mysql \
    5. -e MYSQL_ROOT_PASSWORD=root \
    6. -d mysql:5.7
  • 参数说明

    • -name 容器名
    • -p 3306:3306: 将容器的3306端口映射到主机的3306端口
    • -v /mydata/mysql/conf:/etc/mysql: 将配置文件夹挂载到主机
    • -v /mydata/mysql/log:/var/log/mysql: 将日志文件夹挂载到主机
    • -v /mydata/mysql/data:/var/lib/mysql/: 将数据存储文件挂载到主机
    • -e MYSQL_ROOT_PASSWORD=root: 初始化root用户的密码 ‘ root’
    • -d 使用那个镜像

      MySQL 5.7 配置

      1. vi /mydata/mysql/conf/my.cnf
      2. [client]
      3. default-character-set=utf8
      4. [mysql]
      5. default-character-set=utf8
      6. [mysqld]
      7. init_connect='SET collation_connection = utf8_unicode_ci'
      8. init_connect='SET NAMES utf8'
      9. character-set-server=utf8
      10. collation-server=utf8_unicode_ci
      11. skip-character-set-client-handshake
      12. skip-name-resolve

      重启

      docker restart mysql

      注意:解决MySQL连接慢的问题

      1. [mysqld]
      2. skip-name-resolve
      3. # 表示跳过域名解析

      mysql8

  • 先创建win文件夹 data、mysql-files 、配置文件my.cnf

v8 my.cnf
image.png

  1. docker run -it \
  2. -v C:/docker/mysql/data:/var/lib/mysql \
  3. -v C:/docker/mysql/my.cnf:/etc/mysql/my.cnf \
  4. -v C:/docker/mysql/mysql-files:/var/lib/mysql-files \
  5. --restart=always \
  6. --name mysql8 \
  7. -e MYSQL_ROOT_PASSWORD=root \
  8. -p 3306:3306 \
  9. -d mysql