Mac M系列芯片(M1/M2)Docker安装MySQL并持久化数据与配置

这篇具有很好参考价值的文章主要介绍了Mac M系列芯片(M1/M2)Docker安装MySQL并持久化数据与配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文基于MySQL5.7.42进行说明

在 Docker 镜像仓库查找 MySQL 镜像

DockerHub镜像仓库-mysql镜像

mac m2 docker mysql,macos,docker,linux

拉取MySQL镜像 

常规命令(不适用),提示no matching manifest for linux/arm64/v8 in the manifest list entries

docker pull mysql:5.7.42

mac m2 docker mysql,macos,docker,linux

 到DockerHub查看MySQL5.7.42的镜像,可以看到确实没有linux/arm64/v8版本的镜像

mac m2 docker mysql,macos,docker,linux

 因此我们要另辟蹊径,加入指定架构的参数进行拉取

docker pull --platform linux/amd64 mysql:5.7.42

--platform linux/amd64:Docker拉取镜像时指定拉取所选架构的版本

查看镜像

mac m2 docker mysql,macos,docker,linux

mac m2 docker mysql,macos,docker,linux

mac m2 docker mysql,macos,docker,linux

 在应用端的镜像界面和启动镜像的时候,Docker会检测到该镜像支持的架构与电脑的CPU架构不一致,忽略即可(M1/M2芯片也是支持linux/amd64版本的)

启动镜像并查看MySQL具体信息

# 启动镜像并进入容器
docker run -it mysql:5.7.42 /bin/bash
# 查看MySQL版本
mysql --version
# 查找 Docker 内,MySQL 配置文件 my.cnf 的位置
mysql --help | grep my.cnf

mac m2 docker mysql,macos,docker,linux

查看MySQL配置文件my.cnf内容(如下)

bash-4.2# cat my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/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
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

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

默认配置并未指定字符集,此时默认字符集为latin1,可能会导致一些中文字符乱码,因此我们可以修改配置文件,添加默认字符集(见下节)

mac m2 docker mysql,macos,docker,linux

运行镜像并配置持久化

准备

1. 宿主机创建数据存储目录(可以是其他位置,/Users/leo笔者Mac上的用户目录,等价于~目录,读者自行调整目录)

mkdir /Users/leo/docker/mysql
mkdir /Users/leo/docker/mysql/conf
mkdir /Users/leo/docker/mysql/data
mkdir /Users/leo/docker/mysql/logs
mkdir /Users/leo/docker/mysql/mysql-files

2. 新建my.cnf配置文件并放到/Users/leo/docker/mysql/conf目录下

my.cnf配置如下:

[client]
 
default_character_set=utf8
 
[mysql]
 
default_character_set=utf8
 
[mysqld]
 
character_set_server=utf8

运行容器

docker run --restart=always -p 3306:3306 --name mysql \
-e MYSQL_ROOT_PASSWORD="123456" \
-v /Users/leo/docker/mysql/conf:/etc/mysql/conf.d \
-v /Users/leo/docker/mysql/logs:/var/log/mysql \
-v /Users/leo/docker/mysql/data:/var/lib/mysql \
-v /Users/leo/docker/mysql/mysql-files:/var/lib/mysql-files \
-d mysql:5.7.42

