• Mac下docker安装MySQL8.0.34


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

    1. 在Docker中搜索并下载MySQL8.0.x的最新版本
      选择并下载镜像
    2. 下载好后,在Images中就可以看到MySQL的镜像了
      在这里插入图片描述
      通过下面的命令也可以查看
      docker images
      
      • 1
      在这里插入图片描述
    3. 启动镜像,使用下面的命令就可以启动镜像了
      docker run -itd --name mysql8.0.34 -p 3306:3306 --privileged=true -e MYSQL_ROOT_PASSWORD=root mysql:8.0.34
      
      • 1
      解释:
      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}
      
      • 1
    6. 切换到config目录
      cd /Users/xxx/docker/data/mysql8.0.34/config
      
      • 1
    7. 把config文件从镜像内部复制出来
      docker cp mysql8.0.34:/etc/my.cnf ./
      
      • 1
    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=1
      
      pid-file=/var/run/mysqld/mysqld.pid
      [client]
      socket=/var/run/mysqld/mysqld.sock
      
      !includedir /etc/mysql/conf.d/
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
    9. 停掉并删除之前启动的MySQL镜像
      docker stop mysql8.0.34
      docker rm mysql8.0.34
      
      • 1
      • 2
    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
      
      • 1
    11. 使用连接工具测试MySQL
      在这里插入图片描述
  • 相关阅读:
    ant-design的Select组件采用自定义后缀图标(suffixIcon属性)时,点击该自定义图标没有反应,不会展示下拉菜单的问题
    美团面试——后端开发岗
    x86平台运行arm64平台docker 镜像
    跨境电商独立站如何建立呢?
    [创业-46]:中小公司的组织架构与公司管理
    谷粒商城 (二十八) --------- 仓储服务 API 仓库管理
    【干货技巧】最新 Java 后端面试系列干货,都在这了!
    【mysql学习笔记26】视图
    学习Bootstrap 5的第十天
    SQL优化万能公式:5 大步骤 + 10 个案例
  • 原文地址:https://blog.csdn.net/WX10301075WX/article/details/133582265