当前位置: 首页 > ds >正文

docker-compose安装常用中间件

分为3大部分:

  1. 数据库:mysql,redis,mongodb,elasticsearch,neo4j,minio,influxdb,canal-server
  2. 应用中间件:nacos,apollo,zookeeper,kafka,rocketmq,seata
  3. 运维中间件:skywalking,sentinel,prometheus,grafana,node-exporter,alertmanager,cadvisor

 1.数据库

创建docker-database文件夹,在其下创建docker-compose.yml文件和sql文件夹

docker-compose.yml

version: '3.8'services:# MySQL 服务mysql:image: mysql:8.0.21container_name: mysqlrestart: alwaysvolumes:- ./mysql/data:/var/lib/mysql- ./mysql/log:/var/log/mysql- ./mysql/conf:/etc/mysql/conf.d- ./sql:/docker-entrypoint-initdb.dports:- "3306:3306"networks:my-network:aliases:  # 建议添加别名- mysqldeploy:resources:limits:memory: 500mprivileged: trueenvironment:- MYSQL_ROOT_PASSWORD=jy123456- TZ=Asia/Shanghai- MYSQL_DATABASE=nacos- MYSQL_USER=nacos  # 创建nacos用户,使用root需要权限- MYSQL_PASSWORD=jy123456  # nacos用户密码command: --character-set-server=utf8mb4--collation-server=utf8mb4_unicode_ci--bind-address=0.0.0.0--lower_case_table_names=1--default-authentication-plugin=mysql_native_passwordhealthcheck:test: ["CMD", "mysqladmin", "ping", "-uroot", "-pjy123456"]interval: 5stimeout: 10sretries: 10canal-server:image: canal/canal-servercontainer_name: canal-serverports:- "11111:11111"environment:- canal.instance.mysql.slaveId=1234- canal.instance.filter.regex=.*\\..*- canal.instance.mysql.username=root- canal.instance.mysql.password=jy123456- canal.instance.mysql.address=mysql:3306volumes:- ./canal/conf:/home/admin/canal-server/conf- ./canal/logs:/home/admin/canal-server/logsdepends_on:- mysqlrestart: unless-stopped# Redis 服务redis:image: redis:6.0.8container_name: redisrestart: alwaysports:- "6379:6379"network_mode: "bridge"privileged: truevolumes:- ./redis/redis.conf:/etc/redis/redis.conf- ./redis/data:/datacommand: - --cluster-enabled- no- --appendonly- yes# MongoDB 服务mongodb:image: mongocontainer_name: mongodbenvironment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: jy123456volumes:- ./mongodb/data:/data/dbports:- "27017:27017"stdin_open: truetty: truerestart: unless-stopped# Elasticsearch 服务elasticsearch:image: elasticsearch:7.13.2container_name: elasticsearchenvironment:- discovery.type=single-node- ES_JAVA_OPTS=-Xms1g -Xmx1g- ELASTIC_PASSWORD=jy123456volumes:- ./elasticsearch/data:/usr/share/elasticsearch/data- ./elasticsearch/plugins:/usr/share/elasticsearch/pluginsports:- "9200:9200"- "9300:9300"networks:- my-networkulimits:memlock:soft: -1hard: -1healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9200/_cluster/health"]interval: 30stimeout: 10sretries: 5# MinIO 服务minio:image: minio/miniocontainer_name: miniocommand: server /data --console-address ":9001"environment:MINIO_ROOT_USER: rootMINIO_ROOT_PASSWORD: jy123456restart: unless-stoppedvolumes:- ./minio/data:/dataports:- "9000:9000"  # API端口- "9001:9001"  # 控制台端口healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 10sretries: 3# InfluxDB 服务influxdb:image: influxdb:latestcontainer_name: influxdbenvironment:DOCKER_INFLUXDB_INIT_MODE: setupDOCKER_INFLUXDB_INIT_USERNAME: rootDOCKER_INFLUXDB_INIT_PASSWORD: jy123456DOCKER_INFLUXDB_INIT_ORG: jiangyongDOCKER_INFLUXDB_INIT_BUCKET: mybucketDOCKER_INFLUXDB_INIT_ADMIN_TOKEN: myadmintokenvolumes:- ./influxdb/data:/var/lib/influxdb2ports:- "8086:8086"restart: unless-stopped# Neo4j 服务neo4j:image: neo4j:5.13-communitycontainer_name: neo4jenvironment:NEO4J_AUTH: neo4j/jy123456  # 用户名必须是neo4jNEO4J_apoc_export_file_enabled: trueNEO4J_apoc_import_file_enabled: trueNEO4J_apoc_import_file_use__neo4j__config: trueNEO4J_PLUGINS: '["apoc"]'volumes:- ./neo4j/data:/data- ./neo4j/logs:/logs- ./neo4j/import:/var/lib/neo4j/importports:- "7474:7474"  # 浏览器访问- "7687:7687"  # Bolt协议healthcheck:test: ["CMD", "cypher-shell", "-u", "neo4j", "-p", "neopassword", "RETURN 1"]interval: 10stimeout: 5sretries: 5networks:my-network:external: truename: global-network  

sql文件夹创建mysql初始化文件,如nacos,seata,apollo组件的初始化脚本

nacos.sql

