• Docker 部署 3 节点 Apollo


    资源清单

    使用 Apollo 单机,三环境部署,Portal 部署在 开发环境-apollo主机 上 10.0.0.1

    主机 IP
    开发环境-apollo主机 10.0.0.1
    测试环境-apollo主机 10.0.0.2
    生产环境-apollo主机 10.0.0.3
    开发环境-mysql主机 10.0.0.1
    测试环境-mysql主机 10.0.0.2
    生产环境-mysql主机 10.0.0.3
    软件 版本
    docker 20.10.12
    apollo 1.9.2
    mysql 5.7

    一、Docker 安装

    1. 使用国内 yum

    # yum install -y yum-utils device-mapper-persistent-data lvm2
    # yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    

    2. 卸载旧版本的 docker

    ## 如果主机上已经有docker存在且不是想要安装的版本,需要先进行卸载。
    # yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  container*
    

    3. 安装 Docker20.10 版本

    # yum -y install docker-ce-20.10.12-3.el7 docker-ce-cli-20.10.12-3.el7
    

    4. 设置镜像加速

    # mkdir /etc/docker
    # vi /etc/docker/daemon.json
    
    {
      "registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
    }
    

    5. 启动 docker

    # systemctl start docker
    # systemctl enable docker
    # systemctl status docker
    

    二、部署 Portal 服务

    Portal 部署在 10.0.0.1 主机,可以和测试环境 ConfigDB 使用相同的 mysql 数据库

    1. 部署数据库

    ## 创建目录
    # mkdir /data/mysql/{data,conf}
    
    ## 启动容器
    # docker run  -d \
      --name mysql \
      -p 3306:3306 \
      --privileged=true \
      --restart=always \
      -e MYSQL_ROOT_PASSWORD=apollo \
      -v /data/mysql/data:/var/lib/mysql \
      -v /data/mysql/conf:/etc/mysql/conf.d \
      --character-set-server=utf8mb4 \
      --collation-server=utf8mb4_general_ci \
       mysql:5.7
    

    2. 新建数据库并导入数据

    # docker exec -it mysql mysql -uroot -papollo
    
    ## 数据库sql存放在/tmp/apolloportaldb.sql
    > source /tmp/apolloportaldb.sql
    

    3. apolloportaldb.sql

    查看文档最后提供的 apolloportaldb.sql

    4. 部署 Portal 服务

    ## 创建目录
    # mkdir /data/apollo/logs -pv
    
    # docker run -d     \
      --name apollo-portal \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      -e APOLLO_PORTAL_ENVS=dev,fat,pro \
      -e DEV_META=http://10.0.0.1:8080 \
      -e FAT_META=http://10.0.0.2:8080 \
      -e PRO_META=http://10.0.0.3:8080 \
      apolloconfig/apollo-portal
      
    # -e APOLLO_PORTAL_ENVS=dev,fat,pro
    定义apollo环境:开发dev 测试fat 生产pro
    
    #  -e DEV_META=http://10.0.0.1:8080 \
    #  -e FAT_META=http://10.0.0.2:8080 \
    #  -e PRO_META=http://10.0.0.3:8080 \
    
    开发 测试 和 生产环境 Meta Server,Eureka,Config Service 地址
    
    ## 参考文档:https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide?id=%e4%b8%89%e3%80%81%e6%9c%8d%e5%8a%a1%e7%ab%af%e9%85%8d%e7%bd%ae%e8%af%b4%e6%98%8e
    

    三、部署开发环境

    10.0.0.1 主机部署业务

    1. 部署数据库

    Portal 使用同一个数据库,都部署在 10.0.0.1 主机

    2. 新建数据库并导入数据

    # docker exec -it mysql mysql -uroot -papollo
    
    ## 数据库sql存放在/tmp/apolloconfigdb.sql
    > source /tmp/apolloconfigdb.sql
    

    3. apolloconfigdb.sql

    查看文档最后提供的 apolloconfigdb.sql

    4. 部署开发环境 configserviceadminservice 服务

    # docker run -d \
      --name apollo-configservice \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      apolloconfig/apollo-configservice:1.9.2
    
    
    # docker run -d \
      --name apollo-adminservice \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      apolloconfig/apollo-adminservice:1.9.2
    

    四、部署测试环境

    10.0.0.2 主机部署业务

    1. 部署数据库

    ## 创建目录
    # mkdir /data/mysql/{data,conf}
    
    ## 启动容器
    # docker run  -d \
      --name mysql \
      -p 3306:3306 \
      --privileged=true \
      --restart=always \
      -e MYSQL_ROOT_PASSWORD=apollo \
      -v /data/mysql/data:/var/lib/mysql \
      -v /data/mysql/conf:/etc/mysql/conf.d \
      --character-set-server=utf8mb4 \
      --collation-server=utf8mb4_general_ci \
       mysql:5.7
    

    2. 新建数据库并导入数据

    # docker exec -it mysql mysql -uroot -papollo
    
    ## 数据库sql存放在/tmp/apolloconfigdb.sql
    > source /tmp/apolloconfigdb.sql
    

    3. apolloconfigdb.sql

    查看文档最后提供的 apolloconfigdb.sql

    4. 部署测试环境 configserviceadminservice 服务

    ## 创建目录
    # mkdir /data/apollo/logs -pv
    
    # docker run -d \
      --name apollo-configservice \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.2:3306/ApolloConfigDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      apolloconfig/apollo-configservice:1.9.2
    
    
    # docker run -d \
      --name apollo-adminservice \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.2:3306/ApolloConfigDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      apolloconfig/apollo-adminservice:1.9.2
    

    五、部署生产环境

    10.0.0.3 主机部署业务

    1. 部署数据库

    ## 创建目录
    # mkdir /data/mysql/{data,conf}
    
    ## 启动容器
    # docker run  -d \
      --name mysql \
      -p 3306:3306 \
      --privileged=true \
      --restart=always \
      -e MYSQL_ROOT_PASSWORD=apollo \
      -v /data/mysql/data:/var/lib/mysql \
      -v /data/mysql/conf:/etc/mysql/conf.d \
      --character-set-server=utf8mb4 \
      --collation-server=utf8mb4_general_ci \
       mysql:5.7
    

    2. 新建数据库并导入数据

    # docker exec -it mysql mysql -uroot -papollo
    
    ## 数据库sql存放在/tmp/apolloconfigdb.sql
    > source /tmp/apolloconfigdb.sql
    

    3. apolloconfigdb.sql

    查看文档最后提供的 apolloconfigdb.sql

    4. 部署生产环境 configserviceadminservice 服务

    ## 创建目录
    # mkdir /data/apollo/logs -pv
    
    # docker run -d \
      --name apollo-configservice \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.3:3306/ApolloConfigDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      apolloconfig/apollo-configservice:1.9.2
    
    
    # docker run -d \
      --name apollo-adminservice \
      --net=host \
      -v /data/apollo/logs:/opt/logs \
      -e SPRING_DATASOURCE_URL="jdbc:mysql://10.0.0.3:3306/ApolloConfigDB?characterEncoding=utf8" \
      -e SPRING_DATASOURCE_USERNAME=root \
      -e SPRING_DATASOURCE_PASSWORD=apollo \
      apolloconfig/apollo-adminservice:1.9.2
    

    apolloportaldb.sql

    --
    -- Copyright 2022 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 */;
    
    # Create Database
    # ------------------------------------------------------------
    CREATE DATABASE IF NOT EXISTS ApolloPortalDB DEFAULT CHARACTER SET = utf8mb4;
    
    Use ApolloPortalDB;
    
    # Dump of table app
    # ------------------------------------------------------------
    
    DROP TABLE IF EXISTS `App`;
    
    CREATE TABLE `App` (
      `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
      `AppId` varchar(500) 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',
      `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 `AppId` (`AppId`(191)),
      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',
      `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_AppId` (`AppId`),
      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(500) 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',
      `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 `AppId` (`AppId`(191)),
      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',
      `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_DataChange_LastTime` (`DataChange_LastTime`),
      KEY `IX_RoleId` (`RoleId`),
      KEY `IX_ConsumerId_RoleId` (`ConsumerId`,`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',
      `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',
      `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 `IX_Token` (`Token`),
      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(500) 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',
      `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 `AppId` (`AppId`(191)),
      KEY `IX_UserId` (`UserId`),
      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',
      `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_TargetId_PermissionType` (`TargetId`(191),`PermissionType`),
      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',
      `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_RoleName` (`RoleName`(191)),
      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',
      `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_DataChange_LastTime` (`DataChange_LastTime`),
      KEY `IX_RoleId` (`RoleId`),
      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',
      `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_Key` (`Key`),
      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',
      `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_DataChange_LastTime` (`DataChange_LastTime`),
      KEY `IX_RoleId` (`RoleId`),
      KEY `IX_UserId_RoleId` (`UserId`,`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`)
    ) 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;
    
    
    # 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');
    
    -- spring session (https://github.com/spring-projects/spring-session/blob/faee8f1bdb8822a5653a81eba838dddf224d92d6/spring-session-jdbc/src/main/resources/org/springframework/session/jdbc/schema-mysql.sql)
    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),
    	CONSTRAINT SPRING_SESSION_PK PRIMARY KEY (PRIMARY_ID)
    ) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
    
    CREATE UNIQUE INDEX SPRING_SESSION_IX1 ON SPRING_SESSION (SESSION_ID);
    CREATE INDEX SPRING_SESSION_IX2 ON SPRING_SESSION (EXPIRY_TIME);
    CREATE INDEX SPRING_SESSION_IX3 ON SPRING_SESSION (PRINCIPAL_NAME);
    
    CREATE TABLE SPRING_SESSION_ATTRIBUTES (
    	SESSION_PRIMARY_ID CHAR(36) NOT NULL,
    	ATTRIBUTE_NAME VARCHAR(200) NOT NULL,
    	ATTRIBUTE_BYTES BLOB NOT NULL,
    	CONSTRAINT SPRING_SESSION_ATTRIBUTES_PK 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 ROW_FORMAT=DYNAMIC;
    
    /*!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 */;
    

    apolloconfigdb.sql

    --
    -- Copyright 2022 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 */;
    
    # Create Database
    # ------------------------------------------------------------
    CREATE DATABASE IF NOT EXISTS ApolloConfigDB DEFAULT CHARACTER SET = utf8mb4;
    
    Use ApolloConfigDB;
    
    # Dump of table app
    # ------------------------------------------------------------
    
    DROP TABLE IF EXISTS `App`;
    
    CREATE TABLE `App` (
      `Id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
      `AppId` varchar(500) 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',
      `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 `AppId` (`AppId`(191)),
      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',
      `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_AppId` (`AppId`),
      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',
      `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',
      `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
      `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_AppId_Name` (`AppId`,`Name`),
      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(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
      `ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
      `NamespaceName` varchar(500) 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',
      `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`(191)),
      KEY `ClusterName` (`ClusterName`(191)),
      KEY `NamespaceName` (`NamespaceName`(191))
    ) 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',
      `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',
      `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',
      `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(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
      `ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'Cluster Name',
      `NamespaceName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'Namespace Name',
      `IsDeleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '1: deleted, 0: normal',
      `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 `AppId_ClusterName_NamespaceName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
      KEY `DataChange_LastTime` (`DataChange_LastTime`),
      KEY `IX_NamespaceName` (`NamespaceName`(191))
    ) 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 '软删除',
      PRIMARY KEY (`Id`),
      UNIQUE KEY `IX_NamespaceId` (`NamespaceId`),
      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(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
      `ClusterName` varchar(500) NOT NULL DEFAULT 'default' COMMENT 'ClusterName',
      `NamespaceName` varchar(500) 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',
      `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 `AppId_ClusterName_GroupName` (`AppId`(191),`ClusterName`(191),`NamespaceName`(191)),
      KEY `DataChange_LastTime` (`DataChange_LastTime`),
      KEY `IX_ReleaseKey` (`ReleaseKey`)
    ) 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',
      `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`)
    ) 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',
      `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_Key` (`Key`),
      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(500) NOT NULL DEFAULT 'default' COMMENT 'AppID',
      `Secret` varchar(128) NOT NULL DEFAULT '' COMMENT 'Secret',
      `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',
      `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`),
      KEY `AppId` (`AppId`(191)),
      KEY `DataChange_LastTime` (`DataChange_LastTime`)
    ) 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是否开启缓存,开启后能提高性能,但是会增大内存消耗!');
    
    /*!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 */;
    
  • 相关阅读:
    13 | 效率为王:脚本与数据的解耦 + Page Object模型
    关于编程与生活
    我的python学习笔记
    Tarjan学习笔记
    web----https请求过程
    JVM----堆内存设置原理
    算法----快速排序
    SpringCloud----spring security Oauth2认证解决方案
    Mysql----insert/update/delete
    课外知识----单点登录
  • 原文地址:https://www.cnblogs.com/evescn/p/16203487.html
Copyright © 2020-2023  润新知