当前位置: 首页 > news >正文

06、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 mysqlALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';FLUSH PRIVILEGES;
      
http://www.lryc.cn/news/272501.html

相关文章:

  • 魔改Stable Diffusion,开源创新“单目深度估计”模型
  • 使用JAVA Zookeeper构建分布式键值存储
  • 2023-12-19 LeetCode每日一题(寻找峰值 II)
  • gin框架使用系列之五——表单校验
  • HackTheBox - Medium - Linux - Interface
  • C++ 字符串操作说明 续
  • [情商-7]:如何回答没有标准答案的两难问题
  • 对偶问题的基本性质
  • Google Chrome 现在会在后台扫描泄露的密码
  • 【Matlab】PSO-BP 基于粒子群算法优化BP神经网络的数据时序预测(附代码)
  • Linux 485驱动通信异常
  • mybatis配置与标签大全
  • Mysql的基本用法(上)非常详细、快速上手
  • 使用Vite创建React + TypeScript(node版本为16.17.0,含资源下载)
  • Springboot集成RabbitMq二
  • 机器学习笔记 - 基于Python的不平衡数据的欠采样技术
  • facebook广告的基础知识
  • java常见面试题:什么是异常?Java中的异常有哪些分类?
  • 类的加载顺序问题-demo展示
  • [蓝桥杯2020国赛]答疑
  • 【AIGC表情prompt】提示词练习技巧
  • SpringBoot项目的三种创建方式
  • 【docker实战】01 Linux上docker的安装
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的图像剪切(ROI)功能(C#)
  • 软件测试之安全测试
  • 【华为OD机试真题2023CD卷 JAVAJS】会议室占用时间
  • UR5机器人的旋转向量转换到四元数,再从四元数转换到旋转向量python代码
  • MD5--加密原理及代码示例(C#)
  • 理解 RPC 与 Protobuf:完整指南
  • 成为一名合格的前端架构师,前端知识技能与项目实战教学