服务器上数据库的创建

破案了!🎯 真正的死因终于找到了:

Caused by: com.mysql.cj.exceptions.CJException: Unknown database 'newbee_mall_db'

这说明你的 Java 程序成功连上了 Docker 里的 MySQL,但是 MySQL 里面根本没有 newbee_mall_db 这个数据库! 这是一个空库。

🛠️ 解决方法(只需 3 步):

第一步:进入 Docker 容器并登录数据库
复制代码
docker exec -it mysql-server bash
mysql -u root -p123456
第二步:创建数据库

在 mysql> 提示符下执行以下 SQL 语句建库:

复制代码
CREATE DATABASE IF NOT EXISTS newbee_mall_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

(注:如果你的配置文件里写的不是 newbee_mall_db,请换成你配置文件中实际写的名字)

第三步:导入初始化数据(非常关键!)

光建一个空库是不行的,商城还需要表结构和初始数据。新蜂商城项目源码中通常自带了一个 .sql 文件(一般在项目的 sql/ 目录下,或者叫 newbee_mall_schema.sql)。

你需要把这个 SQL 文件上传到服务器上,然后在这个 mysql> 界面下导入:

复制代码
use newbee_mall_db;
source /你上传的SQL文件的绝对路径/newbee_mall_schema.sql;

如果嫌麻烦,你也可以先退出 MySQL(输入 exit),回到宿主机命令行直接用一条命令导入:

复制代码
# 假设你把 sql 文件放在了 /etc/nginx/java/ 目录下
docker cp /etc/nginx/java/newbee_mall_schema.sql mysql-server:/tmp/newbee_mall_schema.sql
docker exec -it mysql-server mysql -u root -p123456 newbee_mall_db < /tmp/newbee_mall_schema.sql

完成这三步后,不需要重启 Java 项目,直接刷新浏览器页面,你的新蜂商城就能正常显示了!快去试试吧!

相关推荐
这个DBA有点耶26 分钟前
函数索引的“完全一致”有多苛刻:写法、字符集、类型,差一处就失效
数据库·mysql·代码规范
星恒随风27 分钟前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
杨凯凡8 小时前
MySQL 死锁怎么排查?InnoDB 锁等待与 Spring Boot 整事务重试实战
数据库·spring boot·mysql
Decay__8 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
瑞雪兆丰年兮8 小时前
JavaWeb-day07-MySQL(DQL&多表设计)
java·开发语言·数据库·sql·mysql·javaweb·web
FungLeo16 小时前
成为全栈·基础补充·数据库迁移与事务:数据结构怎样安全演进
mysql·postgresql·sqlite·数据一致性·数据库事务·数据库迁移·成为全栈
aiks_yuan1 天前
MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)
mysql
数据库小学妹1 天前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
这个DBA有点耶1 天前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
噜哥带你玩转 AI 大模型1 天前
面试加分项!CASE WHEN 两种写法、CTE 公共表表达式、四大类窗口函数,老哥一次讲透
mysql·窗口函数·cte·sql 进阶