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

相关推荐
程序员cxuan6 小时前
DeepSeek-V4-Flash 正式版来了!这次提升有点夸张。
人工智能·后端·程序员
小杍随笔9 小时前
2025年Rust GUI框架实战万字避坑指南
开发语言·后端·rust
geovindu9 小时前
CSharp: LogHelper
开发语言·后端·c#·.net
fliter9 小时前
Go设计取舍之一: goroutine 为什么保持匿名、无状态
后端
fliter9 小时前
Go设计取舍之二: maps.Keys和Values为什么返回迭代器
后端
热心市民lcj9 小时前
Spring Boot 整合 Caffeine 本地缓存实战
spring boot·后端·缓存
Revolution619 小时前
Nest.js 是什么:怎样用它写出第一个后端接口
后端·node.js·nestjs
aiopencode10 小时前
SwiftUI Introspect生产环境完全指南:为什么它是安全可靠的选择
后端·ios
shengjk110 小时前
x86架构发展史:从8086到x86-64,一文看懂40多年CPU指令集如何改变世界
后端
JackSparrow41411 小时前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全