-- 删除旧用户
DROP USER IF EXISTS 'nacos'@'%';
DROP USER IF EXISTS 'nacos'@'nacos.global-network';-- 创建/更新用户权限
CREATE USER IF NOT EXISTS 'nacos'@'nacos.global-network' IDENTIFIED BY 'jy123456';
GRANT ALL PRIVILEGES ON nacos.* TO 'nacos'@'nacos.global-network';-- 或者,允许从任何主机连接(更简单)
CREATE USER IF NOT EXISTS 'nacos'@'%' IDENTIFIED BY 'jy123456';
GRANT ALL PRIVILEGES ON nacos.* TO 'nacos'@'%';
FLUSH PRIVILEGES;-- 验证权限
SHOW GRANTS FOR 'nacos'@'nacos.global-network';
-- 或
SHOW GRANTS FOR 'nacos'@'%';-- 创建数据库
CREATE DATABASE IF NOT EXISTS nacos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 使用数据库
USE nacos;/*Navicat Premium Data TransferSource Server         : win_docker_mysqlSource Server Type    : MySQLSource Server Version : 80021Source Host           : localhost:3306Source Schema         : nacosTarget Server Type    : MySQLTarget Server Version : 80021File Encoding         : 65001Date: 10/07/2025 08:40:15
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for config_info
-- ----------------------------
DROP TABLE IF EXISTS `config_info`;
CREATE TABLE `config_info`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'group_id',`content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',`md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',`src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',`app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',`c_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'configuration description',`c_use` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'configuration usage',`effect` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '配置生效的描述',`type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '配置的类型',`c_schema` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT '配置的模式',`encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '密钥',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of config_info
-- ------------------------------ ----------------------------
-- Table structure for config_info_aggr
-- ----------------------------
DROP TABLE IF EXISTS `config_info_aggr`;
CREATE TABLE `config_info_aggr`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',`datum_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'datum_id',`content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '内容',`gmt_modified` datetime NOT NULL COMMENT '修改时间',`app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC, `datum_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '增加租户字段' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of config_info_aggr
-- ------------------------------ ----------------------------
-- Table structure for config_info_beta
-- ----------------------------
DROP TABLE IF EXISTS `config_info_beta`;
CREATE TABLE `config_info_beta`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',`app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',`content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',`beta_ips` varchar(1024) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'betaIps',`md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',`src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',`encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '密钥',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_beta' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of config_info_beta
-- ------------------------------ ----------------------------
-- Table structure for config_info_tag
-- ----------------------------
DROP TABLE IF EXISTS `config_info_tag`;
CREATE TABLE `config_info_tag`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_id',`app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',`content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',`md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',`src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC, `tag_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_tag' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of config_info_tag
-- ------------------------------ ----------------------------
-- Table structure for config_tags_relation
-- ----------------------------
DROP TABLE IF EXISTS `config_tags_relation`;
CREATE TABLE `config_tags_relation`  (`id` bigint NOT NULL COMMENT 'id',`tag_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id',`nid` bigint NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',PRIMARY KEY (`nid`) USING BTREE,UNIQUE INDEX `uk_configtagrelation_configidtag`(`id` ASC, `tag_name` ASC, `tag_type` ASC) USING BTREE,INDEX `idx_tenant_id`(`tenant_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_tag_relation' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of config_tags_relation
-- ------------------------------ ----------------------------
-- Table structure for group_capacity
-- ----------------------------
DROP TABLE IF EXISTS `group_capacity`;
CREATE TABLE `group_capacity`  (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',`quota` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值',`usage` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量',`max_size` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数,,0表示使用默认值',`max_aggr_size` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_group_id`(`group_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of group_capacity
-- ------------------------------ ----------------------------
-- Table structure for his_config_info
-- ----------------------------
DROP TABLE IF EXISTS `his_config_info`;
CREATE TABLE `his_config_info`  (`id` bigint UNSIGNED NOT NULL COMMENT 'id',`nid` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',`data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',`group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',`app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',`content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',`md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',`src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',`src_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',`op_type` char(10) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'operation type',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',`encrypted_data_key` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '密钥',PRIMARY KEY (`nid`) USING BTREE,INDEX `idx_gmt_create`(`gmt_create` ASC) USING BTREE,INDEX `idx_gmt_modified`(`gmt_modified` ASC) USING BTREE,INDEX `idx_did`(`data_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '多租户改造' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of his_config_info
-- ------------------------------ ----------------------------
-- Table structure for permissions
-- ----------------------------
DROP TABLE IF EXISTS `permissions`;
CREATE TABLE `permissions`  (`role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'role',`resource` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'resource',`action` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'action',UNIQUE INDEX `uk_role_permission`(`role` ASC, `resource` ASC, `action` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of permissions
-- ------------------------------ ----------------------------
-- Table structure for roles
-- ----------------------------
DROP TABLE IF EXISTS `roles`;
CREATE TABLE `roles`  (`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'username',`role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'role',UNIQUE INDEX `idx_user_role`(`username` ASC, `role` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of roles
-- ----------------------------
INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN');-- ----------------------------
-- Table structure for tenant_capacity
-- ----------------------------
DROP TABLE IF EXISTS `tenant_capacity`;
CREATE TABLE `tenant_capacity`  (`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值',`usage` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量',`max_size` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数',`max_aggr_size` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_tenant_id`(`tenant_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '租户容量信息表' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of tenant_capacity
-- ------------------------------ ----------------------------
-- Table structure for tenant_info
-- ----------------------------
DROP TABLE IF EXISTS `tenant_info`;
CREATE TABLE `tenant_info`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'kp',`tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id',`tenant_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_name',`tenant_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint NOT NULL COMMENT '创建时间',`gmt_modified` bigint NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp` ASC, `tenant_id` ASC) USING BTREE,INDEX `idx_tenant_id`(`tenant_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'tenant_info' ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of tenant_info
-- ------------------------------ ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users`  (`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'username',`password` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'password',`enabled` tinyint(1) NOT NULL COMMENT 'enabled',PRIMARY KEY (`username`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);SET FOREIGN_KEY_CHECKS = 1;

apolloconfigdb.sql

--
-- Copyright 2024 Apollo Authors
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;-- ${gists.autoGeneratedDeclaration}
-- ${gists.h2Function}
-- ${gists.setupDatabase}CREATE DATABASE IF NOT EXISTS apolloconfigdb CHARACTER SET utf8mb4  COLLATE utf8mb4_unicode_ci;SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- Dump of table app
-- ------------------------------------------------------------DROP TABLE IF EXISTS `App`;CREATE TABLE `App` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',`OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',`OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_Name` (`Name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用表';-- Dump of table appnamespace
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AppNamespace`;CREATE TABLE `AppNamespace` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace名字,注意,需要全局唯一',`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',`Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'namespace的format类型',`IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'namespace是否为公共',`Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '注释',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),KEY `Name_AppId` (`Name`,`AppId`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用namespace定义';-- Dump of table audit
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Audit`;CREATE TABLE `Audit` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`EntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',`EntityId` int(10) unsigned DEFAULT NULL COMMENT '记录ID',`OpName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',`Comment` varchar(500) DEFAULT NULL COMMENT '备注',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='日志审计表';-- Dump of table cluster
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Cluster`;CREATE TABLE `Cluster` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`Name` varchar(32) NOT NULL DEFAULT '' COMMENT '集群名字',`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'App id',`ParentClusterId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '父cluster',`Comment` varchar(64) DEFAULT NULL COMMENT '备注',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),KEY `IX_ParentClusterId` (`ParentClusterId`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='集群';-- Dump of table commit
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Commit`;CREATE TABLE `Commit` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`ChangeSets` longtext NOT NULL COMMENT '修改变更集',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',`Comment` varchar(500) DEFAULT NULL COMMENT '备注',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `DataChange_LastTime` (`DataChange_LastTime`),KEY `AppId` (`AppId`),KEY `ClusterName` (`ClusterName`),KEY `NamespaceName` (`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='commit 历史表';-- Dump of table grayreleaserule
-- ------------------------------------------------------------DROP TABLE IF EXISTS `GrayReleaseRule`;CREATE TABLE `GrayReleaseRule` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',`BranchName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'branch name',`Rules` varchar(16000) DEFAULT '[]' COMMENT '灰度规则',`ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '灰度对应的release',`BranchStatus` tinyint(2) DEFAULT '1' COMMENT '灰度分支状态: 0:删除分支,1:正在使用的规则 2:全量发布',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='灰度规则表';-- Dump of table instance
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Instance`;CREATE TABLE `Instance` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',`DataCenter` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Data Center Name',`Ip` varchar(32) NOT NULL DEFAULT '' COMMENT 'instance ip',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `IX_UNIQUE_KEY` (`AppId`,`ClusterName`,`Ip`,`DataCenter`),KEY `IX_IP` (`Ip`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='使用配置的应用实例';-- Dump of table instanceconfig
-- ------------------------------------------------------------DROP TABLE IF EXISTS `InstanceConfig`;CREATE TABLE `InstanceConfig` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`InstanceId` int(11) unsigned DEFAULT NULL COMMENT 'Instance Id',`ConfigAppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'Config App Id',`ConfigClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Config Cluster Name',`ConfigNamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Config Namespace Name',`ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT '发布的Key',`ReleaseDeliveryTime` timestamp NULL DEFAULT NULL COMMENT '配置获取时间',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `IX_UNIQUE_KEY` (`InstanceId`,`ConfigAppId`,`ConfigNamespaceName`),KEY `IX_ReleaseKey` (`ReleaseKey`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_Valid_Namespace` (`ConfigAppId`,`ConfigClusterName`,`ConfigNamespaceName`,`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用实例的配置信息';-- Dump of table item
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Item`;CREATE TABLE `Item` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '集群NamespaceId',`Key` varchar(128) NOT NULL DEFAULT 'default' COMMENT '配置项Key',`Type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '配置项类型,0: String,1: Number,2: Boolean,3: JSON',`Value` longtext NOT NULL COMMENT '配置项值',`Comment` varchar(1024) DEFAULT '' COMMENT '注释',`LineNum` int(10) unsigned DEFAULT '0' COMMENT '行号',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_GroupId` (`NamespaceId`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置项目';-- Dump of table namespace
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Namespace`;CREATE TABLE `Namespace` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_ClusterName_NamespaceName_DeletedAt` (`AppId`,`ClusterName`,`NamespaceName`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_NamespaceName` (`NamespaceName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='命名空间';-- Dump of table namespacelock
-- ------------------------------------------------------------DROP TABLE IF EXISTS `NamespaceLock`;CREATE TABLE `NamespaceLock` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',`NamespaceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '集群NamespaceId',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',`IsDeleted` bit(1) DEFAULT b'0' COMMENT '软删除',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',PRIMARY KEY (`Id`),UNIQUE KEY `UK_NamespaceId_DeletedAt` (`NamespaceId`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='namespace的编辑锁';-- Dump of table release
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Release`;CREATE TABLE `Release` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`ReleaseKey` varchar(64) NOT NULL DEFAULT '' COMMENT '发布的Key',`Name` varchar(64) NOT NULL DEFAULT 'default' COMMENT '发布名字',`Comment` varchar(256) DEFAULT NULL COMMENT '发布说明',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',`Configurations` longtext NOT NULL COMMENT '发布配置',`IsAbandoned` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否废弃',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_ReleaseKey_DeletedAt` (`ReleaseKey`,`DeletedAt`),KEY `AppId_ClusterName_GroupName` (`AppId`,`ClusterName`,`NamespaceName`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发布';-- Dump of table releasehistory
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ReleaseHistory`;CREATE TABLE `ReleaseHistory` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`ClusterName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',`NamespaceName` varchar(32) NOT NULL DEFAULT 'default' COMMENT 'namespaceName',`BranchName` varchar(32) NOT NULL DEFAULT 'default' COMMENT '发布分支名',`ReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '关联的Release Id',`PreviousReleaseId` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '前一次发布的ReleaseId',`Operation` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '发布类型,0: 普通发布,1: 回滚,2: 灰度发布,3: 灰度规则更新,4: 灰度合并回主分支发布,5: 主分支发布灰度自动发布,6: 主分支回滚灰度自动发布,7: 放弃灰度',`OperationContext` longtext NOT NULL COMMENT '发布上下文信息',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_Namespace` (`AppId`,`ClusterName`,`NamespaceName`,`BranchName`),KEY `IX_ReleaseId` (`ReleaseId`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_PreviousReleaseId` (`PreviousReleaseId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发布历史';-- Dump of table releasemessage
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ReleaseMessage`;CREATE TABLE `ReleaseMessage` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`Message` varchar(1024) NOT NULL DEFAULT '' COMMENT '发布的消息内容',`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_Message` (`Message`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发布消息';-- Dump of table serverconfig
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ServerConfig`;CREATE TABLE `ServerConfig` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT '配置项Key',`Cluster` varchar(32) NOT NULL DEFAULT 'default' COMMENT '配置对应的集群,default为不针对特定的集群',`Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT '配置项值',`Comment` varchar(1024) DEFAULT '' COMMENT '注释',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_Key_Cluster_DeletedAt` (`Key`,`Cluster`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置服务自身配置';-- Dump of table accesskey
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AccessKey`;CREATE TABLE `AccessKey` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`Secret` varchar(128) NOT NULL DEFAULT '' COMMENT 'Secret',`Mode` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '密钥模式,0: filter,1: observer',`IsEnabled` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: enabled, 0: disabled',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_Secret_DeletedAt` (`AppId`,`Secret`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访问密钥';-- Dump of table serviceregistry
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ServiceRegistry`;CREATE TABLE `ServiceRegistry` (`Id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增Id',`ServiceName` VARCHAR(64) NOT NULL COMMENT '服务名',`Uri` VARCHAR(64) NOT NULL COMMENT '服务地址',`Cluster` VARCHAR(64) NOT NULL COMMENT '集群,可以用来标识apollo.cluster或者网络分区',`Metadata` VARCHAR(1024) NOT NULL DEFAULT '{}' COMMENT '元数据,key value结构的json object,为了方面后面扩展功能而不需要修改表结构',`DataChange_CreatedTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE INDEX `IX_UNIQUE_KEY` (`ServiceName`, `Uri`),INDEX `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='注册中心';-- Dump of table AuditLog
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AuditLog`;CREATE TABLE `AuditLog` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`TraceId` varchar(32) NOT NULL DEFAULT '' COMMENT '链路全局唯一ID',`SpanId` varchar(32) NOT NULL DEFAULT '' COMMENT '跨度ID',`ParentSpanId` varchar(32) DEFAULT NULL COMMENT '父跨度ID',`FollowsFromSpanId` varchar(32) DEFAULT NULL COMMENT '上一个兄弟跨度ID',`Operator` varchar(64) NOT NULL DEFAULT 'anonymous' COMMENT '操作人',`OpType` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',`OpName` varchar(150) NOT NULL DEFAULT 'default' COMMENT '操作名称',`Description` varchar(200) DEFAULT NULL COMMENT '备注',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_TraceId` (`TraceId`),KEY `IX_OpName` (`OpName`),KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),KEY `IX_Operator` (`Operator`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计日志表';-- Dump of table AuditLogDataInfluence
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AuditLogDataInfluence`;CREATE TABLE `AuditLogDataInfluence` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`SpanId` char(32) NOT NULL DEFAULT '' COMMENT '跨度ID',`InfluenceEntityId` varchar(50) NOT NULL DEFAULT '0' COMMENT '记录ID',`InfluenceEntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',`FieldName` varchar(50) DEFAULT NULL COMMENT '字段名称',`FieldOldValue` varchar(500) DEFAULT NULL COMMENT '字段旧值',`FieldNewValue` varchar(500) DEFAULT NULL COMMENT '字段新值',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_SpanId` (`SpanId`),KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),KEY `IX_EntityId` (`InfluenceEntityId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计日志数据变动表';-- Config
-- ------------------------------------------------------------
INSERT INTO `ServerConfig` (`Key`, `Cluster`, `Value`, `Comment`)
VALUES('eureka.service.url', 'default', 'http://localhost:8080/eureka/', 'Eureka服务Url,多个service以英文逗号分隔'),('namespace.lock.switch', 'default', 'false', '一次发布只能有一个人修改开关'),('item.key.length.limit', 'default', '128', 'item key 最大长度限制'),('item.value.length.limit', 'default', '20000', 'item value最大长度限制'),('config-service.cache.enabled', 'default', 'false', 'ConfigService是否开启缓存,开启后能提高性能,但是会增大内存消耗!');-- ${gists.autoGeneratedDeclaration}/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

apolloportaldb.sql

--
-- Copyright 2024 Apollo Authors
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;-- ${gists.autoGeneratedDeclaration}
-- ${gists.h2Function}
-- ${gists.setupDatabase}CREATE DATABASE IF NOT EXISTS apolloportaldb CHARACTER SET utf8mb4  COLLATE utf8mb4_unicode_ci;SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- Dump of table app
-- ------------------------------------------------------------DROP TABLE IF EXISTS `App`;CREATE TABLE `App` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',`OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',`OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_Name` (`Name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用表';-- Dump of table appnamespace
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AppNamespace`;CREATE TABLE `AppNamespace` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',`Name` varchar(32) NOT NULL DEFAULT '' COMMENT 'namespace名字,注意,需要全局唯一',`AppId` varchar(64) NOT NULL DEFAULT '' COMMENT 'app id',`Format` varchar(32) NOT NULL DEFAULT 'properties' COMMENT 'namespace的format类型',`IsPublic` bit(1) NOT NULL DEFAULT b'0' COMMENT 'namespace是否为公共',`Comment` varchar(64) NOT NULL DEFAULT '' COMMENT '注释',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_Name_DeletedAt` (`AppId`,`Name`,`DeletedAt`),KEY `Name_AppId` (`Name`,`AppId`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用namespace定义';-- Dump of table consumer
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Consumer`;CREATE TABLE `Consumer` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`Name` varchar(500) NOT NULL DEFAULT 'default' COMMENT '应用名',`OrgId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '部门Id',`OrgName` varchar(64) NOT NULL DEFAULT 'default' COMMENT '部门名字',`OwnerName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerName',`OwnerEmail` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ownerEmail',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_AppId_DeletedAt` (`AppId`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='开放API消费者';-- Dump of table consumeraudit
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ConsumerAudit`;CREATE TABLE `ConsumerAudit` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',`Uri` varchar(1024) NOT NULL DEFAULT '' COMMENT '访问的Uri',`Method` varchar(16) NOT NULL DEFAULT '' COMMENT '访问的Method',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_ConsumerId` (`ConsumerId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer审计表';-- Dump of table consumerrole
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ConsumerRole`;CREATE TABLE `ConsumerRole` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'Consumer Id',`RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_ConsumerId_RoleId_DeletedAt` (`ConsumerId`,`RoleId`,`DeletedAt`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_RoleId` (`RoleId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer和role的绑定表';-- Dump of table consumertoken
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ConsumerToken`;CREATE TABLE `ConsumerToken` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`ConsumerId` int(11) unsigned DEFAULT NULL COMMENT 'ConsumerId',`Token` varchar(128) NOT NULL DEFAULT '' COMMENT 'token',`RateLimit` int NOT NULL DEFAULT '0' COMMENT '限流值',`Expires` datetime NOT NULL DEFAULT '2099-01-01 00:00:00' COMMENT 'token失效时间',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_Token_DeletedAt` (`Token`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='consumer token表';-- Dump of table favorite
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Favorite`;CREATE TABLE `Favorite` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`UserId` varchar(32) NOT NULL DEFAULT 'default' COMMENT '收藏的用户',`AppId` varchar(64) NOT NULL DEFAULT 'default' COMMENT 'AppID',`Position` int(32) NOT NULL DEFAULT '10000' COMMENT '收藏顺序',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_UserId_AppId_DeletedAt` (`UserId`,`AppId`,`DeletedAt`),KEY `AppId` (`AppId`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4 COMMENT='应用收藏表';-- Dump of table permission
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Permission`;CREATE TABLE `Permission` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`PermissionType` varchar(32) NOT NULL DEFAULT '' COMMENT '权限类型',`TargetId` varchar(256) NOT NULL DEFAULT '' COMMENT '权限对象类型',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_TargetId_PermissionType_DeletedAt` (`TargetId`,`PermissionType`,`DeletedAt`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='permission表';-- Dump of table role
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Role`;CREATE TABLE `Role` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`RoleName` varchar(256) NOT NULL DEFAULT '' COMMENT 'Role name',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_RoleName_DeletedAt` (`RoleName`,`DeletedAt`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';-- Dump of table rolepermission
-- ------------------------------------------------------------DROP TABLE IF EXISTS `RolePermission`;CREATE TABLE `RolePermission` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',`PermissionId` int(10) unsigned DEFAULT NULL COMMENT 'Permission Id',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_RoleId_PermissionId_DeletedAt` (`RoleId`,`PermissionId`,`DeletedAt`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_PermissionId` (`PermissionId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和权限的绑定表';-- Dump of table serverconfig
-- ------------------------------------------------------------DROP TABLE IF EXISTS `ServerConfig`;CREATE TABLE `ServerConfig` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`Key` varchar(64) NOT NULL DEFAULT 'default' COMMENT '配置项Key',`Value` varchar(2048) NOT NULL DEFAULT 'default' COMMENT '配置项值',`Comment` varchar(1024) DEFAULT '' COMMENT '注释',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_Key_DeletedAt` (`Key`,`DeletedAt`),KEY `DataChange_LastTime` (`DataChange_LastTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置服务自身配置';-- Dump of table userrole
-- ------------------------------------------------------------DROP TABLE IF EXISTS `UserRole`;CREATE TABLE `UserRole` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`UserId` varchar(128) DEFAULT '' COMMENT '用户身份标识',`RoleId` int(10) unsigned DEFAULT NULL COMMENT 'Role Id',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) NOT NULL DEFAULT 'default' COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `UK_UserId_RoleId_DeletedAt` (`UserId`,`RoleId`,`DeletedAt`),KEY `IX_DataChange_LastTime` (`DataChange_LastTime`),KEY `IX_RoleId` (`RoleId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户和role的绑定表';-- Dump of table Users
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Users`;CREATE TABLE `Users` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`Username` varchar(64) NOT NULL DEFAULT 'default' COMMENT '用户登录账户',`Password` varchar(512) NOT NULL DEFAULT 'default' COMMENT '密码',`UserDisplayName` varchar(512) NOT NULL DEFAULT 'default' COMMENT '用户名称',`Email` varchar(64) NOT NULL DEFAULT 'default' COMMENT '邮箱地址',`Enabled` tinyint(4) DEFAULT NULL COMMENT '是否有效',PRIMARY KEY (`Id`),UNIQUE KEY `UK_Username` (`Username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';-- Dump of table Authorities
-- ------------------------------------------------------------DROP TABLE IF EXISTS `Authorities`;CREATE TABLE `Authorities` (`Id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增Id',`Username` varchar(64) NOT NULL,`Authority` varchar(50) NOT NULL,PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- spring session (https://github.com/spring-projects/spring-session/blob/faee8f1bdb8822a5653a81eba838dddf224d92d6/spring-session-jdbc/src/main/resources/org/springframework/session/jdbc/schema-mysql.sql)
-- Dump of table SPRING_SESSION
-- ------------------------------------------------------------DROP TABLE IF EXISTS `SPRING_SESSION`;CREATE TABLE `SPRING_SESSION` (`PRIMARY_ID` char(36) NOT NULL,`SESSION_ID` char(36) NOT NULL,`CREATION_TIME` bigint NOT NULL,`LAST_ACCESS_TIME` bigint NOT NULL,`MAX_INACTIVE_INTERVAL` int NOT NULL,`EXPIRY_TIME` bigint NOT NULL,`PRINCIPAL_NAME` varchar(100) DEFAULT NULL,PRIMARY KEY (`PRIMARY_ID`),UNIQUE KEY `SPRING_SESSION_IX1` (`SESSION_ID`),KEY `SPRING_SESSION_IX2` (`EXPIRY_TIME`),KEY `SPRING_SESSION_IX3` (`PRINCIPAL_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;-- Dump of table SPRING_SESSION_ATTRIBUTES
-- ------------------------------------------------------------DROP TABLE IF EXISTS `SPRING_SESSION_ATTRIBUTES`;CREATE TABLE `SPRING_SESSION_ATTRIBUTES` (`SESSION_PRIMARY_ID` char(36) NOT NULL,`ATTRIBUTE_NAME` varchar(200) NOT NULL,`ATTRIBUTE_BYTES` blob NOT NULL,PRIMARY KEY (`SESSION_PRIMARY_ID`,`ATTRIBUTE_NAME`),CONSTRAINT `SPRING_SESSION_ATTRIBUTES_FK` FOREIGN KEY (`SESSION_PRIMARY_ID`) REFERENCES `SPRING_SESSION` (`PRIMARY_ID`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;-- Dump of table AuditLog
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AuditLog`;CREATE TABLE `AuditLog` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`TraceId` varchar(32) NOT NULL DEFAULT '' COMMENT '链路全局唯一ID',`SpanId` varchar(32) NOT NULL DEFAULT '' COMMENT '跨度ID',`ParentSpanId` varchar(32) DEFAULT NULL COMMENT '父跨度ID',`FollowsFromSpanId` varchar(32) DEFAULT NULL COMMENT '上一个兄弟跨度ID',`Operator` varchar(64) NOT NULL DEFAULT 'anonymous' COMMENT '操作人',`OpType` varchar(50) NOT NULL DEFAULT 'default' COMMENT '操作类型',`OpName` varchar(150) NOT NULL DEFAULT 'default' COMMENT '操作名称',`Description` varchar(200) DEFAULT NULL COMMENT '备注',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_TraceId` (`TraceId`),KEY `IX_OpName` (`OpName`),KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),KEY `IX_Operator` (`Operator`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计日志表';-- Dump of table AuditLogDataInfluence
-- ------------------------------------------------------------DROP TABLE IF EXISTS `AuditLogDataInfluence`;CREATE TABLE `AuditLogDataInfluence` (`Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`SpanId` char(32) NOT NULL DEFAULT '' COMMENT '跨度ID',`InfluenceEntityId` varchar(50) NOT NULL DEFAULT '0' COMMENT '记录ID',`InfluenceEntityName` varchar(50) NOT NULL DEFAULT 'default' COMMENT '表名',`FieldName` varchar(50) DEFAULT NULL COMMENT '字段名称',`FieldOldValue` varchar(500) DEFAULT NULL COMMENT '字段旧值',`FieldNewValue` varchar(500) DEFAULT NULL COMMENT '字段新值',`IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',`DeletedAt` BIGINT(20) NOT NULL DEFAULT '0' COMMENT 'Delete timestamp based on milliseconds',`DataChange_CreatedBy` varchar(64) DEFAULT NULL COMMENT '创建人邮箱前缀',`DataChange_CreatedTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`DataChange_LastModifiedBy` varchar(64) DEFAULT '' COMMENT '最后修改人邮箱前缀',`DataChange_LastTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',PRIMARY KEY (`Id`),KEY `IX_SpanId` (`SpanId`),KEY `IX_DataChange_CreatedTime` (`DataChange_CreatedTime`),KEY `IX_EntityId` (`InfluenceEntityId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计日志数据变动表';-- Config
-- ------------------------------------------------------------
INSERT INTO `ServerConfig` (`Key`, `Value`, `Comment`)
VALUES('apollo.portal.envs', 'dev', '可支持的环境列表'),('organizations', '[{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"TEST2","orgName":"样例部门2"}]', '部门列表'),('superAdmin', 'apollo', 'Portal超级管理员'),('api.readTimeout', '10000', 'http接口read timeout'),('consumer.token.salt', 'someSalt', 'consumer token salt'),('admin.createPrivateNamespace.switch', 'true', '是否允许项目管理员创建私有namespace'),('configView.memberOnly.envs', 'pro', '只对项目成员显示配置信息的环境列表,多个env以英文逗号分隔'),('apollo.portal.meta.servers', '{}', '各环境Meta Service列表');INSERT INTO `Users` (`Username`, `Password`, `UserDisplayName`, `Email`, `Enabled`)
VALUES('apollo', '$2a$10$7r20uS.BQ9uBpf3Baj3uQOZvMVvB1RN3PYoKE94gtz2.WAOuiiwXS', 'apollo', 'apollo@acme.com', 1);INSERT INTO `Authorities` (`Username`, `Authority`) VALUES ('apollo', 'ROLE_user');-- ${gists.autoGeneratedDeclaration}/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

seata.sql

/*Navicat Premium Data TransferSource Server         : win_docker_mysqlSource Server Type    : MySQLSource Server Version : 80021Source Host           : localhost:3306Source Schema         : seataTarget Server Type    : MySQLTarget Server Version : 80021File Encoding         : 65001Date: 11/07/2025 09:41:34
*/CREATE DATABASE IF NOT EXISTS seata CHARACTER SET utf8mb4  COLLATE utf8mb4_unicode_ci;SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- the table to store GlobalSession data
CREATE TABLE IF NOT EXISTS `global_table`
(`xid`                       VARCHAR(128) NOT NULL,`transaction_id`            BIGINT,`status`                    TINYINT      NOT NULL,`application_id`            VARCHAR(32),`transaction_service_group` VARCHAR(32),`transaction_name`          VARCHAR(128),`timeout`                   INT,`begin_time`                BIGINT,`application_data`          VARCHAR(2000),`gmt_create`                DATETIME,`gmt_modified`              DATETIME,PRIMARY KEY (`xid`),KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(`branch_id`         BIGINT       NOT NULL,`xid`               VARCHAR(128) NOT NULL,`transaction_id`    BIGINT,`resource_group_id` VARCHAR(32),`resource_id`       VARCHAR(256),`branch_type`       VARCHAR(8),`status`            TINYINT,`client_id`         VARCHAR(64),`application_data`  VARCHAR(2000),`gmt_create`        DATETIME(6),`gmt_modified`      DATETIME(6),PRIMARY KEY (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(`row_key`        VARCHAR(128) NOT NULL,`xid`            VARCHAR(128),`transaction_id` BIGINT,`branch_id`      BIGINT       NOT NULL,`resource_id`    VARCHAR(256),`table_name`     VARCHAR(32),`pk`             VARCHAR(36),`status`         TINYINT      NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',`gmt_create`     DATETIME,`gmt_modified`   DATETIME,PRIMARY KEY (`row_key`),KEY `idx_status` (`status`),KEY `idx_branch_id` (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;CREATE TABLE IF NOT EXISTS `distributed_lock`
(`lock_key`       CHAR(20) NOT NULL,`lock_value`     VARCHAR(20) NOT NULL,`expire`         BIGINT,primary key (`lock_key`)
) ENGINE = InnoDBDEFAULT CHARSET = utf8mb4;INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);SET FOREIGN_KEY_CHECKS = 1;

2.应用中间件

创建docker-middleware文件夹

docker-compose.yml

version: '3.8'services:############################################# 配置中心 & 服务发现############################################# Nacosnacos:image: nacos/nacos-server:v2.3.0container_name: nacoshealthcheck:  # 添加健康检查test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/"]interval: 5stimeout: 5sretries: 20start_period: 30senvironment:- PREFER_HOST_MODE=hostname- MODE=standalone- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=mysql- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=nacos- MYSQL_SERVICE_PASSWORD=jy123456  - MYSQL_SERVICE_DB_NAME=nacos- MYSQL_SERVICE_DB_PARAM=allowPublicKeyRetrieval=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&useSSL=falseports:- "8848:8848"- "9848:9848"- "9849:9849"networks:- my-networkrestart: unless-stoppedvolumes:- ./nacos/logs:/home/nacos/logs - ./custom.properties:/home/nacos/init.d/custom.properties # Apollo ConfigServiceapollo-configservice:image: apolloconfig/apollo-configservice:2.1.0container_name: apollo-configserviceprivileged: trueenvironment:SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/apolloconfigdb?useSSL=falseSPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: jy123456volumes:- ./apollo/config/logs:/opt/logs ports:- "8080:8080"networks:- my-network# Apollo AdminServiceapollo-adminservice:image: apolloconfig/apollo-adminservice:2.1.0container_name: apollo-adminserviceprivileged: trueenvironment:SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/apolloconfigdb?useSSL=falseSPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: jy123456volumes:- ./apollo/admin/logs:/opt/logs ports:- "8090:8090"networks:- my-network# Apollo Portalapollo-portal:image: apolloconfig/apollo-portal:2.1.0container_name: apollo-portalprivileged: truedepends_on:apollo-configservice:condition: service_startedapollo-adminservice:condition: service_startedenvironment:SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/apolloportaldb?useSSL=falseSPRING_DATASOURCE_USERNAME: rootSPRING_DATASOURCE_PASSWORD: jy123456volumes:- ./apollo/portal/logs:/opt/logs ports:- "8070:8070"networks:- my-network############################################# 消息队列############################################# ZooKeeper (Kafka 依赖)zookeeper:image: zookeeper:3.8container_name: zookeeperrestart: alwaysports:- "2181:2181"networks:- my-network# Kafkakafka:image: confluentinc/cp-kafka:7.3.0container_name: kafkadepends_on:zookeeper:condition: service_startedenvironment:KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXTKAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1ports:- "9092:9092"networks:- my-network# RocketMQ NameServer服务namesrv:image: apache/rocketmq:4.9.4container_name: rmqnamesrvports:- "9876:9876"volumes:- ./rocketMQ/namesrv/logs:/home/rocketmq/logs- ./rocketMQ/namesrv/store:/home/rocketmq/storecommand: sh mqnamesrvrestart: alwaysnetworks:- my-network# RocketMQ Broker服务broker:image: apache/rocketmq:4.9.4container_name: rmqbrokerports:- "10909:10909"- "10911:10911"- "10912:10912"volumes:- ./rocketMQ/broker/logs:/home/rocketmq/logs- ./rocketMQ/broker/store:/home/rocketmq/store- ./broker.conf:/opt/rocketmq-4.9.4/conf/broker.confcommand: sh mqbroker -c /opt/rocketmq-4.9.4/conf/broker.conf -n namesrv:9876depends_on:- namesrvrestart: alwaysnetworks:- my-network############################################# 分布式事务############################################# Seata Serverseata:image: seataio/seata-server:1.8.0container_name: seata-serverdepends_on:nacos:condition: service_healthyenvironment:SEATA_IP: seata-serverSTORE_MODE: dbDB_TYPE: mysqlREGISTRY_TYPE: nacosCONFIG_TYPE: nacosNACOS_SERVER_ADDR: nacos:8848NACOS_NAMESPACE: publicNACOS_GROUP: SEATA_GROUPNACOS_USERNAME: "nacos"NACOS_PASSWORD: "nacos"DB_HOST: mysqlDB_PORT: 3306DB_USER: rootDB_PASSWORD: jy123456volumes:- ./registry.conf:/seata-server/resources/registry.conf- ./seata-server/logs:/root/logs/seataports:- "8091:8091"networks:- my-networknetworks:my-network:external: truename: global-network  

broker.conf

# Broker配置
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH# 绑定Broker IP地址
brokerIP1 = broker# 存储路径配置
storePathRootDir = /home/rocketmq/store
storePathCommitLog = /home/rocketmq/store/commitlog
storePathConsumeQueue = /home/rocketmq/store/consumequeue
storePathIndex = /home/rocketmq/store/index
storeCheckpoint = /home/rocketmq/store/checkpoint
abortFile = /home/rocketmq/store/abort# 日志配置
traceTopicEnable = true    

custom.properties

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://mysql:3306/nacos?allowPublicKeyRetrieval=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000
db.user=root
db.password=jy@123456nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

registry.conf

registry {type = "nacos"nacos {application = "seata-server"serverAddr = "nacos:8848"group = "SEATA_GROUP"namespace = "public"cluster = "default"username = ""password = ""}
}config {type = "nacos"nacos {serverAddr = "nacos:8848"namespace = "public"group = "SEATA_GROUP"username = ""password = ""dataId = "seataServer.properties"}
}

 seataServer.properties(配置在nacos)

group=SEATA_GROUP

namespace = public

service.vgroup_mapping.my_test_tx_group=default
service.default.grouplist=seata-server:8091
service.enableDegrade=false
service.disableGlobalTransaction=falsestore.mode=db
#-----db-----
store.db.datasource=druid
store.db.dbType=mysql
# 需要根据mysql的版本调整driverClassName
# mysql8及以上版本对应的driver:com.mysql.cj.jdbc.Driver
# mysql8以下版本的driver:com.mysql.jdbc.Driver
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://mysql:3306/seata?useUnicode=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
store.db.user= root
store.db.password=jy123456
# 数据库初始连接数
store.db.minConn=1
# 数据库最大连接数
store.db.maxConn=20
# 获取连接时最大等待时间 默认5000,单位毫秒
store.db.maxWait=5000
# 全局事务表名 默认global_table
store.db.globalTable=global_table
# 分支事务表名 默认branch_table
store.db.branchTable=branch_table
# 全局锁表名 默认lock_table
store.db.lockTable=lock_table
# 查询全局事务一次的最大条数 默认100
store.db.queryLimit=100# undo保留天数 默认7天,log_status=1(附录3)和未正常清理的undo
server.undo.logSaveDays=7
# undo清理线程间隔时间 默认86400000,单位毫秒
server.undo.logDeletePeriod=86400000
# 二阶段提交重试超时时长 单位ms,s,m,h,d,对应毫秒,秒,分,小时,天,默认毫秒。默认值-1表示无限重试
# 公式: timeout>=now-globalTransactionBeginTime,true表示超时则不再重试
# 注: 达到超时时间后将不会做任何重试,有数据不一致风险,除非业务自行可校准数据,否者慎用
server.maxCommitRetryTimeout=-1
# 二阶段回滚重试超时时长
server.maxRollbackRetryTimeout=-1
# 二阶段提交未完成状态全局事务重试提交线程间隔时间 默认1000,单位毫秒
server.recovery.committingRetryPeriod=1000
# 二阶段异步提交状态重试提交线程间隔时间 默认1000,单位毫秒
server.recovery.asynCommittingRetryPeriod=1000
# 二阶段回滚状态重试回滚线程间隔时间  默认1000,单位毫秒
server.recovery.rollbackingRetryPeriod=1000
# 超时状态检测重试线程间隔时间 默认1000,单位毫秒,检测出超时将全局事务置入回滚会话管理器
server.recovery.timeoutRetryPeriod=1000

3.运维中间件

创建docker-monitor文件夹

docker-compose.yml

version: '3.3'services:prometheus:image: prom/prometheus:v2.37.6container_name: prometheusrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- ./prometheus/:/etc/prometheus/- ./prometheus/prometheus_data:/prometheus- ./prometheus.yml:/etc/prometheus/prometheus.ymlcommand:- '--config.file=/etc/prometheus/prometheus.yml'- '--storage.tsdb.path=/prometheus'- '--web.console.libraries=/usr/share/prometheus/console_libraries'- '--web.console.templates=/usr/share/prometheus/consoles'#热加载配置- '--web.enable-lifecycle'#api配置#- '--web.enable-admin-api'#历史数据最大保留时间,默认15天- '--storage.tsdb.retention.time=30d'  networks:- my-networklinks:- alertmanager- cadvisor- node_exporterexpose:- '9090'ports:- 9090:9090depends_on:- cadvisoralertmanager:image: prom/alertmanager:v0.25.0container_name: alertmanagerrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- ./alertmanager/:/etc/alertmanager/- ./alertmanager-config.yml:/etc/alertmanager/config.ymlcommand:- '--config.file=/etc/alertmanager/config.yml'- '--storage.path=/alertmanager'networks:- my-networkexpose:- '9093'ports:- 9093:9093cadvisor:#image: google/cadvisor:latest   #作者初始配置但是在dockerDesktop上用不了,可能在linux部署的docker上可以用image: lagoudocker/cadvisor:v0.37.0 container_name: cadvisorrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ronetworks:- my-networkexpose:- '8080'node_exporter:image: prom/node-exporter:v1.5.0container_name: node-exporterrestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- /proc:/host/proc:ro- /sys:/host/sys:ro- /:/rootfs:rocommand: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys'- '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc|rootfs/var/lib/docker)($$|/)'networks:- my-networkports:- '9100:9100'grafana:image: grafana/grafana:9.4.3container_name: grafanarestart: alwaysvolumes:- /etc/localtime:/etc/localtime:ro- ./grafana/grafana_data:/var/lib/grafana- ./grafana/provisioning/:/etc/grafana/provisioning/env_file:- ./config.monitoringnetworks:- my-networklinks:- prometheusports:- 3000:3000depends_on:- prometheus############################################# 监控 & 追踪############################################# Sentinel Dashboardsentinel:image: bladex/sentinel-dashboard:1.8.6container_name: sentinelports:- "8858:8858"environment:SENTINEL_DASHBOARD_USERNAME: sentinelSENTINEL_DASHBOARD_PASSWORD: jy123456lnetworks:- my-network# SkyWalking OAP Serverskywalking-oap:image: apache/skywalking-oap-server:9.5.0container_name: skywalking-oapprivileged: trueenvironment:SW_STORAGE: elasticsearchSW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200SW_ES_HTTP_TIMEOUT: 30000SW_ES_HTTP_CONNECTION_REQUEST_TIMEOUT: 30000SW_STORAGE_ES_VERSION: 7JAVA_OPTS: "-Xmx2g -Xms2g"ports:- "12800:12800"- "11800:11800"networks:- my-network# SkyWalking UIskywalking-ui:image: apache/skywalking-ui:9.5.0container_name: skywalking-uiprivileged: truedepends_on:skywalking-oap:condition: service_startedenvironment:SW_OAP_ADDRESS: http://skywalking-oap:12800  #一定要加http://特别坑ports:- "18080:8080"networks:- my-networkvolumes:prometheus_data: {}grafana_data: {}networks:my-network:external: truename: global-network  

prometheus.yml

# 全局配置
global:scrape_interval:     15s # 将搜刮间隔设置为每15秒一次。默认是每1分钟一次。evaluation_interval: 15s # 每15秒评估一次规则。默认是每1分钟一次。# Alertmanager 配置
alerting:alertmanagers:- static_configs:- targets: ['alertmanager:9093']# 报警(触发器)配置
rule_files:- "alert.yml"# 搜刮配置
scrape_configs:- job_name: 'prometheus'# 覆盖全局默认值,每15秒从该作业中刮取一次目标scrape_interval: 15sstatic_configs:- targets: ['localhost:9090']- job_name: 'alertmanager'scrape_interval: 15sstatic_configs:- targets: ['alertmanager:9093']- job_name: 'cadvisor'scrape_interval: 15sstatic_configs:- targets: ['cadvisor:8080']labels:instance: Prometheus服务器 - job_name: 'node-exporter'scrape_interval: 15sstatic_configs:- targets: ['node_exporter:9100']labels:instance: Prometheus服务器 

alertmanager-config.yml

global:#163服务器smtp_smarthost: 'smtp.163.com:465'#发邮件的邮箱smtp_from: 'cdring@163.com'#发邮件的邮箱用户名,也就是你的邮箱     smtp_auth_username: 'cdring@163.com'#发邮件的邮箱密码smtp_auth_password: 'your-password'#进行tls验证smtp_require_tls: falseroute:group_by: ['alertname']# 当收到告警的时候,等待group_wait配置的时间,看是否还有告警,如果有就一起发出去group_wait: 10s#  如果上次告警信息发送成功,此时又来了一个新的告警数据,则需要等待group_interval配置的时间才可以发送出去group_interval: 10s# 如果上次告警信息发送成功,且问题没有解决,则等待 repeat_interval配置的时间再次发送告警数据repeat_interval: 10m# 全局报警组,这个参数是必选的receiver: emailreceivers:
- name: 'email'#收邮件的邮箱email_configs:- to: 'cdring@163.com'
inhibit_rules:- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

alert.yml

groups:
- name: Prometheus alertrules:# 对任何实例超过30秒无法联系的情况发出警报- alert: 服务告警expr: up == 0for: 30slabels:severity: criticalannotations:summary: "服务异常,实例:{{ $labels.instance }}"description: "{{ $labels.job }} 服务已关闭"

config.monitoring

GF_SECURITY_ADMIN_PASSWORD=jy123456
GF_USERS_ALLOW_SIGN_UP=false

http://www.xdnf.cn/news/15290.html

相关文章:

  • 【unitrix】 4.21 类型级二进制数基本结构体(types.rs)
  • 1965–2022年中国大陆高分辨率分部门用水数据集,包含:灌溉用水、工业制造用水、生活用水和火电冷却
  • C语言的程序控制语句
  • VR协作海外云:跨国企业沉浸式办公解决方案
  • 决策树算法在医学影像诊断中的广泛应用
  • ch07 题解
  • 番外-linux系统运行.net framework 4.0的项目
  • [特殊字符]远程服务器配置pytorch环境
  • 设计模式笔记_结构型_代理模式
  • 基于vscode开发工具显示git提交信息的插件
  • 世界现存燃油汽车品牌起源国别梳理
  • 【实时Linux实战系列】硬实时与软实时设计模式
  • 【网络】Linux 内核优化实战 - net.netfilter.nf_conntrack_max
  • 基于开源AI智能名片链动2+1模式与S2B2C商城小程序的渠道选择策略研究
  • BPE(Byte Pair Encoding)分词算法
  • flutter鸿蒙版 环境配置
  • 在前端项目中是如何解决跨域的
  • 解决Vue页面黑底红字遮罩层报错:Unknown promise rejection reason (webpack-internal)
  • CSP-J/S 参赛选手注册报名流程
  • 智能文本抽取在合同管理实战应用
  • AIC8800M40低功耗wifi在ARM-LINUX开发板上做OTA的调试经验
  • 借助 Wisdom SSH AI 助手,轻松安装 CentOS 8 LNMP 环境
  • 2025前端面试真题以及答案-不断整理中,问题来源于牛客真题
  • CMU15445-2024fall-project1踩坑经历
  • hive/spark sql中unix_timestamp 函数的坑以及时间戳相关的转换
  • 串行数据检测器,检测到011,Y输出1,否则为0.
  • RabbitMQ 之顺序性保障
  • 从零实现一个GPT 【React + Express】--- 【4】实现文生图的功能
  • uniapp-在windows上IOS真机运行(含开发证书申请流程)
  • 重振索尼复古微型电脑——计划以OrangePi CM5 作为主板升级