在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接

这篇具有很好参考价值的文章主要介绍了在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接

1、查看芯片版本

  先打开控制台,使用 uname -m 来查看自己CPU芯片的架构

  yourPrj % uname -m

  arm64

  苹果的M系列芯片使用的是ARM64架构,因此,需要安装相应版本的一些列工具。

2、安装docker

        因为我是M1芯片,所以安装docker desktop时候,当然要安装Apple silicon版本,这样也可以下载支持ARM的mysql镜像了。

        顺便说一下,直接使用VSCode的插件功能安装docker desktop,会给安装成amd64版本,很奇怪。

m1 navicat,docker,mysql,容器

        docker desktop下载主页:https://docs.docker.com/desktop/install/mac-install/

        Apple silicon版安装包下载地址: https://desktop.docker.com/mac/main/arm64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-arm64

        Intel chip版安装包下载地址: https://desktop.docker.com/mac/main/amd64/Docker.dmg?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-mac-amd64

        M1也可以安装amd64版本的docker desktop,但是就不能安装arm的镜像了。

3、安装mysql

        登录hub.docker.com,搜索mysql,查看支持arm64的镜像。

m1 navicat,docker,mysql,容器发现只有mysql8及以上的版本才支持arm64。

m1 navicat,docker,mysql,容器

         我手头只有NaviCat 11 premium 连接,不能使用最新的MySql8.0镜像,否则会报错说client版本过低。

        解决方法只有两个:

          A、docker desktop不安装Apple silicon版本,安装Intel chip的;然后就可以安装MySql 5.7,然后NaviCat 11 就可以用了;

          B、升级NaviCat版本。

        方案B显然比较容易,上Navi主页www.navicat.com上一看,好家伙,最新版 NaviCat 16 premium 买断价是11999,也可以1799月付。如果只买Mysql版本,个人用也需要1099。果然是土豪才能用的工具啊。以后再也不敢小看这个贵妇猫了。

m1 navicat,docker,mysql,容器

 

        方案A的话虽然试过可以安装成功,但m1芯片安装amd的docker,再拉amd的mysql心里十分纠结。想想方案B换个路子,也许能更香。

        访问mac.mac89.com/mac/3447.html ,可以继续愉快的使用MySQL,且是最新的8了。

m1 navicat,docker,mysql,容器

 

4、mysql8和5.7的区别(来自ChatGPT3.5)

MySQL 8 和 MySQL 5.7 是两个不同的版本,它们之间有一些显著的差异。

以下是它们之间的一些区别:

  1、数据字典:MySQL 8 中引入了数据字典,它是一个用于存储数据库对象信息的内部系统表,MySQL 5.7 中没有数据字典。

  2、角色管理:MySQL 8 引入了角色管理系统,可以创建、管理和分配角色,MySQL 5.7 中没有角色管理系统。

  3、加密功能:MySQL 8 中增强了加密功能,支持使用密钥管理系统(Keyring)加密数据和日志文件,MySQL 5.7 中没有这个功能。

  4、JSON 支持:MySQL 8 对 JSON 的支持更好,提供了更多的函数和操作符,MySQL 5.7 对 JSON 的支持相对较少。

  5、改进的性能:MySQL 8 对 InnoDB 存储引擎进行了改进,包括更快的索引和查询优化,比 MySQL 5.7 更高效。

总的来说,MySQL 8 比 MySQL 5.7 更加先进和高级,但是也需要更高的系统配置和更好的硬件支持来实现更好的性能表现。对于一些较为简单的项目或者要求较低的项目,MySQL 5.7 也可以胜任。

  -------------------------------------------------

5、如果拉取的是mysql5.7镜像,还需要进入容器修改权限,不然无法使用IP登录

  -------------------------------------------------

  进入容器,修改权限,不然无法使用IP登录

  py % docker exec -it mysqldb bash

  bash-4.2mysql -uroot -p

  Enter password: (此处要输入你启动docker时候设定好的密码)

  Welcome to the MySQL monitor.  Commands end with ; or \g.

  Your MySQL connection id is 18

  Server version: 5.7.41 MySQL Community Server (GPL)

 

  Copyright (c) 2000, 2023, Oracle and/or its affiliates.

 

  Oracle is a registered trademark of Oracle Corporation and/or its

  affiliates. Other names may be trademarks of their respective

  owners.

 

  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

  mysql> update mysql.user set Host = '%' where User = 'root';

  Query OK, 1 row affected (0.05 sec)

  Rows matched: 1  Changed: 1  Warnings: 0

 

  mysql> flush privileges;

  Query OK, 0 rows affected (0.02 sec)

 

  mysql>

6、成品docker-compose内容,亲测可用

# 名称:docker-compose.yml

# 说明:在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接

# 作者:讨厌夏天

# 邮箱: 4857819@qq.com

# 日期:2023.04.30



version: '3.9'

