Mac 使用Docker部署Mysql镜像,并使用DBever客户端连接

使用docker拉取镜像

复制代码
docker pull mysql:8.0

docker 部署

bash 复制代码
docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456789 -v ${HOME}/docker/mysql/data:/var/lib/mysql -v ${HOME}/docker/mysql/config:/etc/mysql/conf.d --restart unless-stopped mysql:8.0

参数详解

  1. -d

    • 作用:以"分离模式"(后台运行)启动容器。
    • 示例:容器启动后,终端不会阻塞。
  2. --name mysql8

    • 作用 :为容器指定名称 mysql8(便于后续管理)。
    • 注意:名称必须唯一,重复使用会报错。
  3. -p 3306:3306

    • 作用 :将宿主机的 3306 端口映射到容器的 3306 端口。
    • 格式主机端口:容器端口
    • 用途 :允许外部通过宿主机的 3306 端口访问 MySQL 服务。
  4. -e MYSQL_ROOT_PASSWORD=123456789

    • 作用 :设置 MySQL 的 root 用户密码为 123456789
    • 关键性:此环境变量是必需的,否则容器启动会失败。
  5. -v ${HOME}/docker/mysql/data:/var/lib/mysql

    • 作用 :将宿主机目录 ${HOME}/docker/mysql/data 挂载到容器的 /var/lib/mysql
    • 用途:持久化 MySQL 数据文件(避免容器删除后数据丢失)。
    • 路径说明
      • ${HOME}/docker/mysql/data:宿主机目录(需提前创建)。
      • /var/lib/mysql:容器内 MySQL 默认数据存储路径。
  6. -v ${HOME}/docker/mysql/config:/etc/mysql/conf.d

    • 作用 :挂载自定义配置文件目录到容器的 /etc/mysql/conf.d
    • 用途:覆盖 MySQL 默认配置(如字符集、缓冲区大小等)。
    • 示例 :在宿主机 ${HOME}/docker/mysql/config 下放置 my.cnf 文件。
  7. --restart unless-stopped

    • 作用 :设置容器自动重启策略。
      • unless-stopped:除非手动停止,否则总是重启(如宿主机重启后自动恢复容器)。
    • 其他选项
      • no(默认):不自动重启。
      • always:无条件重启(包括手动停止后)。
  8. mysql:8.0

    • 作用:指定使用的镜像为官方 MySQL 8.0 版本。
    • 注意 :若本地不存在该镜像,Docker 会先拉取(docker pull mysql:8.0)。

本地连接mysql镜像

使用brew安装本地mysql客户端

bash 复制代码
brew install mysql-client
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

连接mysql

css 复制代码
mysql -h 127.0.0.1 -P 3306 -u root -p

DBever连接镜像

测试连接报错:Public Key Retrieval is not allowed

先点 finish,完成连接

右键该连接,点击 Edit Connection

将"allowPublicKeyRetrieval" 设置为 true,将"useSSL"设置为 false

相关推荐
Victor3563 分钟前
Hibernate(3)Hibernate的优点是什么?
后端
Victor3563 分钟前
Hibernate(4)什么是Hibernate的持久化类?
后端
JaguarJack6 分钟前
PHP True Async 最近进展以及背后的争议
后端·php
想不明白的过度思考者2 小时前
Spring Boot 配置文件深度解析
java·spring boot·后端
WanderInk8 小时前
刷新后点赞全变 0?别急着怪 Redis,这八成是 Long 被 JavaScript 偷偷“改号”了(一次线上复盘)
后端
吴佳浩9 小时前
Python入门指南(七) - YOLO检测API进阶实战
人工智能·后端·python
廋到被风吹走9 小时前
【Spring】常用注解分类整理
java·后端·spring
货拉拉技术10 小时前
出海技术挑战——Lalamove智能告警降噪
人工智能·后端·监控