From 3a1d9e1a39792e70da0a7ffe4d229e3418f08117 Mon Sep 17 00:00:00 2001 From: Odboy Date: Wed, 26 Feb 2025 19:56:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20nacos-2.5.0=E5=8D=95=E7=82=B9=E5=92=8C?= =?UTF-8?q?=E9=9B=86=E7=BE=A4=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config/nacos-2.5.0-cluster/demo.png | Bin 0 -> 117704 bytes Config/nacos-2.5.0-cluster/docker-compose.yml | 111 +++++++++ Config/nacos-2.5.0-cluster/install.sh | 3 + Config/nacos-2.5.0-cluster/mysql/my.cnf | 19 ++ .../nacos1/conf/application.properties | 13 ++ .../nacos2/conf/application.properties | 13 ++ .../nacos3/conf/application.properties | 13 ++ Config/nacos-2.5.0-cluster/run.md | 18 ++ .../scripts/mysql-schema.sql | 220 ++++++++++++++++++ Config/nacos-2.5.0-cluster/shutdown.sh | 1 + Config/nacos-2.5.0-standalone/demo.png | Bin 0 -> 118680 bytes .../nacos-2.5.0-standalone/docker-compose.yml | 58 +++++ Config/nacos-2.5.0-standalone/install.sh | 3 + Config/nacos-2.5.0-standalone/mysql/my.cnf | 19 ++ .../nacos/conf/application.properties | 13 ++ Config/nacos-2.5.0-standalone/run.md | 18 ++ .../scripts/mysql-schema.sql | 220 ++++++++++++++++++ Config/nacos-2.5.0-standalone/shutdown.sh | 1 + 18 files changed, 743 insertions(+) create mode 100644 Config/nacos-2.5.0-cluster/demo.png create mode 100644 Config/nacos-2.5.0-cluster/docker-compose.yml create mode 100644 Config/nacos-2.5.0-cluster/install.sh create mode 100644 Config/nacos-2.5.0-cluster/mysql/my.cnf create mode 100644 Config/nacos-2.5.0-cluster/nacos1/conf/application.properties create mode 100644 Config/nacos-2.5.0-cluster/nacos2/conf/application.properties create mode 100644 Config/nacos-2.5.0-cluster/nacos3/conf/application.properties create mode 100644 Config/nacos-2.5.0-cluster/run.md create mode 100644 Config/nacos-2.5.0-cluster/scripts/mysql-schema.sql create mode 100644 Config/nacos-2.5.0-cluster/shutdown.sh create mode 100644 Config/nacos-2.5.0-standalone/demo.png create mode 100644 Config/nacos-2.5.0-standalone/docker-compose.yml create mode 100644 Config/nacos-2.5.0-standalone/install.sh create mode 100644 Config/nacos-2.5.0-standalone/mysql/my.cnf create mode 100644 Config/nacos-2.5.0-standalone/nacos/conf/application.properties create mode 100644 Config/nacos-2.5.0-standalone/run.md create mode 100644 Config/nacos-2.5.0-standalone/scripts/mysql-schema.sql create mode 100644 Config/nacos-2.5.0-standalone/shutdown.sh diff --git a/Config/nacos-2.5.0-cluster/demo.png b/Config/nacos-2.5.0-cluster/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..0f45b87b495f72f42f9737bcdd558dd54d0724c5 GIT binary patch literal 117704 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 方便相互通讯 +networks: + nacos: + ipam: + driver: default + config: + - subnet: "172.23.0.0/24" + +services: + mysql: + image: registry.cn-shanghai.aliyuncs.com/odboy/mysql:8.0 # 原镜像`mysql:8.0` + container_name: mysql8 # 容器名为'mysql8' + restart: unless-stopped + volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录 + - "./mysql/my.cnf:/etc/mysql/my.cnf" + - "./mysql/data:/var/lib/mysql" + # - "./mysql/conf.d:/etc/mysql/conf.d" + - "./mysql/mysql-files:/var/lib/mysql-files" + - "./scripts/mysql-schema.sql:/docker-entrypoint-initdb.d/mysql-schema.sql" + environment: + TZ: Asia/Shanghai + LANG: en_US.UTF-8 + MYSQL_ROOT_PASSWORD: root # 设置root用户密码 + MYSQL_DATABASE: nacos # 初始化的数据库名称 + privileged: true + user: root + ports: # 映射端口 + - "3308:3306" + networks: + nacos: + ipv4_address: 172.23.0.80 + nacos1: + image: registry.cn-shanghai.aliyuncs.com/odboy/nacos-server:2.5.0 + container_name: nacos1 + hostname: nacos1 + restart: always + ports: + - "7848:7848" + - "8848:8848" + - "9868:9848" + - "9850:9849" + environment: + - PREFER_HOST_MODE=hostname + - NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848 + - MYSQL_SERVICE_HOST=mysql + - MYSQL_SERVICE_DB_NAME=nacos + - MYSQL_SERVICE_PORT=3306 + - MYSQL_SERVICE_USER=root + - MYSQL_SERVICE_PASSWORD=root + volumes: + - ./nacos1/logs:/home/nacos/logs + - ./nacos1/conf/application.properties:/home/nacos/conf/application.properties + depends_on: + - mysql + networks: + nacos: + ipv4_address: 172.23.0.81 + nacos2: + image: registry.cn-shanghai.aliyuncs.com/odboy/nacos-server:2.5.0 + container_name: nacos2 + hostname: nacos2 + restart: always + ports: + - "7849:7848" + - "8849:8848" + - "9869:9848" + - "9851:9849" + environment: + - PREFER_HOST_MODE=hostname + - NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848 + - MYSQL_SERVICE_HOST=mysql + - MYSQL_SERVICE_DB_NAME=nacos + - MYSQL_SERVICE_PORT=3306 + - MYSQL_SERVICE_USER=root + - MYSQL_SERVICE_PASSWORD=root + volumes: + - ./nacos2/logs:/home/nacos/logs + - ./nacos2/conf/application.properties:/home/nacos/conf/application.properties + depends_on: + - mysql + networks: + nacos: + ipv4_address: 172.23.0.82 + nacos3: + image: registry.cn-shanghai.aliyuncs.com/odboy/nacos-server:2.5.0 + container_name: nacos3 + hostname: nacos3 + restart: always + ports: + - "7850:7848" + - "8850:8848" + - "9870:9848" + - "9852:9849" + environment: + - PREFER_HOST_MODE=hostname + - NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848 + - MYSQL_SERVICE_HOST=mysql + - MYSQL_SERVICE_DB_NAME=nacos + - MYSQL_SERVICE_PORT=3306 + - MYSQL_SERVICE_USER=root + - MYSQL_SERVICE_PASSWORD=root + volumes: + - ./nacos3/logs:/home/nacos/logs + - ./nacos3/conf/application.properties:/home/nacos/conf/application.properties + depends_on: + - mysql + networks: + nacos: + ipv4_address: 172.23.0.83 diff --git a/Config/nacos-2.5.0-cluster/install.sh b/Config/nacos-2.5.0-cluster/install.sh new file mode 100644 index 0000000..81e6d1d --- /dev/null +++ b/Config/nacos-2.5.0-cluster/install.sh @@ -0,0 +1,3 @@ +#curl -O https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql?spm=5238cd80.72a042d5.0.0.4bddcd36DjqTD6&file=mysql-schema.sql +#mv mysql-schema.sql ./scripts/ +docker-compose -f docker-compose.yml -p nacos-cluster up -d \ No newline at end of file diff --git a/Config/nacos-2.5.0-cluster/mysql/my.cnf b/Config/nacos-2.5.0-cluster/mysql/my.cnf new file mode 100644 index 0000000..1c92116 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/mysql/my.cnf @@ -0,0 +1,19 @@ +# 服务端参数配置 +[mysqld] +user=mysql # MySQL启动用户 +default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎 +character-set-server=utf8mb4 # 设置mysql服务端默认字符集 +collation-server=utf8mb4_general_ci # 数据库字符集对应一些排序等规则,注意要和character-set-server对应 +default-authentication-plugin=mysql_native_password + +max_connections=1000 # 允许最大连接数 +max_connect_errors=100 # 最大错误连接数 +sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION + + +[mysql] +default-character-set=utf8mb4 + + +[client] +default-character-set=utf8mb4 # 设置mysql客户端默认字符集 diff --git a/Config/nacos-2.5.0-cluster/nacos1/conf/application.properties b/Config/nacos-2.5.0-cluster/nacos1/conf/application.properties new file mode 100644 index 0000000..c3bbb92 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/nacos1/conf/application.properties @@ -0,0 +1,13 @@ +spring.sql.init.platform=mysql + +db.num=1 +db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true +db.user=${MYSQL_SERVICE_USER} +db.password=${MYSQL_SERVICE_PASSWORD} + +nacos.core.auth.enabled=true +nacos.core.auth.system.type=nacos +# encode by base64 +nacos.core.auth.plugin.nacos.token.secret.key=XllrJFJiV20qcCNDIzh2OGYkNiVxd1VWU3FjVjU2alVyNEBzN21CRyRubmQjTks3S2sySF5wUFBxJVEyI2hAa3ZINm1qRVNEejRXeW1YR0Q0 +nacos.core.auth.server.identity.key=nacosadmin +nacos.core.auth.server.identity.value=nacosadmin \ No newline at end of file diff --git a/Config/nacos-2.5.0-cluster/nacos2/conf/application.properties b/Config/nacos-2.5.0-cluster/nacos2/conf/application.properties new file mode 100644 index 0000000..c3bbb92 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/nacos2/conf/application.properties @@ -0,0 +1,13 @@ +spring.sql.init.platform=mysql + +db.num=1 +db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true +db.user=${MYSQL_SERVICE_USER} +db.password=${MYSQL_SERVICE_PASSWORD} + +nacos.core.auth.enabled=true +nacos.core.auth.system.type=nacos +# encode by base64 +nacos.core.auth.plugin.nacos.token.secret.key=XllrJFJiV20qcCNDIzh2OGYkNiVxd1VWU3FjVjU2alVyNEBzN21CRyRubmQjTks3S2sySF5wUFBxJVEyI2hAa3ZINm1qRVNEejRXeW1YR0Q0 +nacos.core.auth.server.identity.key=nacosadmin +nacos.core.auth.server.identity.value=nacosadmin \ No newline at end of file diff --git a/Config/nacos-2.5.0-cluster/nacos3/conf/application.properties b/Config/nacos-2.5.0-cluster/nacos3/conf/application.properties new file mode 100644 index 0000000..c3bbb92 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/nacos3/conf/application.properties @@ -0,0 +1,13 @@ +spring.sql.init.platform=mysql + +db.num=1 +db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true +db.user=${MYSQL_SERVICE_USER} +db.password=${MYSQL_SERVICE_PASSWORD} + +nacos.core.auth.enabled=true +nacos.core.auth.system.type=nacos +# encode by base64 +nacos.core.auth.plugin.nacos.token.secret.key=XllrJFJiV20qcCNDIzh2OGYkNiVxd1VWU3FjVjU2alVyNEBzN21CRyRubmQjTks3S2sySF5wUFBxJVEyI2hAa3ZINm1qRVNEejRXeW1YR0Q0 +nacos.core.auth.server.identity.key=nacosadmin +nacos.core.auth.server.identity.value=nacosadmin \ No newline at end of file diff --git a/Config/nacos-2.5.0-cluster/run.md b/Config/nacos-2.5.0-cluster/run.md new file mode 100644 index 0000000..2d55920 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/run.md @@ -0,0 +1,18 @@ +# Nacos 注册中心 + +一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台 + +- https://nacos.io + +### 部署方式 + +```shell +sh install.sh +``` + +访问 http://192.168.235.104:8848/nacos + +### 示例 + +![demo](./demo.png) + diff --git a/Config/nacos-2.5.0-cluster/scripts/mysql-schema.sql b/Config/nacos-2.5.0-cluster/scripts/mysql-schema.sql new file mode 100644 index 0000000..1f4e154 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/scripts/mysql-schema.sql @@ -0,0 +1,220 @@ +/* + * Copyright 1999-2018 Alibaba Group Holding Ltd. + * + * 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. + */ + +/******************************************/ +/* 表名称 = config_info */ +/******************************************/ +CREATE TABLE `config_info` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description', + `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage', + `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述', + `type` varchar(64) DEFAULT NULL COMMENT '配置的类型', + `c_schema` text COMMENT '配置的模式', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info'; + +/******************************************/ +/* 表名称 = config_info since 2.5.0 */ +/******************************************/ +CREATE TABLE `config_info_gray` ( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) DEFAULT NULL COMMENT 'md5', + `src_user` text COMMENT 'src_user', + `src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip', + `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create', + `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `gray_name` varchar(128) NOT NULL COMMENT 'gray_name', + `gray_rule` text NOT NULL COMMENT 'gray_rule', + `encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`), + KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`), + KEY `idx_gmt_modified` (`gmt_modified`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray'; + +/******************************************/ +/* 表名称 = config_info_beta */ +/******************************************/ +CREATE TABLE `config_info_beta` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta'; + +/******************************************/ +/* 表名称 = config_info_tag */ +/******************************************/ +CREATE TABLE `config_info_tag` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `tag_id` varchar(128) NOT NULL COMMENT 'tag_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag'; + +/******************************************/ +/* 表名称 = config_tags_relation */ +/******************************************/ +CREATE TABLE `config_tags_relation` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `tag_name` varchar(128) NOT NULL COMMENT 'tag_name', + `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识', + PRIMARY KEY (`nid`), + UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation'; + +/******************************************/ +/* 表名称 = group_capacity */ +/******************************************/ +CREATE TABLE `group_capacity` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', + `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', + `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', + `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值', + `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) 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`), + UNIQUE KEY `uk_group_id` (`group_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表'; + +/******************************************/ +/* 表名称 = his_config_info */ +/******************************************/ +CREATE TABLE `his_config_info` ( + `id` bigint(20) unsigned NOT NULL COMMENT 'id', + `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `op_type` char(10) DEFAULT NULL COMMENT 'operation type', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + `publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal', + `gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name', + `ext_info` longtext DEFAULT NULL COMMENT 'ext info', + PRIMARY KEY (`nid`), + KEY `idx_gmt_create` (`gmt_create`), + KEY `idx_gmt_modified` (`gmt_modified`), + KEY `idx_did` (`data_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造'; + + +/******************************************/ +/* 表名称 = tenant_capacity */ +/******************************************/ +CREATE TABLE `tenant_capacity` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', + `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', + `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', + `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数', + `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) 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`), + UNIQUE KEY `uk_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表'; + + +CREATE TABLE `tenant_info` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `kp` varchar(128) NOT NULL COMMENT 'kp', + `tenant_id` varchar(128) default '' COMMENT 'tenant_id', + `tenant_name` varchar(128) default '' COMMENT 'tenant_name', + `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', + `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', + `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', + `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; + +CREATE TABLE `users` ( + `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username', + `password` varchar(500) NOT NULL COMMENT 'password', + `enabled` boolean NOT NULL COMMENT 'enabled' +); + +CREATE TABLE `roles` ( + `username` varchar(50) NOT NULL COMMENT 'username', + `role` varchar(50) NOT NULL COMMENT 'role', + UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE +); + +CREATE TABLE `permissions` ( + `role` varchar(50) NOT NULL COMMENT 'role', + `resource` varchar(128) NOT NULL COMMENT 'resource', + `action` varchar(8) NOT NULL COMMENT 'action', + UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE +); + diff --git a/Config/nacos-2.5.0-cluster/shutdown.sh b/Config/nacos-2.5.0-cluster/shutdown.sh new file mode 100644 index 0000000..79d8216 --- /dev/null +++ b/Config/nacos-2.5.0-cluster/shutdown.sh @@ -0,0 +1 @@ +docker-compose -f docker-compose.yml -p nacos-cluster down \ No newline at end of file diff --git a/Config/nacos-2.5.0-standalone/demo.png b/Config/nacos-2.5.0-standalone/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..e276d0d5665b6bb96f6dc49bc8b09f37d50dd5b9 GIT binary patch literal 118680 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