services:

  mysqldb:

    image: mysql:8.0.33

    platform: linux/arm64/v8

    container_name: mysqldb

    volumes:

      # 相对路径映射方法(左侧本地:右侧容器)

      - ./data/mysql:/var/lib/mysql

    restart: always

    ports:

      - "33080:3306"

    environment:

      MYSQL_ROOT_PASSWORD: Qwer!@#$

      MYSQL_DATABASE: mysqldb

      MYSQL_USER: mysql

      MYSQL_PASSWORD: Qwer!@#$

      TZ: Asia/Shanghai

完毕文章来源地址https://www.toymoban.com/news/detail-662835.html

到了这里,关于在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用docker/docker-compose通过自定义的redis.conf文件启动redis 7.2.3,附上docker-compose.yml的redis配置

    使用docker/docker-compose通过自定义的redis.conf文件启动redis 7.2.3,附上docker-compose.yml的redis配置

    目录 一.复制以及使用自定义的redis.conf文件 1.在官网拷贝对应版本的配置文件内容新建redis.conf文件进行粘贴。(推荐) 2.也可以去官网下载对应版本的redis的tar.gz包,解压后在根目录下找到redis.conf文件复制也可也可。 二.配置redis.conf文件(这里有个小坑) 1.注释掉bind 127.0.0.1

    2024年02月03日
    浏览(14)
  • 【MacOS】MacBook使用本机m1芯片GPU训练的方法(mps替代cuda)

    记录: 对于tensorflow环境配置,即使替换了M1适配的anaconda,使用苹果官方适配m1的tensorflow安装命令,仍旧出现各种问题,可见现在的M1版anaconda还是存在很大问题。所以在屡次不服气的碰壁下我还是改用了miniforge3…真香! so,建议使用miniforge3管理,miniforge3可以理解成 minicon

    2024年02月05日
    浏览(9)
  • docker-compose启动minio

    docker-compose启动minio

    一、创建文件夹 二、docker-compose.yml 注意:新版 :RELEASE.2023-03-24T21-41-23Z 数据格式是这种 老版: RELEASE.2022-05-26T05-48-41Z 三、开启防火墙 四、验证 172.50.2.40:9001

    2024年02月16日
    浏览(10)
  • 使用docker-compose启动docker镜像报错exec ./docker-entrypoint.sh: no such file or directory

    使用docker-compose启动docker镜像报错exec ./docker-entrypoint.sh: no such file or directory

    报错原因:exec ./docker-entrypoint.sh: no such file or directory 我们可以在linux下通过cat -v命令查看.sh文件   例: cat -v Dockerfile         WORKDIR /tools/*******/^M         RUN chmod a+x /tools/*********/docker-entrypoint.sh^M         ENTRYPOINT [\\\"./docker-********.sh\\\"]^M 这种后缀有^M的即为编码错误造成的

    2024年02月15日
    浏览(15)
  • Docker-compose 启动 lnmp 开发环境

    Docker-compose 启动 lnmp 开发环境

    GitHub传送阵 docker-lnmp 项目帮助开发者快速构建本地开发环境,包括Nginx、PHP、MySQL、Redis 服务镜像,支持配置文件和日志文件映射,不限操作系统; 此项目适合个人开发者本机部署,可以快速切换服务版本满足学习服务新版本的需求; 也适合团队中统一开发环境,设定好配置

    2024年02月01日
    浏览(9)
  • docker-compose 如何安排容器启动的顺序

    在使用docker-compose进行容器部署的时候,时常是需要对容器的启动顺序进行编排,比如在应用容器启动前,需要先启动数据库的容器。通过对官方文档的阅读,发现在docker-compose中,可以使用depends_on配合健康检查healthcheck来实现。 参考链接: https://docs.docker.com/compose/compose-fi

    2024年02月12日
    浏览(10)
  • macbook m1 docker中使用go

    已经有一个centos8的镜像,本来打算在centos8中安装go 安装方法: 但是,执行 go version时会报错:qemu-x86_64: Could not open \\\'/lib64/ld-linux-x86-64.so.2\\\': No such file or directory 应该需要重新创建容器才可以,可以参考: docker - /lib64/ld-linux-x86-64.so.2: No such file or directory error - Stack Overflow 嫌麻烦

    2024年02月11日
    浏览(7)
  • docker-compose一键启动neo4j

    下载镜像 docker pull neo4j:3.5.22-community 编写配置文件 参考文档 编写docker-compose.yml文件 一键启动 docker-compose up -d

    2024年02月03日
    浏览(10)
  • 【QA】docker-compose-部署django-如何设置自动启动

    使用docker-compose部署django项目,通常做法是: 构建docker镜像 运行容器 进入容器里面启动django项目 但是这样不够自动化。 尝试通过配置脚本的方式,让容器启动的时候就启动django项目,但这样往往使得容器一直处于重启状态,容器无法运行,本文主要解决这个问题 docker-com

    2024年01月23日
    浏览(13)
  • 【Docker】解决docker-compose启动的容器一直处于restarting状态的问题

    通过如下的文件启动容器后 status一直处于Restarting 且执行如下命令报错: 改成如下后解决 参考:https://stackoverflow.com/a/63990209

    2024年02月11日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包