资讯动态

电脑上怎么启动和连接MySQL(本地+Docker版)

发布时间:2026/10/17 2:48:42 来源:尧图企业网站定制
先讲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所以在配置文件中会略有区别当然一个端口里可以有很多个库

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