# 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/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](https://github.com/zuihou/lamp-cloud/blob/master/01-third-party/nacos/clientConfig/DEFAULT_GROUP/mysql.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: SCHEMA tenantDatabasePrefix: lamp_base # 网关、example、Demo 服务改值需要配置为 lamp_extend ~~~ 5. 修改 [lamp-cloud/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/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