首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
电脑上怎么启动和连接MySQL(本地+Docker版)
📅 2026/10/17 2:48:42
✍️ 爱科研究院
👁 阅读 3,247
先讲Docker的Docker先简单认识一下Docker,经常使用Docker的都知道里面有镜像和容器两个东西。三者之间最重要的一句话是Docker 用镜像做出容器Docker里面可以有很多镜像 镜像里面可以创建很多容器一个镜像可以跑出很多个容器互相不影响。容器里改的东西删掉容器就没了镜像本身不会变。容器不是天天新建停止后还在只是没在运行。所以镜像相当于一个模板而容器就是它的一个实例这里要用的镜像就是mysql 8.4所创建的容器就是ai-kb-mysql如下图这里解释一下图中的ai-knowledge-base是什么它是Docker Compose 的项目名project来自你docker-compose.yml所在的文件夹名ai-knowledge-base。Compose 的逻辑是一个 yml 文件 一个项目项目里可以有多个服务每个服务跑出一个容器。Docker Desktop 就按项目把容器归成一组方便你看和批量操作。所以这里创建了两个容器分别有自己的镜像本节只讲mysql相关的启动容器方法一打开Docker Desktop图形界面里点一下 ▶就启动了容器方法二用命令行先打开Docker Desktop在含有docker-compose.yml的目录下的终端输入docker compose up -d # 启动docker compose ps # 用来检查看状态应为 running这里再扩展一下compose的一些细节docker compose up不带-f时只会自动找这四个名字在当前目录compose.yaml ✅ compose.yml ✅ docker-compose.yaml ✅ docker-compose.yml ✅ ← 最常用注意是.yml或.yaml都行但不能是docker-compose.yaml.txt记事本可能偷偷加后缀、也不能是docker-mysql.yml这种自定义名。如果带-f,就直接docker compose -f 文件名 up -d-d 后面还可以跟要打开的镜像名称例如docker compose -f docker-compose.yml up -d mysql连接先理解一下项目中存在的一些配置文件docker-compose.yml用来统一描述和启动项目依赖的服务services: mysql: image: mysql:8.4 container_name: ai-kb-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: root123456 # 首次初始化root 密码 MYSQL_DATABASE: ai_knowledge_base # 首次初始化自动建库已有卷则不会重建 TZ: Asia/Shanghai ports: - 3307:3306 volumes: - mysql_data:/var/lib/mysql redis: image: redis:7.4 container_name: ai-kb-redis restart: unless-stopped ports: - 6379:6379 volumes: - redis_data:/data volumes: mysql_data: redis_data:这个配置主要启动两个服务分别是mysql项目使用的 MySQL 数据库redis项目后续用于缓存、验证码等功能的 Redis当执行docker compose up -d mysql启动docker后Docker 会根据配置下载mysql:8.4镜像如果本地没有创建名为ai-kb-mysql的容器设置数据库密码和数据库名把电脑的3307端口映射到容器的3306端口保存数据库数据避免容器删除后数据丢失application.properties负责告诉 Spring Boot 如何连接它spring.application.namebackend # MySQL ????? spring.datasource.urljdbc:mysql://localhost:3307/ai_knowledge_base?useUnicodetruecharacterEncodingutf-8serverTimezoneAsia/Shanghai spring.datasource.usernameroot spring.datasource.passwordroot123456 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver # Redis?? spring.data.redis.hostlocalhost spring.data.redis.port6379 jwt.secret${JWT_SECRET}spring.datasource.urljdbc:mysql://localhost:3307/ai_knowledge_base这一句是和上面的docker-compose.yml的一些信息对上的所以事实上在配置信息正确的情况下 想要让项目连接上数据库 只需要正常启动后端就行(点击绿色小图标或者cd backend mvn spring-boot:run)再插一嘴这里是让项目连接数据库并不是让自己去对数据库进行操作如果想操作数据库就是另外的方法mysql -h 127.0.0.1 -P 3307 -u root -p*******如果直接写密码-p和密码之间不能有空格但一般是先写-p回车再填密码(这样会安全一点)也可以mysql -h localhost -P 3307 -u root -p*******这里127.0.0.1和localhost的区别在大多数情况下不用管但是还是值得深究的(有大佬可以讲解一下)本地Get-Service MySQL用来查询 MySQL 服务的状态Start-Service MySQL用来启动一个已停止的 MySQL 服务连接在配置信息正确的情况下 想要让项目连接上数据库 只需要正常启动后端就行这里要和Docker区分的是他们两个的端口不一样本地的一般就是3306Docker(做演示的)是3307所以在配置文件中会略有区别当然一个端口里可以有很多个库
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/17 2:48:42
理解 Kubernetes 核心机制:Pod 自愈、Deployment 副本管理与 Service 服务发现
2026/10/17 2:48:42
DesignStart Kit实战:Cortex-M3软核FPGA集成与调试
2026/10/17 2:48:42
风光制氢合成氨优化系统复现:从论文模型到Python工程实践
2026/10/17 3:43:45
约瑟夫环算法:链表模拟与数学公式解法的工程选型指南
2026/10/17 3:43:45
C#贪吃蛇实战:WinForms游戏主循环与UI线程安全设计
2026/10/17 3:43:45
React Native for OpenHarmony定位开发实践:从权限到真机调试
2026/10/17 3:43:45
openGauss内核源码解析:ALTER TABLE实现流程与调度机制
2026/10/17 3:43:45
Unity自定义Inspector:让位掩码枚举支持多选勾选
2026/10/17 3:38:45
OpenLayers v7.4.0 环境搭建避坑指南:ol.js与ol.css正确引入方法
2026/10/17 0:02:58
NetSpot 实战:用信道分析与频宽优化解决 Wi-Fi 卡顿
2026/10/17 0:02:58
C++ split() 字符串分割的五种实现与性能实测
2026/10/17 0:02:58
R语言坐标轴范围设置:从xlim/ylim到coord_cartesian的完整指南
2026/10/16 1:17:36
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/16 1:17:35
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/16 1:17:35
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/16 1:17:35
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/16 18:46:48
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/16 18:46:46
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)