?Uf``5L(W+?tB|s89aGtG_WlY;VlRCyk6a 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 z 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%0AEd&$WQNgQ?V#bW42KtRY$*%nKVHAu(|JjPHuRD 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 literal 0 HcmV?d00001 diff --git a/Config/nacos-2.5.0-standalone/docker-compose.yml b/Config/nacos-2.5.0-standalone/docker-compose.yml new file mode 100644 index 0000000..206191c --- /dev/null +++ b/Config/nacos-2.5.0-standalone/docker-compose.yml @@ -0,0 +1,58 @@ +version: '3.8' + +# 网桥 -> 方便相互通讯 +networks: + nacos: + ipam: + driver: default + config: + - subnet: "172.24.0.0/24" + +services: + mysql: + image: registry.cn-shanghai.aliyuncs.com/odboy/mysql:8.0 # 原镜像`mysql:8.0` + container_name: mysql8 # 容器名为'mysql8' + restart: unless-stopped + volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录 + - "./mysql/my.cnf:/etc/mysql/my.cnf" + - "./mysql/data:/var/lib/mysql" + # - "./mysql/conf.d:/etc/mysql/conf.d" + - "./mysql/mysql-files:/var/lib/mysql-files" + - "./scripts/mysql-schema.sql:/docker-entrypoint-initdb.d/mysql-schema.sql" + environment: + TZ: Asia/Shanghai + LANG: en_US.UTF-8 + MYSQL_ROOT_PASSWORD: root # 设置root用户密码 + MYSQL_DATABASE: nacos # 初始化的数据库名称 + privileged: true + user: root + ports: # 映射端口 + - "3308:3306" + networks: + nacos: + ipv4_address: 172.24.0.80 + nacos: + image: registry.cn-shanghai.aliyuncs.com/odboy/nacos-server:2.5.0 + container_name: nacos + restart: always + ports: + # web 界面访问端口 + - "8848:8848" + # 程序使用 grpc 连接的端口 + - "9848:9848" + environment: + - MODE=standalone + - PREFER_HOST_MODE=hostname + - MYSQL_SERVICE_HOST=mysql + - MYSQL_SERVICE_DB_NAME=nacos + - MYSQL_SERVICE_PORT=3306 + - MYSQL_SERVICE_USER=root + - MYSQL_SERVICE_PASSWORD=root + volumes: + - ./nacos/logs:/home/nacos/logs + - ./nacos/conf/application.properties:/home/nacos/conf/application.properties + depends_on: + - mysql + networks: + nacos: + ipv4_address: 172.24.0.81 \ No newline at end of file diff --git a/Config/nacos-2.5.0-standalone/install.sh b/Config/nacos-2.5.0-standalone/install.sh new file mode 100644 index 0000000..05b1237 --- /dev/null +++ b/Config/nacos-2.5.0-standalone/install.sh @@ -0,0 +1,3 @@ +#curl -O https://github.com/alibaba/nacos/blob/master/distribution/conf/mysql-schema.sql?spm=5238cd80.72a042d5.0.0.4bddcd36DjqTD6&file=mysql-schema.sql +#mv mysql-schema.sql ./scripts/ +docker-compose -f docker-compose.yml -p nacos up -d \ No newline at end of file diff --git a/Config/nacos-2.5.0-standalone/mysql/my.cnf b/Config/nacos-2.5.0-standalone/mysql/my.cnf new file mode 100644 index 0000000..1c92116 --- /dev/null +++ b/Config/nacos-2.5.0-standalone/mysql/my.cnf @@ -0,0 +1,19 @@ +# 服务端参数配置 +[mysqld] +user=mysql # MySQL启动用户 +default-storage-engine=INNODB # 创建新表时将使用的默认存储引擎 +character-set-server=utf8mb4 # 设置mysql服务端默认字符集 +collation-server=utf8mb4_general_ci # 数据库字符集对应一些排序等规则,注意要和character-set-server对应 +default-authentication-plugin=mysql_native_password + +max_connections=1000 # 允许最大连接数 +max_connect_errors=100 # 最大错误连接数 +sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION + + +[mysql] +default-character-set=utf8mb4 + + +[client] +default-character-set=utf8mb4 # 设置mysql客户端默认字符集 diff --git a/Config/nacos-2.5.0-standalone/nacos/conf/application.properties b/Config/nacos-2.5.0-standalone/nacos/conf/application.properties new file mode 100644 index 0000000..c3bbb92 --- /dev/null +++ b/Config/nacos-2.5.0-standalone/nacos/conf/application.properties @@ -0,0 +1,13 @@ +spring.sql.init.platform=mysql + +db.num=1 +db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/${MYSQL_SERVICE_DB_NAME}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true +db.user=${MYSQL_SERVICE_USER} +db.password=${MYSQL_SERVICE_PASSWORD} + +nacos.core.auth.enabled=true +nacos.core.auth.system.type=nacos +# encode by base64 +nacos.core.auth.plugin.nacos.token.secret.key=XllrJFJiV20qcCNDIzh2OGYkNiVxd1VWU3FjVjU2alVyNEBzN21CRyRubmQjTks3S2sySF5wUFBxJVEyI2hAa3ZINm1qRVNEejRXeW1YR0Q0 +nacos.core.auth.server.identity.key=nacosadmin +nacos.core.auth.server.identity.value=nacosadmin \ No newline at end of file diff --git a/Config/nacos-2.5.0-standalone/run.md b/Config/nacos-2.5.0-standalone/run.md new file mode 100644 index 0000000..2d55920 --- /dev/null +++ b/Config/nacos-2.5.0-standalone/run.md @@ -0,0 +1,18 @@ +# Nacos 注册中心 + +一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台 + +- https://nacos.io + +### 部署方式 + +```shell +sh install.sh +``` + +访问 http://192.168.235.104:8848/nacos + +### 示例 + +![demo](./demo.png) + diff --git a/Config/nacos-2.5.0-standalone/scripts/mysql-schema.sql b/Config/nacos-2.5.0-standalone/scripts/mysql-schema.sql new file mode 100644 index 0000000..1f4e154 --- /dev/null +++ b/Config/nacos-2.5.0-standalone/scripts/mysql-schema.sql @@ -0,0 +1,220 @@ +/* + * Copyright 1999-2018 Alibaba Group Holding Ltd. + * + * 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. + */ + +/******************************************/ +/* 表名称 = config_info */ +/******************************************/ +CREATE TABLE `config_info` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description', + `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage', + `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述', + `type` varchar(64) DEFAULT NULL COMMENT '配置的类型', + `c_schema` text COMMENT '配置的模式', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info'; + +/******************************************/ +/* 表名称 = config_info since 2.5.0 */ +/******************************************/ +CREATE TABLE `config_info_gray` ( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) DEFAULT NULL COMMENT 'md5', + `src_user` text COMMENT 'src_user', + `src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip', + `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create', + `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `gray_name` varchar(128) NOT NULL COMMENT 'gray_name', + `gray_rule` text NOT NULL COMMENT 'gray_rule', + `encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`), + KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`), + KEY `idx_gmt_modified` (`gmt_modified`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='config_info_gray'; + +/******************************************/ +/* 表名称 = config_info_beta */ +/******************************************/ +CREATE TABLE `config_info_beta` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta'; + +/******************************************/ +/* 表名称 = config_info_tag */ +/******************************************/ +CREATE TABLE `config_info_tag` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `tag_id` varchar(128) NOT NULL COMMENT 'tag_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag'; + +/******************************************/ +/* 表名称 = config_tags_relation */ +/******************************************/ +CREATE TABLE `config_tags_relation` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `tag_name` varchar(128) NOT NULL COMMENT 'tag_name', + `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', + `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识', + PRIMARY KEY (`nid`), + UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation'; + +/******************************************/ +/* 表名称 = group_capacity */ +/******************************************/ +CREATE TABLE `group_capacity` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', + `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', + `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', + `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值', + `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) 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`), + UNIQUE KEY `uk_group_id` (`group_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表'; + +/******************************************/ +/* 表名称 = his_config_info */ +/******************************************/ +CREATE TABLE `his_config_info` ( + `id` bigint(20) unsigned NOT NULL COMMENT 'id', + `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识', + `data_id` varchar(255) NOT NULL COMMENT 'data_id', + `group_id` varchar(128) NOT NULL COMMENT 'group_id', + `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', + `content` longtext NOT NULL COMMENT 'content', + `md5` varchar(32) 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 COMMENT 'source user', + `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', + `op_type` char(10) DEFAULT NULL COMMENT 'operation type', + `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', + `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', + `publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal', + `gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name', + `ext_info` longtext DEFAULT NULL COMMENT 'ext info', + PRIMARY KEY (`nid`), + KEY `idx_gmt_create` (`gmt_create`), + KEY `idx_gmt_modified` (`gmt_modified`), + KEY `idx_did` (`data_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造'; + + +/******************************************/ +/* 表名称 = tenant_capacity */ +/******************************************/ +CREATE TABLE `tenant_capacity` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', + `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', + `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', + `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', + `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数', + `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', + `max_history_count` int(10) 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`), + UNIQUE KEY `uk_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表'; + + +CREATE TABLE `tenant_info` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', + `kp` varchar(128) NOT NULL COMMENT 'kp', + `tenant_id` varchar(128) default '' COMMENT 'tenant_id', + `tenant_name` varchar(128) default '' COMMENT 'tenant_name', + `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', + `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', + `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', + `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info'; + +CREATE TABLE `users` ( + `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username', + `password` varchar(500) NOT NULL COMMENT 'password', + `enabled` boolean NOT NULL COMMENT 'enabled' +); + +CREATE TABLE `roles` ( + `username` varchar(50) NOT NULL COMMENT 'username', + `role` varchar(50) NOT NULL COMMENT 'role', + UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE +); + +CREATE TABLE `permissions` ( + `role` varchar(50) NOT NULL COMMENT 'role', + `resource` varchar(128) NOT NULL COMMENT 'resource', + `action` varchar(8) NOT NULL COMMENT 'action', + UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE +); + diff --git a/Config/nacos-2.5.0-standalone/shutdown.sh b/Config/nacos-2.5.0-standalone/shutdown.sh new file mode 100644 index 0000000..7069929 --- /dev/null +++ b/Config/nacos-2.5.0-standalone/shutdown.sh @@ -0,0 +1 @@ +docker-compose -f docker-compose.yml -p nacos down \ No newline at end of file