mac docker 安装mysql

server/2024/9/24 6:48:45/

在Mac上使用Docker安装MySQL的过程可以分为几个步骤,下面是详细的指南:

步骤1:安装Docker

确保你已经在Mac上安装了Docker。如果还没有安装,你可以访问Docker官网(https://www.docker.com/products/docker-desktop)下载Docker Desktop for Mac并进行安装。安装过程中,根据提示操作即可。

步骤2:配置Docker加速器(可选但推荐)

由于默认的Docker镜像仓库在国外,国内用户可能会遇到下载速度慢的问题。可以通过配置国内镜像源来加速下载。在Docker Desktop的偏好设置(Docker -> Preferences)中,找到Docker Engine,编辑配置文件加入国内镜像源地址,例如阿里云的镜像源,然后点击"Apply & Restart"重启Docker。

步骤3:拉取MySQL镜像

打开终端,输入以下命令来搜索MySQL镜像:

docker search mysql

选择合适的版本进行拉取,如果没有指定版本,会默认拉取最新版。例如,拉取最新版MySQL镜像:

docker pull mysql

如果你想拉取特定版本,可以在mysql后面加上版本号,例如:

docker pull mysql:5.7

步骤4:运行MySQL容器

使用docker run命令来启动MySQL容器。你需要设置端口映射、数据卷挂载以及初始化root用户的密码。以下是一个示例命令:

docker run -d \--name mysql-server \-p 3306:3306 \-v ~/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=my-secret-pw \mysql:latest
docker run -d \--name mysql56-server \-p 3307:3307 \-v ~/mysql56/data:/var/lib/mysql56 \-e MYSQL_ROOT_PASSWORD=123456 \mysql:5.6

这里做了几件事:

  • -d 表示以后台模式运行容器。
  • --name mysql-server 指定容器名称为mysql-server。
  • -p 3306:3306 将容器的3306端口映射到主机的3306端口。
  • -v ~/mysql/data:/var/lib/mysql 将主机的~/mysql/data目录挂载到容器内的/var/lib/mysql,用于持久化数据。
  • -e MYSQL_ROOT_PASSWORD=my-secret-pw 设置MySQL root用户的密码。

步骤5:验证安装

你可以通过以下命令检查容器是否正在运行:

docker ps

你应该能看到名为mysql-server的容器正在运行。

步骤6:连接MySQL

现在,MySQL已经在Docker容器中运行,你可以使用MySQL客户端(如MySQL Workbench或Navicat)连接到localhost的3306端口,使用之前设定的密码进行登录。

注意:如果在M1芯片的Mac上运行,可能需要指定平台为amd64,使用--platform=linux/amd64参数,例如:

docker run -d --platform=linux/amd64 ... # 其余参数保持不变

以上就是在Mac上使用Docker安装MySQL的详细过程。


http://www.ppmy.cn/server/43036.html

相关文章

JAVA面试题大全(十三)

1、Mybatis 中 #{}和 ${}的区别是什么? 在 MyBatis 中,#{} 和 ${} 是两种用于参数绑定的方式,它们之间的主要区别在于数据处理的方式和 SQL 注入的风险。 #{}:预编译处理 #{} 用于预编译处理,MyBatis 会为其生成 Prep…

C++实现的单例模式日志类

在实际生产中,日志是非常重要的调试工具,日志内容至少需要包括时间戳、日志级别、日志内容 推荐的日志库有: google/glog: C implementation of the Google logging module (github.com) Apache Log4cxx: Apache Log4cxx 自己实现的话&…

算法提高之线段树

算法提高之线段树 存储方式 线段树除了最后一层叶子节点以外是一个满二叉树类似堆的形式 因此可以用堆来存储线段树同时注意到 数组是可以模拟堆的 因此我们可以用一位数组来存储线段树 节点编号为u,对应左子树编号为2 * u,右子树编号为2 * u 1装逼一…

如何用 MoonBit 实现 diff?

你使用过 Unix 下的小工具 diff 吗? 没有也没关系,简而言之,它是一个比对两个文本文件之间有什么不同之处的工具。它的作用不止于此,Unix 下还有一个叫 patch 的小工具。 时至今日,很少有人手动为某个软件包打补丁了…

【全开源】答题考试系统源码(FastAdmin+ThinkPHP+Uniapp)

答题考试系统源码:构建高效、安全的在线考试平台 引言 在当今数字化时代,在线考试系统已成为教育机构和企业选拔人才的重要工具。一个稳定、高效、安全的答题考试系统源码是构建这样平台的核心。本文将深入探讨答题考试系统源码的关键要素,…

Golang | Leetcode Golang题解之第101题对称二叉树

题目: 题解: func isSymmetric(root *TreeNode) bool {u, v : root, rootq : []*TreeNode{}q append(q, u)q append(q, v)for len(q) > 0 {u, v q[0], q[1]q q[2:]if u nil && v nil {continue}if u nil || v nil {return false}if …

外卖系统关于redis使用解决高并发情况

1、如何配置redis 在java中操作redis 操作步骤: 1、导入Spring Data Redis的maven坐标 2、配置Redis数据源 3、编写配置类,创建RedisTemplate对象 4、通过RedisTemplate对象操作Redis 2、Redis结合Lua脚本 减少网络开销:使用Lua脚本&#xf…

leetcode 239. 滑动窗口最大值、347.前 K 个高频元素

leetcode 239. 滑动窗口最大值、347.前 K 个高频元素 leecode 239. 滑动窗口最大值 题目链接 :https://leetcode.cn/problems/sliding-window-maximum/description/ 题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的…