Docker部署Apollo的实现步骤

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

众所周知分布式配置中心在目前也可以说是企业中项目的标配了,本次我们就来介绍一下Apollo,他的部署其实也不复杂,还有一点就是他强依赖MySQL数据库大家要知道,当然JDK环境也是必须的。

既然要搭建分布式配置中心,那我们自然也要稍微介绍一下什么是分布式配置中心。

Docker部署Apollo的实现步骤插图

要理解分布式配置中心很简单:其实就是把一些配置的信息分离于自身的系统,而这些信息又能被应用实时获取得到。 怎么样是不是清晰易懂。

一、准备工作

1.1 安装Docker

Docker Desktop 安装使用教程

1.2 安装mysql

# 拉取镜像 docker pull mysql:8.0 # 查看镜像 docker images # 运行mysql docker run -d -p 3306:3306 –name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0 # 启动mysql docker start mysql

1.3 创建文件夹,并按照目录结构编写文件

– docker-quick-start – docker-compose.yml – sql – apolloconfigdb.sql – apolloportaldb.sql

Docker部署Apollo的实现步骤插图1

docker-compose.yml :

version: 2 services: apollo-quick-start: image: nobodyiam/apollo-quick-start container_name: apollo-quick-start depends_on: – apollo-db ports: – “8080:8080” – “8070:8070” – “8090:8090” links: – apollo-db #environment: #JAVA_OPTS: -Xms100m -Xmx1000m -Xmn100m -Xss256k -XX:MetaspaceSize=10m -XX:MaxMetaspaceSize=250m #APOLLO_CONFIG_DB_USERNAME: root #APOLLO_CONFIG_DB_PASSWORD: apollo #APOLLO_PORTAL_DB_USERNAME: root #APOLLO_PORTAL_DB_PASSWORD: apollo apollo-db: image: mysql:8.0 container_name: apollo-db environment: TZ: Asia/Shanghai MYSQL_ALLOW_EMPTY_PASSWORD: yes #MYSQL_ROOT_PASSWORD: apollo depends_on: – apollo-dbdata ports: – “13306:3306” volumes: – ./sql:/docker-entrypoint-initdb.d volumes_from: – apollo-dbdata apollo-dbdata: image: alpine:latest container_name: apollo-dbdata volumes: – /var/lib/mysql

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 b0 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 b0 COMMENT namespace是否为公共, `Comment` varchar(64) NOT NULL DEFAULT COMMENT 注释, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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 b0 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, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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(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 b0 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`(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 b0 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, `Value` longtext NOT NULL COMMENT 配置项值, `Comment` varchar(1024) DEFAULT COMMENT 注释, `LineNum` int(10) unsigned DEFAULT 0 COMMENT 行号, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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(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 b0 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`(191),`ClusterName`(191),`NamespaceName`(191),`DeletedAt`), 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 b0 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(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 b0 COMMENT 是否废弃, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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`(191),`ClusterName`(191),`NamespaceName`(191)), 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 b0 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`) ) 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 b0 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(500) NOT NULL DEFAULT default COMMENT AppID, `Secret` varchar(128) NOT NULL DEFAULT COMMENT Secret, `IsEnabled` bit(1) NOT NULL DEFAULT b0 COMMENT 1: enabled, 0: disabled, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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=访问密钥; # 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.value.length.limit, default, 20000, item value最大长度限制), (config-service.cache.enabled, default, false, ConfigService是否开启缓存,开启后能提高性能,但是会增大内存消耗!), (item.key.length.limit, default, 128, item key 最大长度限制); # Sample Data # ———————————————————— INSERT INTO `App` (`AppId`, `Name`, `OrgId`, `OrgName`, `OwnerName`, `OwnerEmail`) VALUES (SampleApp, Sample App, TEST1, 样例部门1, apollo, apollo@acme.com); INSERT INTO `AppNamespace` (`Name`, `AppId`, `Format`, `IsPublic`, `Comment`) VALUES (application, SampleApp, properties, 0, default app namespace); INSERT INTO `Cluster` (`Name`, `AppId`) VALUES (default, SampleApp); INSERT INTO `Namespace` (`Id`, `AppId`, `ClusterName`, `NamespaceName`) VALUES (1, SampleApp, default, application); INSERT INTO `Item` (`NamespaceId`, `Key`, `Value`, `Comment`, `LineNum`) VALUES (1, timeout, 100, sample timeout配置, 1); INSERT INTO `Release` (`ReleaseKey`, `Name`, `Comment`, `AppId`, `ClusterName`, `NamespaceName`, `Configurations`) VALUES (20161009155425-d3a0749c6e20bc15, 20161009155424-release, Sample发布, SampleApp, default, application, {“timeout”:”100″}); INSERT INTO `ReleaseHistory` (`AppId`, `ClusterName`, `NamespaceName`, `BranchName`, `ReleaseId`, `PreviousReleaseId`, `Operation`, `OperationContext`, `DataChange_CreatedBy`, `DataChange_LastModifiedBy`) VALUES (SampleApp, default, application, default, 1, 0, 0, {}, apollo, apollo); INSERT INTO `ReleaseMessage` (`Message`) VALUES (SampleApp+default+application); /*!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 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 b0 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 b0 COMMENT namespace是否为公共, `Comment` varchar(64) NOT NULL DEFAULT COMMENT 注释, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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(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 b0 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 b0 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, `Expires` datetime NOT NULL DEFAULT 2099-01-01 00:00:00 COMMENT token失效时间, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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(500) NOT NULL DEFAULT default COMMENT AppID, `Position` int(32) NOT NULL DEFAULT 10000 COMMENT 收藏顺序, `IsDeleted` bit(1) NOT NULL DEFAULT b0 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`(191)), 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 b0 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 b0 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 b0 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 b0 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 b0 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; # 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, dev, 只对项目成员显示配置信息的环境列表,多个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); # Sample Data # ———————————————————— INSERT INTO `App` (`AppId`, `Name`, `OrgId`, `OrgName`, `OwnerName`, `OwnerEmail`) VALUES (SampleApp, Sample App, TEST1, 样例部门1, apollo, apollo@acme.com); INSERT INTO `AppNamespace` (`Name`, `AppId`, `Format`, `IsPublic`, `Comment`) VALUES (application, SampleApp, properties, 0, default app namespace); INSERT INTO `Permission` (`Id`, `PermissionType`, `TargetId`) VALUES (1, CreateCluster, SampleApp), (2, CreateNamespace, SampleApp), (3, AssignRole, SampleApp), (4, ModifyNamespace, SampleApp+application), (5, ReleaseNamespace, SampleApp+application); INSERT INTO `Role` (`Id`, `RoleName`) VALUES (1, Master+SampleApp), (2, ModifyNamespace+SampleApp+application), (3, ReleaseNamespace+SampleApp+application); INSERT INTO `RolePermission` (`RoleId`, `PermissionId`) VALUES (1, 1), (1, 2), (1, 3), (2, 4), (3, 5); INSERT INTO `UserRole` (`UserId`, `RoleId`) VALUES (apollo, 1), (apollo, 2), (apollo, 3); — 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 */;

二、启动Apollo配置中心

在docker-quick-start目录下执行docker-compose up,第一次执行会触发下载镜像等操作,需要耐心等待一些时间。

哦吼,成功了:

Docker部署Apollo的实现步骤插图2

其实Apollo 的文档中都有介绍,我只是个搬运工:

https://www.apolloconfig.com/#/zh/deployment/quick-start-docker


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容