# DATABASE模式启动项目简介 (会员版专属)
每个模式需要的库不一样,但表的数量个和结构基本上都是一样. 区别在于: 所有表中, COLUMN模式比其他模式的多一个tenant_code字段, 且大部分索引也要加这个字段.
# 修改配置并编译项目
1. 创建数据库
~~~
CREATE DATABASE IF NOT EXISTS `lamp_defaults` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE IF NOT EXISTS `lamp_base_0000` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE IF NOT EXISTS `lamp_extend_0000` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE IF NOT EXISTS `lamp_activiti` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
~~~
2. 导入 [lamp-cloud-plus/01-docs/sql](https://github.com/zuihou/lamp-cloud/blob/master/01-docs/sql/1.%E5%85%88%E6%89%A7%E8%A1%8C%E6%88%91%2C%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E5%BA%93.sql) 文件夹中的脚本
- 向 lamp_defaults 库导入 lamp_defaults.sql
- 向 lamp_base_0000 库导入 lamp_base_0000.sql
- 向 lamp_extend_0000 库导入 lamp_extend_0000.sql
- 向 lamp_activiti 库导入 lamp_activiti.sql // 开源版无需创建
3. 参考 [将配置文件导入Nacos](将配置文件导入Nacos.md) , 将所有配置导入 nacos 中 **lamp-cloud的命名空间**中,并在**nacos**的`配置列表`修改mysql、redis、rabbitmq等信息 (ip、端口、密码等)。
**注意: 密码是数字、含有特殊字符、没有密码的, 必须加上单引号。 ( 如: 你的密码是:00000, 必须写成:'00000', 密码没有的,必须写成:'' )**
4. 根据你使用的数据库类型,修改 nacos 中的 mysql.yml 、oracle.yml、sqlserver.yml 中的任意一个配置文件:
mysql.yml 文件配置如下,其他数据库需要重点修改 lamp.druid.* 中的信息!
~~~
lamp:
durid:
username: 'root'
password: 'root'
# 生产使用原生驱动,开发使用p6spy驱动打印日志
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/lamp\_defaults?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
database:
multiTenantType: DATASOURCE
# 需要初始化的数据库前缀
initDatabasePrefix:
- lamp_base
~~~
5. 修改 [lamp-cloud-plus/src/main/filters/config-dev.properties](https://github.com/zuihou/lamp-cloud/blob/master/src/main/filters/config-dev.properties) 文件的的配置, 将nacos 的ip 、端口、namespace、username、password 修改成自己刚创建的命名空间!!!
db.dataId 可选项: mysql.yml 、oracle.yml 、sqlserver.yml
> 强烈建议namespace跟我的保持一致,减少出错概率!!!
~~~
# ip 可以配置成自定义域名,并在hosts文件配置映射,解决切换网络时nacos不可用的bug
nacos.ip=127.0.0.1
nacos.port=8848
nacos.namespace=b16f7baf-56e7-4f4e-a26c-425ee0668016
nacos.username=nacos
nacos.password=nacos
nacos.seata.namespace=3cca7d98-3b1c-44d3-90e5-86abaaf0048a
# 程序启动时,加载的数据库配置文件 可选项: mysql.yml oracle.yml sqlserver.yml
db.dataId=mysql.yml
# seata 的 grouplist ip
seata.ip=127.0.0.1
# seata 的 grouplist 端口
seata.port=8091
# window系统,会在当前项目代码所有盘的根路路径自动创建,所以无需修改,如:d://data//projects/logs
# mac 系统和linux系统,需要手动创建 /data/projects/logs 目录,或者修改成别的已经存在且有写入权限的目录。
# mac系统创建目录并授权:
# mkdir -p /data/projects/logs/
# chown -R ${USER}:wheel /data/projects/logs
logging.file.path=/data/projects/logs
sentinel.dashboard=127.0.0.1:8088
~~~
6. 修改项目日志存放路径,位置:[lamp-cloud-plus/src/main/filters/config-dev.properties](https://github.com/zuihou/lamp-cloud/blob/master/src/main/filters/config-dev.properties) 中的 `logging.file.path`
7. 编译项目, 参考 [工程导入](工程导入md) 将 [lamp-cloud](https://github.com/zuihou/lamp-cloud) 和 [lamp-util](https://github.com/zuihou/lamp-util) 同时导入到一个IDEA工作空间, 并先install lamp-util,成功后在install lamp-cloud.
8. 编译成功后, 验证所有服务的 `lamp-cloud/lamp-*/lamp-*-server/target/classes/bootstrap.yml` 文件, `@nacos.*@` 是否成功替换为 [config-dev.properties](https://github.com/zuihou/lamp-cloud/blob/master/src/main/filters/config-dev.properties) 中的内容.
![](https://img.kancloud.cn/a5/f5/a5f59912bb8ee80e8506683b500ed2c6_1644x976.png)
# 启动项目
1. 先确保`nacos`、`MySQL`、`Redis`、 `RabbitMQ`(可选)、`Seata`(可选)等基础服务是否启动成功
2. 逐一启动 [OauthServerApplicaiton](https://github.com/zuihou/lamp-cloud/blob/master/lamp-oauth/lamp-oauth-server/src/main/java/top/tangyh/lamp/OauthServerApplication.java)、[TenantServerApplicaiton](https://github.com/zuihou/lamp-cloud/blob/master/lamp-tenant/lamp-tenant-server/src/main/java/top/tangyh/lamp/TenantServerApplication.java)、[AuthorityServerApplicaiton](https://github.com/zuihou/lamp-cloud/blob/master/lamp-authority/lamp-authority-server/src/main/java/top/tangyh/lamp/AuthorityServerApplication.java)、[MsgServerApplicaiton](https://github.com/zuihou/lamp-cloud/blob/master/lamp-msg/lamp-msg-server/src/main/java/top/tangyh/lamp/MsgServerApplication.java)、[FileServerApplicaiton](https://github.com/zuihou/lamp-cloud/blob/master/lamp-file/lamp-file-server/src/main/java/top/tangyh/lamp/FileServerApplication.java)、ActivitiServerApplication、[GatewayServerApplicaiton](https://github.com/zuihou/lamp-cloud/blob/master/lamp-gateway/lamp-gateway-server/src/main/java/top/tangyh/lamp/GatewayServerApplication.java)、[MonitorApplication](https://github.com/zuihou/lamp-cloud/blob/master/lamp-support/lamp-monitor/src/main/java/top/tangyh/lamp/MonitorServerApplication.java)
# 验证是否启动成功
1. 打开 [nacos控制台](http://localhost:8848/nacos) 若看到下图,则说明服务注册成功
![](https://img.kancloud.cn/b2/ae/b2ae03ca42ff0acb9d25fab9c9a5623d_1695x725.png)
2. 或者打开项目控制台,看到打印的如图信息说明启动成功。
![](https://img.kancloud.cn/21/d1/21d1504d5f66ba4d97c862228b98511b_1642x562.png)
3. 访问以下地址, 能看到Swagger文档
```
认证服务文档:http://127.0.0.1:8773/doc.html
工作流服务文档:http://127.0.0.1:8779/doc.html
租户服务文档:http://127.0.0.1:8771/doc.html
权限服务文档:http://127.0.0.1:8764/doc.html
文件服务文档:http://127.0.0.1:8765/doc.html
消息服务文档:http://127.0.0.1:8768/doc.html
gateway网关聚合文档:http://127.0.0.1:8760/api/doc.html
```
> 既可以直接访问每个服务的swagger文档,也能通过网关聚合所有后端服务的接口至网关文档。
# 如果看着文档还是无法启动成功, 建议看下视频
链接: https://pan.baidu.com/s/1BfhOIlCiAVFjngKzp0v-ag
提取码: 8683
- 简介
- 会员版
- 3.x和4.x的区别
- 新手必读
- 如何高效提问
- 项目地址
- 项目截图
- 架构介绍
- 开发规范
- 租户模式介绍
- lamp-web和lamp-web-plus的区别
- lamp-cloud和lamp-boot区别
- 免费视频&软件下载
- 文档反馈
- lamp-cloud
- 服务介绍
- 环境要求
- 工程导入
- nacos启动(单机版)
- nacos启动(集群版)
- 将配置文件导入Nacos
- seata启动(单机版)
- DATASOURCE模式启动(会员版)
- SCHEMA模式启动
- COLUMN模式
- NONE模式
- lamp-web启动
- lamp-web生产部署
- lamp-web-plus启动(会员版)
- lamp-web-plus生产部署
- lamp-boot
- 环境要求
- 工程导入
- DATASOURCE模式启动(会员版)
- SCHEMA模式启动
- COLUMN模式启动
- NONE模式启动
- lamp-web启动
- lamp-web生产部署
- lamp-web-plus启动(会员版)
- lamp-web-plus生产部署
- 功能介绍
- 租户设置
- 数据源配置(会员版)
- 租户管理
- 超级用户
- 工作台
- 通知公告
- 组织管理
- 机构管理
- 岗位管理
- 用户管理
- 资源中心
- 消息中心
- 短息模版
- 短信中心
- 附件管理
- 流程管理
- 流程部署
- 模型管理
- 系统设置
- 菜单管理
- 角色管理
- 字典管理
- 地区管理
- 参数管理
- 操作日志
- 登录日志
- 在线用户
- 应用管理
- 网关管理
- 限流规则
- 组织访问
- 开发者管理
- 定时任务
- 接口文档
- Nacos
- 服务监控
- 数据库监控
- 缓存监控
- zipkin监控
- SkyWalking监控
- 常用配置
- 如何保证我的代码能更新到最新代码
- 序列化和反序列化
- 修改日志级别
- 文件上传&下载&预览
- 修改租户模式
- 分页
- 导入导出
- 请求放行(忽略token&忽略URI权限&忽略租户编码)
- 异常处理
- 全局返回
- 参数校验(会员版)
- 系统日志
- 自研权限认证(URI、按钮、菜单)
- 数据权限(旧)
- 数据库配置
- Mybatis配置
- 更多数据库/数据源/Mybaits配置
- Redis(缓存)配置
- RabbitMq配置
- 灰度发布
- 上手开发
- 表结构整理
- 项目结构&依赖&调用流程介绍
- 生成一个新服务
- 生成后端代码
- 生成前端lamp-web代码
- 生成前端项目lamp-web-plus代码
- 跨域处理
- Swagger文档调试技巧
- FeignClient接口调用
- 多租户实现原理
- 分布式事务
- Zipkin配置(过时)
- SkyWalking配置
- 代码生成器和自动回显组件使用介绍
- lamp-util原理解析
- 全局注解(lamp-annotation)
- 核心包(lamp-core)
- 自动回显(lamp-echo-starter)
- 权限控制(lamp-security-starter)
- 当前登录用户信息(lamp-jwt-starter)
- 缓存(lamp-cache-starter)
- SpringBoot全局配置(lamp-boot-util)
- SpringCloud全局配置(lamp-cloud-starter)
- 数据源&持久层配置(lamp-databases)
- 对象属性复制(lamp-dozer-starter)
- 操作日志(lamp-log-starter)
- 消息队列(lamp-mq-starter)
- 在线文档(lamp-swagger2-starter)
- 前后端表单统一验证(lamp-validator-starter)
- 防止Xss攻击(lamp-xss-starter)
- 生产部署
- 部署前言
- jar部署