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

Mac下docker安装MySQL8.0.34

学习并记录一下如何用docker部署MySQL

  1. 在Docker中搜索并下载MySQL8.0.x的最新版本
    选择并下载镜像
  2. 下载好后,在Images中就可以看到MySQL的镜像了
    在这里插入图片描述
    通过下面的命令也可以查看
    docker images
    
    在这里插入图片描述
  3. 启动镜像,使用下面的命令就可以启动镜像了
    docker run -itd --name mysql8.0.34 -p 3306:3306 --privileged=true -e MYSQL_ROOT_PASSWORD=root mysql:8.0.34
    
    解释:
    1. -i :即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用
    2. -t:分配一个伪tty,一般与 -i 连用
    3. -d:在后台运行容器,并且打印容器id
    4. –name:镜像名称
    5. -p:端口映射,容器内端口3306映射到容器外的3306上
    6. –privileged:为容器提供权限
    7. -e:设置镜像参数
      1. MYSQL_ROOT_PASSWORD:设置root用户的密码
  4. 此时,在容器内部已经初始化好了MySQL了,但是一般来说,我们需要把MySQL的配置文件和datadir挂在到docker外部,所以我们还需要后面的步骤
  5. 创建config和data目录
    mkdir -p /Users/xxx/docker/data/mysql8.0.34/{config,data}
    
  6. 切换到config目录
    cd /Users/xxx/docker/data/mysql8.0.34/config
    
  7. 把config文件从镜像内部复制出来
    docker cp mysql8.0.34:/etc/my.cnf ./
    
  8. 确认config文件cat my.cnf
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html[mysqld]
    #
    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M
    #
    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin
    #
    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M# Remove leading # to revert to previous value for default_authentication_plugin,
    # this will increase compatibility with older clients. For background, see:
    # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
    # default-authentication-plugin=mysql_native_password
    skip-host-cache
    skip-name-resolve
    datadir=/var/lib/mysql
    socket=/var/run/mysqld/mysqld.sock
    secure-file-priv=/var/lib/mysql-files
    user=mysql
    # 忽略表名大小写
    lower_case_table_names=1pid-file=/var/run/mysqld/mysqld.pid
    [client]
    socket=/var/run/mysqld/mysqld.sock!includedir /etc/mysql/conf.d/
    
  9. 停掉并删除之前启动的MySQL镜像
    docker stop mysql8.0.34
    docker rm mysql8.0.34
    
  10. 重启MySQL
    docker run -itd --name mysql8.0.34 -p 3306:3306 --privileged=true --restart=always -v /Users/xxx/docker/data/mysql8.0.34/data:/var/lib/mysql -v /Users/xxx/docker/data/mysql8.0.34/config/my.cnf:/etc/my.cnf -e MYSQL_ROOT_PASSWORD=root mysql:8.0.34
    
  11. 使用连接工具测试MySQL
    在这里插入图片描述
http://www.lryc.cn/news/183839.html

相关文章:

  • 基于python编写的excel表格数据标记的exe文件
  • acwing算法基础之基础算法--高精度加法算法
  • openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化:x86
  • 二分查找:34. 在排序数组中查找元素的第一个和最后一个位置
  • javaee ssm框架项目整合thymeleaf2.0 更多thymeleaf标签用法 项目结构图
  • lv7 嵌入式开发-网络编程开发 11 TCP管理与UDP协议
  • overleaf在线编辑工具使用教程
  • Python基础复习【第一弹】【黑马】
  • 【Word】公式编辑器中连字符/减号等显示偏长/过长
  • 架构设计系列4:如何设计高性能架构
  • 1392. 最长快乐前缀
  • 【C++设计模式之备忘录模式:行为型】分析及示例
  • 数据结构与算法(四):哈希表
  • FFmpeg 命令:从入门到精通 | ffplay 播放控制选项
  • 代码随想录day59
  • 【小工具-生成合并文件】使用python实现2个excel文件根据主键合并生成csv文件
  • 【论文阅读】An Evaluation of Concurrency Control with One Thousand Cores
  • 网页版”高德地图“如何设置默认城市?
  • 小谈设计模式(8)—代理模式
  • queryWrapper的使用教程
  • 数组模拟双链表
  • 鸡群优化(CSO)算法(含MATLAB代码)
  • 3. 安装lombok maven镜像设置
  • 详谈Spring
  • PyTorch入门之【AlexNet】
  • (六)正点原子STM32MP135移植——内核移植
  • 自媒体工作内容管理助手
  • Echarts 教程一
  • 【Kubernetes】Kubernetes 对象是什么?
  • 【C++设计模式之模板模式】分析及示例