参数说明:

  • docker run:运行Docker镜像
  • –restart=always:当docker重启时,该容器也会重新启动
  • -p:映射端口号,宿主机端口映射到容器内部端口(即访问宿主机的3306端口即可访问到容器的3306端口)
  • –name mysql:设置容器名称为mysql
  • -e MYSQL_ROOT_PASSWORD="123456":指定环境变量(初始化 root 用户的密码为 123456
  • -v /Users/leo/docker/mysql/conf:/etc/mysql/conf.d:将宿主机的my.cnf文件映射到Docker容器中
  • -v /Users/leo/docker/mysql/logs:/var/log/mysql:将容器的/var/log/mysql目录挂载到宿主机的/Users/leo/docker/mysql/logs目录
  • -v /Users/leo/docker/mysql/data:/var/lib/mysql:同上
  • -v /Users/leo/docker/mysql/mysql-files:/var/lib/mysql-files:同上
  • -d mysql:5.7.42:选择运行的Docker镜像并指定Tag(不指定的话默认是latest)

测试

# 进入名为mysql的容器
docker exec -ti mysql bash
# 命令行连接MySQL
mysql -uroot -p'jY%kng8cc&'
# 查看字符集
show variables like 'char%';

mac m2 docker mysql,macos,docker,linux

参考文章

1. 使用Docker安装并启动MySQL

2. DockerHub-MySQL文章来源地址https://www.toymoban.com/news/detail-763178.html

到了这里,关于Mac M系列芯片(M1/M2)Docker安装MySQL并持久化数据与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Mac M1/M2/M3 芯片环境配置以及常用软件安装-前端

    最近换了台新 Mac ,所有的配置和软件就重新安装下,顺便写个文章。 1. 安装 Homebrew 安装 Homebrew 【 Mac 安装 Homebrew 】 通过国内镜像安装会比较快 安装 Git 后再运行此脚本,在系统弹窗中点击“安装”按钮 点击安装按钮,安装 Git 之后在重新运行此命令,即可安装 Homebrew 可以

    2024年02月04日
    浏览(89)
  • 苹果mac m1,m2芯片安装 pytorch和tensorflow的GPU版本

    1.安装 Xcode 2.创建环境 3.打开pytorch官网复制命令, 注意:在mac m上,device是’mps’ 而不是’cuda’, mac的MPS支持MacOS 12.3+  4.测试 1.安装 Xcode 2.创建环境 3. 安装conda install -c apple tensorflow-deps  4.Install base TensorFlow 5.  Install tensorflow-metal plug-in  6.验证 7.完成,附上我安装完pytorch和

    2024年02月13日
    浏览(45)
  • Mac M1/M2芯片电脑问题解决汇总

    旧的 mbp 用了7年多了,虽然还能使用,但是严重降低了工作效率了,所以最近入手了 mbp (1月发行的),该电脑使用的是苹果自研的 m2 芯片,性能杠杠滴。在安装会之前的环境和软件时会遇到种种很奇怪的问题,所以本文记录下来,以便有需要的童鞋可以去参考。 在本文开

    2024年02月02日
    浏览(48)
  • Mac M2芯片免安装版mysql

    先看一下本机mac信息 左上角,单机苹果的logo,然后单击“关于本机”,可以看到当前mac的信息 看这个信息的目的是:你在官网下载mysql的时候,不要再下载x86版本,要现在arm版本,因为苹果的M2芯片是基于arm架构。 下载mysql的路径:https://dev.mysql.com/downloads/mysql/ 注意下载ar

    2024年02月13日
    浏览(46)
  • Mac OS M1、M2 芯片虚拟机 VMware Fusion 安装Windows 11 Win 11 arm64虚拟机 双系统 教程

    请参考: https://mp.csdn.net/mp_blog/creation/editor/new/129279303

    2024年02月13日
    浏览(75)
  • MAC(适用于M1,M2芯片)下载Java8(官方 ARM64 JDK1.8)安装、配置环境,支持动态切换JDK

    官方下载地址 https://www.oracle.com/cn/java/technologies/downloads/ 这个是官方新发布的适配了M1、M2芯片的ARM64版本的jdk8,再也不用去第三方下载了,也不用满世界的去找第三方jdk缺少的jar包了,而且更快更强!! 可以下载免安装版, 这样就可以配置多个版本的jdk了,配置如下 使配置

    2024年02月08日
    浏览(74)
  • Mac M1(arm 系列芯片)如何安装 Chromium | Puppeteer

    最近写个脚本用到 puppeteer,然后安装 Chromium 出现一点问题,这里记录一下解决方案。 在 Puppeteer 安装时会自动安装 Chromium,然而却总是报错 502 导致下载失败,直接下载可以下载,命令行 wget 也可以,猜测是因为 Puppeteer 开启了新的 process 来安装导致环境变量丢失,然后就玄

    2024年02月01日
    浏览(30)
  • Docker安装mysql&&使用Navicat远程连接mysql容器&&mysql容器的持久化测试

    文章主人公:帅哥BUG😎  文章路人: 路人 🤨  路人 😛 目录 一.安装mysql并配置文件 1.下载相关镜像 2.在宿主机中创建相关目录,用于挂载容器的相关数据 3.conf目录 4.data目录(创建mysql5.7容器) 二.使用Navicat远程连接mysql容器 1.ip addr 获取ip 2.点击连接选择MySql 3.输入ip,密码

    2024年02月03日
    浏览(39)
  • M1芯片Mac安装brew和brew常用命令(附:安装docker)

    mac终端安装brew: 如果上面这条命令出现问题则需要配置环境变量: vim /etc/profile 通过上面命令编辑添加两条环境变量 需要添加的原因是因为m1芯片的mac电脑上的brew安装包位置不是在以前的/usr/local而是/opt/homebrew。改完之后在安装上面那个安装命令就可以啦。 brew常用命令 1、

    2024年02月08日
    浏览(51)
  • M1/M2芯片mac电脑装双系统虚拟机win11/win10保姆级图文教程

    过去苹果电脑采用的是intel CPU,和PC一样是X86架构,硬件本身就支持Windows。苹果本身在系统中提供了对Windows的硬件支持,只要划出一部分硬盘空间,用系统内置的启动转换助理,安装Windows镜像,就可以实现硬件级别的双系统。而M系芯片是ARM架构,类似于iPhone、iPad上的A系芯

    2024年02月13日
    浏览(99)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包