6、docker 安装mysql8

Docker 安装 MySQL8

  1. 下载mysql8的镜像

    docker pull mysql:8.0.32
    
  2. 启动镜像

    docker run -p 3307:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.32
    
  3. 配置挂载

    1. 创建挂载目录

      mkdir -p /docker/mysql8.0.32/
      
    2. copy配置文件到创建的目录下

      docker cp  mysql:/etc/mysql /docker/mysql8.0.32/
      
  4. 删除原有容器

    docker stop mysql8
    docker rm -f mysql8
    
  5. 启动mysql挂载配置文件,数据持久化到宿主机

    1. 新增my.cnf

      cd /docker/mysql8.0.32/mysql/conf.d
      vim my.cnf
      

      my.conf

      [mysqld]
      user=mysql
      character-set-server=utf8
      default_authentication_plugin=mysql_native_password
      secure_file_priv=/var/lib/mysql
      expire_logs_days=7
      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
      max_connections=1000
       
      [client]
      default-character-set=utf8
       
      [mysql]
      
      
  6. 创建一个sh脚本、把docker启动mysql的命令放到脚本里面。

    vim docker_mysql8.0.32.sh
    

    脚本内容:

    #!/bin/sh
    docker run \
    -p 3306:3306 \
    --name mysql8 \
    --privileged=true \
    --restart unless-stopped \
    -v /docker/mysql8.0.32/mysql:/etc/mysql \
    -v /docker/mysql8.0.32/logs:/logs \
    -v /docker/mysql8.0.32/data:/var/lib/mysql \
    -v /etc/localtime:/etc/localtime \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:8.0.32
    

    解释:

    -p 端口映射 
    
    --name mysql8  名称是mysql8
    
    --privileged=true 挂载文件权限设置
    
    --restart unless-stopped 设置 开机后自动重启容器
    
    -v /docker/mysql8.0.32/mysql:/etc/mysql \ 挂载配置文件【路径是上面创建的挂载路径】
    
    -v /docker/mysql8.0.32/logs:/logs \  挂载日志【路径是上面创建的挂载路径】
    
    -v /docker/mysql8.0.32/data:/var/lib/mysql \ 挂载数据文件 持久化到主机【路径是上面创建的挂载路径】
    
    -v /etc/localtime:/etc/localtime 容器时间与宿主机同步
    
    -e MYSQL_ROOT_PASSWORD=123456 设置密码
    
    -d mysql:8.0.32 后台启动,mysql
    
  7. 执行脚本

    sh docker_mysql8.0.32.sh
    
  8. 检查是否启动成功

    docker ps
    
  9. 配置链接信息

    1. 进入mysql8容器

      docker exec -it mysql8 bash
      
    2. 在容器内登录

      mysql -uroot -p
      
    3. 设置权限

      grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
      
      use mysql
      
      ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
      
      ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
      
      FLUSH PRIVILEGES;
      

相关推荐

  1. 6docker 安装mysql8

    2023-12-28 13:12:05       54 阅读
  2. docker安装mysql8

    2023-12-28 13:12:05       53 阅读
  3. docker 安装 MYSQL8

    2023-12-28 13:12:05       23 阅读
  4. docker 安装mysql 8.0.35

    2023-12-28 13:12:05       47 阅读
  5. docker安装mysql8.0.23

    2023-12-28 13:12:05       25 阅读
  6. docker 安装MySQL 8.4.1

    2023-12-28 13:12:05       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 13:12:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 13:12:05       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 13:12:05       82 阅读
  4. Python语言-面向对象

    2023-12-28 13:12:05       91 阅读

热门阅读

  1. ARMday7

    ARMday7

    2023-12-28 13:12:05      55 阅读
  2. a-range-picker实现默认时间各种时分秒时间要求

    2023-12-28 13:12:05       63 阅读
  3. linux | pause函数 、alarm函数、signal函数

    2023-12-28 13:12:05       50 阅读
  4. Flink导入StarRocks

    2023-12-28 13:12:05       48 阅读
  5. Python实用工具大全

    2023-12-28 13:12:05       54 阅读