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

相关推荐
中二少年学编程10 分钟前
Node版本管理使用手册
后端
modelmd12 分钟前
Go 切片、映射常见使用场景
开发语言·后端·golang
mldong28 分钟前
工作流引擎的退回修改:金额从 6666 改成 666,重提还是回到退回它的那个人
后端·架构
陈随易29 分钟前
一个网吧网管,做了个网页,卖了 5000 万
前端·后端·程序员
深蓝AI10 小时前
Python 3.13 的 Queue.shutdown:异步消费者终于能正常收工了
后端
武子康10 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
武子康12 小时前
MultiNet7 每轮都 clean,ESP32-P4 内存为什么还在掉?
人工智能·后端·agent
超级架构师12 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
陈随易12 小时前
AI 运维服务器,安全又可靠的方法
前端·后端·程序员
IT_陈寒14 小时前
JavaScript的this坑人实录,这次我真的记下来了
前端·人工智能·后端