1.8 KiB
1.8 KiB
数据库安装与初始化
依据《产品文档》创建数据库 ocean 及表结构。
1. 安装 MySQL(若未安装)
在终端执行(会提示输入 sudo 密码):
sudo apt-get update
sudo apt-get install -y mysql-server
安装后启动服务:
sudo systemctl start mysql
sudo systemctl enable mysql
2. 创建数据库与表
在项目根目录执行(使用 root 登录,无密码时用 sudo mysql):
cd /home/xsl/code/ocean
sudo mysql < backend/schema.sql
若 root 已设置密码,则:
mysql -u root -p < backend/schema.sql
按提示输入 root 密码即可。
2.1 创建专用用户(避免 root Access denied)
Ubuntu 下 MySQL 的 root 常用 socket 认证,脚本用 root 连接会报 Access denied for user 'root'@'localhost'。建议为 ocean 创建专用用户:
cd /home/xsl/code/ocean
sudo mysql < backend/scripts/create_db_user.sql
默认会创建用户 ocean / 密码 ocean123(仅限 ocean 库)。然后在 backend/.env 中设置:
MYSQL_USER=ocean
MYSQL_PASSWORD=ocean123
MYSQL_DATABASE=ocean
若需自定义密码,可先编辑 backend/scripts/create_db_user.sql 中 IDENTIFIED BY '...' 再执行。
3. 验证
mysql -u root -e "USE ocean; SHOW TABLES;"
# 应看到:users, projects, operation_logs
表说明
| 表名 | 说明 |
|---|---|
| users | 用户(角色:管理员、市场部、工程部、技经部、财务部、物贸部) |
| projects | 项目(含合同信息、成本控制、应收款、应付款、其他 5 类字段) |
| operation_logs | 项目修改操作日志 |
字段与产品文档、API 文档一致;数据库字段名为 snake_case,与 API 的 camelCase 由后端做映射。