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.pswp.cn/diannao/90862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90862.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于無人機 RTK 和 yolov8 的目標定位算法

目錄 背景 算法思路 代碼實現 驗證 背景 在城市交通巡檢中如何進行車輛違停判斷很重要,一個方法是通過精確坐標判斷車輛中心是否位于違停框中,我們假設無人機坐標已知,并且無人機云臺鏡頭垂直地面朝下,可根據圖像分辨率、無人機參…

go入門 - day1 - 環境搭建

0. 介紹 go語言可以做什么? a. 區塊鏈 b. 分布式/微服務/云原生 c. 服務器/游戲軟件go的優勢 a. 代碼量比C和Java少 b. 編譯速度比Java或者C快上5到6倍,比Scale塊10被 c. 性能比C慢20%,但是比Java、python等快上5到10倍 d. 內存管理和C媲美&a…

【華為OD】MVP爭奪戰(C++、Java、Python)

文章目錄題目描述輸入描述輸出描述示例解題思路算法思路核心步驟代碼實現C實現Java實現Python實現算法要點復雜度分析解題總結題目描述 在星球爭霸籃球賽對抗賽中,最大的宇宙戰隊希望每個人都能拿到MVP,MVP的條件是單場最高分得分獲得者。可以并列所以宇…

Datawhale 2025 AI夏令營 MCP Server Task2

魔搭MCP &Agent賽事(MCP Server開發)/夏令營:動手開發MCP Server學習鏈接:魔搭MCP &Agent賽事(MCP Server開發) - Datawhale Task1回顧 1.task1應用功能 luner_info每日黃歷 這是一個可以獲取某天…

敏捷開發方法全景解析

核心理念:敏捷開發是以快速響應變化為核心的項目管理方法論,通過迭代式交付、自組織團隊和持續反饋,實現高質量軟件的高效交付。其本質是擁抱變化優于遵循計劃,強調"可工作的軟件高于詳盡的文檔"。 一、敏捷核心思想體系 #mermaid-svg-y7iyWsQGVWn3IpEi {font-fa…

Socket到底是什么(簡單來說)

簡單來說: Socket 抽象了網絡通信的復雜底層細節,讓應用程序開發者可以專注于發送和接收數據,而不用去操心數據在網絡上是如何傳輸的。 它就像一個“黑盒子”,你只需要把數據扔進去,或者從里面取數據,至于數…

linux系統mysql性能優化

1、系統最大打開文件描述符數查看限制 ulimit -n更改配置 # 第一步 sudo vim /etc/security/limits.conf* soft nofile 1048576 * hard nofile 1048576# 第二步 sudo vim /etc/sysctl.conffs.file-max 1048576# 第三步(重啟系統) sudo reboot驗證生效 u…

免費的需要嘗試claude code的API安利,截至今天可用(7月13號)

安裝方法放最后(很簡單,但是你得搞定網絡) 注冊如下: 鏈接如下(有詳細說明): 🚀 AnyRouter|Claude Code 免費共享平臺 安裝(windows用戶特殊點&#xff0…

Java 屬性配置文件讀取方法詳解

Java 屬性配置文件讀取方法詳解 一、配置文件基礎概念 1. 配置文件類型對比類型格式優點缺點適用場景Propertieskeyvalue簡單易讀,Java原生支持不支持層級結構簡單配置,JDBC參數XML標簽層級結構結構化強,支持復雜數據類型冗余,解析…

NW728NW733美光固態閃存NW745NW746

美光NW系列固態閃存深度解析:NW728、NW733、NW745與NW746的全方位評測技術架構與核心創新美光NW系列固態閃存(包括NW728、NW733、NW745、NW746)的技術根基源于其先進的G9 NAND架構。該架構通過5納米制程工藝和多層3D堆疊技術,在單…

【面試八股文】2025最新軟件測試面試

一、測試基礎 1、測試策略或測試包括哪些,測試要覆蓋哪些方面 UI、功能、性能、可靠性、易用性、兼容性、安全性、安裝卸載 2、設計測試用例的辦法 等價類、邊界值、錯誤推測法、場景法等設計方法來編寫測試用例的 (1)等價類分為有效等價…

AI軟件出海SEO教程

一、出海SEO核心思路 本地化:內容、技術、用戶體驗全面適應目標市場。關鍵詞策略:圍繞目標用戶的真實搜索習慣做關鍵詞挖掘和布局。內容為王:持續輸出高質量、解決用戶痛點的內容。技術優化:保證網站速度、結構、移動端體驗及安全…

PyVision:基于動態工具的具身智能體

論文地址: [2507.07998v1] PyVision: Agentic Vision with Dynamic Tooling 1. 背景 現有的智能體一般都是通過大模型規劃調用已經預定義好的一些工具(具體來說也就是一些函數)來解決問題。這樣就會導致在針對特征的任務上Agent去解決問題…

Higress 上架 KubeSphere Marketplace,助力企業構建云原生流量入口

隨著企業數字化轉型持續深化,云原生架構正逐漸成為構建現代應用的主流選擇。而服務治理作為云原生落地的核心能力之一,急需更靈活、高效的解決方案。近日,AI 原生的 API 網關 Higress 正式上架 KubeSphere Marketplace,助力用戶輕…

在LC480T上部署xapp1052

實驗環境:LC480T加速卡 開發環境:windows11vivado2020 運行環境:ubuntu22.04 硬件電路:LC480T加速卡(xc7k480tffg1156-2) vivado工程文件下載:https://download.csdn.net/download/xiaolangyangyang/91349686 驅動及應…

TCP的socket編程

TCP客戶端邏輯void Usage(const std::string & process) {std::cout << "Usage: " << process << " server_ip server_port" <<std::endl; } // ./tcp_client serverip serverport int main(int argc, char * argv[]) {if (ar…

【理念●體系】模板規范篇:打造可標準化復用的 AI 項目骨架

【理念●體系】從零打造 Windows WSL Docker Anaconda PyCharm 的 AI 全鏈路開發體系-CSDN博客 【理念●體系】Windows AI 開發環境搭建實錄&#xff1a;六層架構的逐步實現與路徑治理指南-CSDN博客 【理念●體系】路徑治理篇&#xff1a;打造可控、可遷移、可復現的 AI 開…

Skia---漸變色著色器

今天介紹的是實際工作中最常用到的著色器&#xff1a;漸變色著色器。 漸變色著色器是一個從一種顏色平滑的過渡到另一種顏色的效果&#xff0c;漸變色著色器的作用主要是增強圖形的視覺吸引力。 線性漸變 Skia 里的線性漸變色著色器是最簡單的漸變色著色器&#xff0c;它用于…

2025.07.09華為機考真題解析-第二題200分

?? 點擊直達筆試專欄 ??《大廠筆試突圍》 ?? 春秋招筆試突圍在線OJ ?? 筆試突圍OJ 02. 地鐵線路故障預警系統 問題描述 LYA 負責管理一個城市的地鐵網絡系統。地鐵網絡由 n n n

數學建模:非線性規劃:凸規劃問題

一、定義凸集定義??&#xff1a;設Ω是n維歐氏空間的一點集&#xff0c;若任意兩點x?∈Ω&#xff0c;x?∈Ω&#xff0c;其連線上的所有點αx?(1-α)x?∈Ω&#xff0c;(0≤α≤1)&#xff0c;則稱Ω為凸集。??凸函數定義??&#xff1a;給定函數f(x)(x∈D?R?)&…