文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-18 11:27

关注

本文基于MySQL5.7.42进行说明

DockerHub镜像仓库-mysql镜像

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

docker pull mysql:5.7.42

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

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

docker pull --platform linux/amd64 mysql:5.7.42

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

查看镜像

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

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

查看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 = 2Mskip-host-cacheskip-name-resolvedatadir=/var/lib/mysqlsocket=/var/run/mysqld/mysqld.socksecure-file-priv=/var/lib/mysql-filesuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0#log-error=/var/log/mysqld.logpid-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,可能会导致一些中文字符乱码,因此我们可以修改配置文件,添加默认字符集(见下节)

准备

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

mkdir /Users/leo/docker/mysqlmkdir /Users/leo/docker/mysql/confmkdir /Users/leo/docker/mysql/datamkdir /Users/leo/docker/mysql/logsmkdir /Users/leo/docker/mysql/mysql-files

新建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

参数说明:

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

 使用Docker安装并启动MySQL

 DockerHub-MySQL

来源地址:https://blog.csdn.net/Tan_LC/article/details/130680474

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