<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      nacos適配達夢數據庫

      點擊這里直接看作者開源的成品
      遇到問題可在評論區給我留言
      加微信:pky86676022 有償提供技術支持(請說明來意)
      從2.2.0版本開始,nacos可通過SPI機制注入多數據源實現插件,并在引入對應數據源實現后,便可在Nacos啟動時通過讀取application.properties配置文件中spring.datasource.platform配置項選擇加載對應多數據源插件。
      下面我來演示通過多數據源插件實現nacos適配達夢數據庫

      一、準備工作

      首先要下載nacos源碼,nacos-plugin源碼,還要準備好達夢數據庫環境。
      這里我采用nacos2.3.2的源碼,下載路徑https://github.com/alibaba/nacos/archive/refs/tags/2.3.2.zip
      nacos插件源碼,下載路徑https://github.com/pkyit/nacos-plugin/archive/refs/heads/develop.zip
      將下載的2個壓縮包解壓縮并用idea打開:
      image.png

      在達夢數據庫中新建一個名叫NACOS的數據庫,然后在NACOS數據庫下創建如下表:(注意最后有個commit提交事務)

      CREATE TABLE "NACOS"."USERS"
      (
          "USERNAME" VARCHAR(50)  NOT NULL,
          "PASSWORD" VARCHAR(500) NOT NULL,
          "ENABLED"  TINYINT      NOT NULL
      );
      CREATE TABLE "NACOS"."TENANT_INFO"
      (
          "ID"            BIGINT IDENTITY(1,1) NOT NULL,
          "KP"            VARCHAR(128) NOT NULL,
          "TENANT_ID"     VARCHAR(128) DEFAULT ''
              NULL,
          "TENANT_NAME"   VARCHAR(128) DEFAULT ''
              NULL,
          "TENANT_DESC"   VARCHAR(256) NULL,
          "CREATE_SOURCE" VARCHAR(32) NULL,
          "GMT_CREATE"    BIGINT       NOT NULL,
          "GMT_MODIFIED"  BIGINT       NOT NULL
      );
      CREATE TABLE "NACOS"."TENANT_CAPACITY"
      (
          "ID"                BIGINT IDENTITY(1,1) NOT NULL,
          "TENANT_ID"         VARCHAR(128) DEFAULT ''
              NOT NULL,
          "QUOTA"             BIGINT       DEFAULT 0
              NOT NULL,
          "USAGE"             BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_SIZE"          BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_AGGR_COUNT"    BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_AGGR_SIZE"     BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_HISTORY_COUNT" BIGINT       DEFAULT 0
              NOT NULL,
          "GMT_CREATE"        TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
              NOT NULL,
          "GMT_MODIFIED"      TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
              NOT NULL
      );
      CREATE TABLE "NACOS"."ROLES"
      (
          "USERNAME" VARCHAR(50) NOT NULL,
          "ROLE"     VARCHAR(50) NOT NULL
      );
      CREATE TABLE "NACOS"."PERMISSIONS"
      (
          "ROLE"     VARCHAR(50)  NOT NULL,
          "RESOURCE" VARCHAR(255) NOT NULL,
          "ACTION"   VARCHAR(8)   NOT NULL
      );
      CREATE TABLE "NACOS"."HIS_CONFIG_INFO"
      (
          "ID"                 DECIMAL(20, 0) NOT NULL,
          "NID"                BIGINT IDENTITY(1,1) NOT NULL,
          "DATA_ID"            VARCHAR(255)   NOT NULL,
          "GROUP_ID"           VARCHAR(128)   NOT NULL,
          "APP_NAME"           VARCHAR(128) NULL,
          "CONTENT"            CLOB           NOT NULL,
          "MD5"                VARCHAR(32) NULL,
          "GMT_CREATE"         TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                              NOT NULL,
          "GMT_MODIFIED"       TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                              NOT NULL,
          "SRC_USER"           TEXT NULL,
          "SRC_IP"             VARCHAR(50) NULL,
          "OP_TYPE"            CHAR(10) NULL,
          "TENANT_ID"          VARCHAR(128) DEFAULT ''
              NULL,
          "ENCRYPTED_DATA_KEY" TEXT           NOT NULL
      );
      CREATE TABLE "NACOS"."GROUP_CAPACITY"
      (
          "ID"                BIGINT IDENTITY(1,1) NOT NULL,
          "GROUP_ID"          VARCHAR(128) DEFAULT ''
              NOT NULL,
          "QUOTA"             BIGINT       DEFAULT 0
              NOT NULL,
          "USAGE"             BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_SIZE"          BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_AGGR_COUNT"    BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_AGGR_SIZE"     BIGINT       DEFAULT 0
              NOT NULL,
          "MAX_HISTORY_COUNT" BIGINT       DEFAULT 0
              NOT NULL,
          "GMT_CREATE"        TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
              NOT NULL,
          "GMT_MODIFIED"      TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
              NOT NULL
      );
      CREATE TABLE "NACOS"."CONFIG_TAGS_RELATION"
      (
          "ID"        BIGINT       NOT NULL,
          "TAG_NAME"  VARCHAR(128) NOT NULL,
          "TAG_TYPE"  VARCHAR(64) NULL,
          "DATA_ID"   VARCHAR(255) NOT NULL,
          "GROUP_ID"  VARCHAR(128) NOT NULL,
          "TENANT_ID" VARCHAR(128) DEFAULT ''
              NULL,
          "NID"       BIGINT IDENTITY(1,1) NOT NULL
      );
      CREATE TABLE "NACOS"."CONFIG_INFO_TAG"
      (
          "ID"           BIGINT IDENTITY(1,1) NOT NULL,
          "DATA_ID"      VARCHAR(255) NOT NULL,
          "GROUP_ID"     VARCHAR(128) NOT NULL,
          "TENANT_ID"    VARCHAR(128) DEFAULT ''
              NULL,
          "TAG_ID"       VARCHAR(128) NOT NULL,
          "APP_NAME"     VARCHAR(128) NULL,
          "CONTENT"      CLOB         NOT NULL,
          "MD5"          VARCHAR(32) NULL,
          "GMT_CREATE"   TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                      NOT NULL,
          "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                      NOT NULL,
          "SRC_USER"     TEXT NULL,
          "SRC_IP"       VARCHAR(50) NULL
      );
      CREATE TABLE "NACOS"."CONFIG_INFO_BETA"
      (
          "ID"                 BIGINT IDENTITY(1,1) NOT NULL,
          "DATA_ID"            VARCHAR(255) NOT NULL,
          "GROUP_ID"           VARCHAR(128) NOT NULL,
          "APP_NAME"           VARCHAR(128) NULL,
          "CONTENT"            CLOB         NOT NULL,
          "BETA_IPS"           VARCHAR(1024) NULL,
          "MD5"                VARCHAR(32) NULL,
          "GMT_CREATE"         TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                            NOT NULL,
          "GMT_MODIFIED"       TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                            NOT NULL,
          "SRC_USER"           TEXT NULL,
          "SRC_IP"             VARCHAR(50) NULL,
          "TENANT_ID"          VARCHAR(128) DEFAULT ''
              NULL,
          "ENCRYPTED_DATA_KEY" TEXT         NOT NULL
      );
      CREATE TABLE "NACOS"."CONFIG_INFO_AGGR"
      (
          "ID"           BIGINT IDENTITY(1,1) NOT NULL,
          "DATA_ID"      VARCHAR(255) NOT NULL,
          "GROUP_ID"     VARCHAR(128) NOT NULL,
          "DATUM_ID"     VARCHAR(255) NOT NULL,
          "CONTENT"      CLOB         NOT NULL,
          "GMT_MODIFIED" TIMESTAMP(0) NOT NULL,
          "APP_NAME"     VARCHAR(128) NULL,
          "TENANT_ID"    VARCHAR(128) DEFAULT ''
              NULL
      );
      CREATE TABLE "NACOS"."CONFIG_INFO"
      (
          "ID"                 BIGINT IDENTITY(1,1) NOT NULL,
          "DATA_ID"            VARCHAR(255) NOT NULL,
          "GROUP_ID"           VARCHAR(128) NULL,
          "CONTENT"            CLOB         NOT NULL,
          "MD5"                VARCHAR(32) NULL,
          "GMT_CREATE"         TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                            NOT NULL,
          "GMT_MODIFIED"       TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
                                            NOT NULL,
          "SRC_USER"           TEXT NULL,
          "SRC_IP"             VARCHAR(50) NULL,
          "APP_NAME"           VARCHAR(128) NULL,
          "TENANT_ID"          VARCHAR(128) DEFAULT ''
              NULL,
          "C_DESC"             VARCHAR(256) NULL,
          "C_USE"              VARCHAR(64) NULL,
          "EFFECT"             VARCHAR(64) NULL,
          "TYPE"               VARCHAR(64) NULL,
          "C_SCHEMA"           TEXT NULL,
          "ENCRYPTED_DATA_KEY" TEXT         NOT NULL
      );
      ALTER TABLE "NACOS"."USERS"
          ADD CONSTRAINT PRIMARY KEY ("USERNAME");
      
      ALTER TABLE "NACOS"."TENANT_INFO"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."TENANT_INFO"
          ADD CONSTRAINT "UK_TENANT_INFO_KPTENANTID" UNIQUE ("KP", "TENANT_ID");
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CONSTRAINT "UK_TENANT_ID" UNIQUE ("TENANT_ID");
      
      ALTER TABLE "NACOS"."ROLES"
          ADD CONSTRAINT "IDX_USER_ROLE" UNIQUE ("USERNAME", "ROLE");
      
      ALTER TABLE "NACOS"."PERMISSIONS"
          ADD CONSTRAINT "UK_ROLE_PERMISSION" UNIQUE ("ROLE", "RESOURCE", "ACTION");
      
      ALTER TABLE "NACOS"."HIS_CONFIG_INFO"
          ADD CONSTRAINT PRIMARY KEY ("NID");
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CONSTRAINT "UK_GROUP_ID" UNIQUE ("GROUP_ID");
      
      ALTER TABLE "NACOS"."CONFIG_TAGS_RELATION"
          ADD CONSTRAINT PRIMARY KEY ("NID");
      
      ALTER TABLE "NACOS"."CONFIG_TAGS_RELATION"
          ADD CONSTRAINT "UK_CONFIGTAGRELATION_CONFIGIDTAG" UNIQUE ("ID", "TAG_NAME", "TAG_TYPE");
      
      ALTER TABLE "NACOS"."CONFIG_INFO_TAG"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO_TAG"
          ADD CONSTRAINT "UK_CONFIGINFOTAG_DATAGROUPTENANTTAG" UNIQUE ("DATA_ID", "GROUP_ID", "TENANT_ID", "TAG_ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO_BETA"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO_BETA"
          ADD CONSTRAINT "UK_CONFIGINFOBETA_DATAGROUPTENANT" UNIQUE ("DATA_ID", "GROUP_ID", "TENANT_ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO_AGGR"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO_AGGR"
          ADD CONSTRAINT "UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM" UNIQUE ("DATA_ID", "GROUP_ID", "TENANT_ID", "DATUM_ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO"
          ADD CONSTRAINT PRIMARY KEY ("ID");
      
      ALTER TABLE "NACOS"."CONFIG_INFO"
          ADD CONSTRAINT "UK_CONFIGINFO_DATAGROUPTENANT" UNIQUE ("DATA_ID", "GROUP_ID", "TENANT_ID");
      
      CREATE INDEX "IDX_TENANT_ID"
          ON "NACOS"."TENANT_INFO" ("TENANT_ID");
      
      COMMENT
      ON TABLE "NACOS"."TENANT_INFO" IS 'tenant_info';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."ID" IS 'id';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."KP" IS 'kp';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."TENANT_ID" IS 'tenant_id';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."TENANT_NAME" IS 'tenant_name';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."TENANT_DESC" IS 'tenant_desc';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."CREATE_SOURCE" IS 'create_source';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."GMT_CREATE" IS '創建時間';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_INFO"."GMT_MODIFIED" IS '修改時間';
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CHECK ("QUOTA" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CHECK ("MAX_HISTORY_COUNT" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CHECK ("MAX_AGGR_SIZE" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CHECK ("MAX_AGGR_COUNT" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CHECK ("MAX_SIZE" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."TENANT_CAPACITY"
          ADD CHECK ("USAGE" >= 0) ENABLE;
      
      COMMENT
      ON TABLE "NACOS"."TENANT_CAPACITY" IS '租戶容量信息表';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."ID" IS '主鍵ID';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."TENANT_ID" IS 'Tenant ID';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."QUOTA" IS '配額,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."USAGE" IS '使用量';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_SIZE" IS '單個配置大小上限,單位為字節,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大個數';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_SIZE" IS '單個聚合數據的子配置大小上限,單位為字節,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_HISTORY_COUNT" IS '最大變更歷史數量';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_CREATE" IS '創建時間';
      
      COMMENT
      ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_MODIFIED" IS '修改時間';
      
      ALTER TABLE "NACOS"."HIS_CONFIG_INFO"
          ADD CHECK ("ID" >= 0) ENABLE;
      
      CREATE INDEX "IDX_GMT_MODIFIED"
          ON "NACOS"."HIS_CONFIG_INFO" ("GMT_MODIFIED");
      
      CREATE INDEX "IDX_GMT_CREATE"
          ON "NACOS"."HIS_CONFIG_INFO" ("GMT_CREATE");
      
      CREATE INDEX "IDX_DID"
          ON "NACOS"."HIS_CONFIG_INFO" ("DATA_ID");
      
      COMMENT
      ON TABLE "NACOS"."HIS_CONFIG_INFO" IS '多租戶改造';
      
      COMMENT
      ON COLUMN "NACOS"."HIS_CONFIG_INFO"."APP_NAME" IS 'app_name';
      
      COMMENT
      ON COLUMN "NACOS"."HIS_CONFIG_INFO"."TENANT_ID" IS '租戶字段';
      
      COMMENT
      ON COLUMN "NACOS"."HIS_CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密鑰';
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CHECK ("QUOTA" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CHECK ("MAX_HISTORY_COUNT" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CHECK ("MAX_AGGR_SIZE" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CHECK ("MAX_AGGR_COUNT" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CHECK ("MAX_SIZE" >= 0) ENABLE;
      
      ALTER TABLE "NACOS"."GROUP_CAPACITY"
          ADD CHECK ("USAGE" >= 0) ENABLE;
      
      COMMENT
      ON TABLE "NACOS"."GROUP_CAPACITY" IS '集群、各Group容量信息表';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."ID" IS '主鍵ID';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."GROUP_ID" IS 'Group ID,空字符表示整個集群';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."QUOTA" IS '配額,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."USAGE" IS '使用量';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_SIZE" IS '單個配置大小上限,單位為字節,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大個數,,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_SIZE" IS '單個聚合數據的子配置大小上限,單位為字節,0表示使用默認值';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_HISTORY_COUNT" IS '最大變更歷史數量';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_CREATE" IS '創建時間';
      
      COMMENT
      ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_MODIFIED" IS '修改時間';
      
      COMMENT
      ON TABLE "NACOS"."CONFIG_TAGS_RELATION" IS 'config_tag_relation';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."ID" IS 'id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_NAME" IS 'tag_name';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_TYPE" IS 'tag_type';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."DATA_ID" IS 'data_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."GROUP_ID" IS 'group_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TENANT_ID" IS 'tenant_id';
      
      COMMENT
      ON TABLE "NACOS"."CONFIG_INFO_TAG" IS 'config_info_tag';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."ID" IS 'id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."DATA_ID" IS 'data_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GROUP_ID" IS 'group_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TENANT_ID" IS 'tenant_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TAG_ID" IS 'tag_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."APP_NAME" IS 'app_name';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."CONTENT" IS 'content';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."MD5" IS 'md5';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_CREATE" IS '創建時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_MODIFIED" IS '修改時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_USER" IS 'source user';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_IP" IS 'source ip';
      
      COMMENT
      ON TABLE "NACOS"."CONFIG_INFO_BETA" IS 'config_info_beta';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ID" IS 'id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."DATA_ID" IS 'data_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GROUP_ID" IS 'group_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."APP_NAME" IS 'app_name';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."CONTENT" IS 'content';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."BETA_IPS" IS 'betaIps';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."MD5" IS 'md5';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_CREATE" IS '創建時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_MODIFIED" IS '修改時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_USER" IS 'source user';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_IP" IS 'source ip';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."TENANT_ID" IS '租戶字段';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ENCRYPTED_DATA_KEY" IS '密鑰';
      
      COMMENT
      ON TABLE "NACOS"."CONFIG_INFO_AGGR" IS '增加租戶字段';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."ID" IS 'id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATA_ID" IS 'data_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GROUP_ID" IS 'group_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATUM_ID" IS 'datum_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."CONTENT" IS '內容';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GMT_MODIFIED" IS '修改時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."TENANT_ID" IS '租戶字段';
      
      COMMENT
      ON TABLE "NACOS"."CONFIG_INFO" IS 'config_info';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."ID" IS 'id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."DATA_ID" IS 'data_id';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."CONTENT" IS 'content';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."MD5" IS 'md5';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."GMT_CREATE" IS '創建時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."GMT_MODIFIED" IS '修改時間';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."SRC_USER" IS 'source user';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."SRC_IP" IS 'source ip';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."TENANT_ID" IS '租戶字段';
      
      COMMENT
      ON COLUMN "NACOS"."CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密鑰';
      
      
      
      INSERT INTO "NACOS"."USERS"("USERNAME", "PASSWORD", "ENABLED")
      VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);
      
      INSERT INTO "NACOS"."ROLES"("USERNAME", "ROLE")
      VALUES ('nacos', 'ROLE_ADMIN');
      
      commit; 
      
      

      image.png

      二、實現步驟

      2.1 nacos源碼中引入達夢8數據庫的驅動包

      建議使用達夢數據庫自帶的驅動,達夢數據庫安裝目錄下drivers/jdbc下的驅動,否則可能會出現驅動版本不兼容的問題 (讀取超長CLOB,TEXT)
      在naming模塊和console模塊的resources目錄下新建lib目錄,把DmJdbcDriver18.jar包拷貝進去,自行找一個合適的驅動jar包。
      分別在naming模塊和console模塊的pom.xml下新增依賴項:

        <dependency>
                  <groupId>com.dameng</groupId>
                  <artifactId>DmJdbcDriver18</artifactId>
                  <version>8.1.3.140</version>
              </dependency>
      

      image.png

      2.2 修改nacos源碼

      (1).把下載的nacos-plugin-develop中的nacos-datasource-plugin-ext模塊下的nacos-datasource-plugin-ext-base中的源碼依次拷貝進入nacos-2.3.2中的datasource模塊下,注意路徑。如圖所示:
      image.png
      (2).把下載的nacos-plugin-develop中的nacos-datasource-plugin-ext模塊下的nacos-dm-datasource-plugin-ext中的源碼依次拷貝進入nacos-2.3.2中的datasource模塊下,注意路徑。
      注意不要拷貝src/main/resources/META-INF/services/com.alibaba.nacos.plugin.datasource.mapper.Mapper這個文件,防止覆蓋,等下我們要自己新增一些內容。
      image.png
      (3).修改nacos-2.3.2\plugin\datasource\src\main\resources\META-INF\services\com.alibaba.nacos.plugin.datasource.mapper.Mapper的這個文件,在最下面新增如下:

      com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoAggrMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoBetaMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoTagMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.ConfigTagsRelationMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.HistoryConfigInfoMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.TenantInfoMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.TenantCapacityMapperByDaMeng
      com.alibaba.nacos.plugin.datasource.impl.dm.GroupCapacityMapperByDaMeng
      

      image.png

      2.3 編譯打包

      在終端打開nacos-2.3.2,運行如下命令:

      mvn -Prelease-nacos -Dmaven.test.skip=true -Dpmd.skip=true -Drat.skip=true -Dcheckstyle.skip=true clean install -U
      

      image.png
      如果構建成功,則在distribution模塊下有生成的nacos包:
      image.png

      三、運行驗證

      把nacos-server-2.3.2.zip取出解壓縮,修改conf目錄下的application.properties配置文件:

      ### Default web context path:
      server.servlet.contextPath=/nacos
      ### Include message field
      server.error.include-message=ALWAYS
      ### Default web server port:
      server.port=8848
      
      ### Count of DB:
      db.num=1
      
      ### Connect URL of DB:
      spring.sql.init.platform=dm
      db.url.0=jdbc:dm://10.10.10.104:5236?schema=NACOS
      db.user.0=SYSDBA
      db.password.0=SYSDBA001
      db.pool.config.driverClassName=dm.jdbc.driver.DmDriver
      
      ### Connection pool configuration: hikariCP
      db.pool.config.connectionTimeout=30000
      db.pool.config.validationTimeout=10000
      db.pool.config.maximumPoolSize=20
      db.pool.config.minimumIdle=2
      
      ### the maximum retry times for push
      nacos.config.push.maxRetryTime=50
      
      #***********Metrics for tomcat **************************#
      server.tomcat.mbeanregistry.enabled=true
      
      #***********Expose prometheus and health **************************#
      #management.endpoints.web.exposure.include=prometheus,health
      
      ### Metrics for elastic search
      management.metrics.export.elastic.enabled=false
      #management.metrics.export.elastic.host=http://localhost:9200
      
      ### Metrics for influx
      management.metrics.export.influx.enabled=false
      
      #*************** Access Log Related Configurations ***************#
      ### If turn on the access log:
      server.tomcat.accesslog.enabled=true
      
      ### file name pattern, one file per hour
      server.tomcat.accesslog.rotate=true
      server.tomcat.accesslog.file-date-format=.yyyy-MM-dd-HH
      ### The access log pattern:
      server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
      
      ### The directory of access log:
      server.tomcat.basedir=file:.
      
      #*************** Access Control Related Configurations ***************#
      ### If enable spring security, this option is deprecated in 1.2.0:
      #spring.security.enabled=false
      
      ### The ignore urls of auth
      nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
      
      ### The auth system to use, currently only 'nacos' and 'ldap' is supported:
      nacos.core.auth.system.type=nacos
      
      ### If turn on auth system:
      nacos.core.auth.enabled=true
      
      ### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
      nacos.core.auth.caching.enabled=true
      
      ### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version.
      nacos.core.auth.enable.userAgentAuthWhite=false
      
      ### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
      ### The two properties is the white list for auth and used by identity the request from other server.
      nacos.core.auth.server.identity.key=nacos
      nacos.core.auth.server.identity.value=nacos
      
      ### worked when nacos.core.auth.system.type=nacos
      ### The token expiration in seconds:
      nacos.core.auth.plugin.nacos.token.cache.enable=false
      nacos.core.auth.plugin.nacos.token.expire.seconds=18000
      ### The default token (Base64 String):
      nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
      
      nacos.istio.mcp.server.enabled=false
      
      

      具體的配置規則參考官網:https://nacos.io/docs/latest/concepts/
      在bin目錄下運行cmd,輸入startup.cmd -m standalone
      image.png
      訪問localhost:8848/nacos
      image.png
      新增一些配置文件,在達夢數據庫的NACOS.CONFIG——INFO表中看到如下:
      cde742cc4d11289dc8a05d3507fcc3d1.png
      也可以創建一個簡單的spring cloud的demo來實驗注冊中心和配置中心:
      5d757ccb560d5772d2c1c3f37a7f768a.png
      673bff880e08592bdf002969839b2990.png
      如上圖,springcloud-demo已經成功注冊到nacos,并且能讀出nacos中的配置文件的值,說明此達夢數據庫版nacos可用。
      至此nacos適配達夢數據庫成功!

      四、福利(直接看這里可以拿到已經做好的成品)

      2025-7-12 新版本的nacos2.4.3達夢版在這里: https://gitee.com/pengkaiyan/nacos-dm

      我這里已經把弄好的源碼發布在了github上,需要的話可以下載直接運行mvn編譯就好了
      https://github.com/pkyit/nacos-2.3.2
      點擊這里下載源碼和nacos達夢版壓縮包
      如果不想編譯也可以直接用我已經構建好的nacos,解壓縮就可以使用了。
      點擊這里免費下載達夢版nacos-2.3.2.tar.gz
      https://github.com/pkyit/nacos-2.3.2/releases/download/v2.3.2/nacos-server-2.3.2.tar.gz
      docker版的也有哦,請看這里(arm64和amd64) 點這里看docker的nacos-dm8
      docker pull pkyit/nacos:2.3.2-dm8
      參考:https://github.com/nacos-group/nacos-plugin
      參考:https://github.com/alibaba/nacos
      參考:https://nacos.io/
      參考:https://blog.csdn.net/zhuyangyong/article/details/136215650
      參考:https://blog.csdn.net/weixin_45726578/article/details/129835862
      如果我的文章對您有幫助,還請您多多支持我。支付寶幫忙掃一下吧
      在這里插入圖片描述

      posted on 2025-07-28 10:47  彭狗頭  閱讀(484)  評論(1)    收藏  舉報

      主站蜘蛛池模板: 日韩精品亚洲精品第一页| 亚洲日本韩国欧美云霸高清| 国产视频一区二区三区四区视频| 真实国产熟睡乱子伦视频| 国产超碰无码最新上传| 国产大片黄在线观看| 亚洲av永久无码精品水牛影视| 亚洲av伦理一区二区| 夜夜爱夜鲁夜鲁很鲁| 久久久久国产精品人妻电影| 国产极品精品自在线不卡| 日本精品aⅴ一区二区三区| 日本中文字幕有码在线视频| 国产精品成人无码久久久| 欧美一区二区三区激情| 国内精品久久久久影院蜜芽| 福利一区二区不卡国产| 激情啪啪啪一区二区三区| 伊人精品久久久大香线蕉| 40岁大乳的熟妇在线观看| 麻豆精品一区二正一三区| 高清在线一区二区三区视频 | 亚洲精品宾馆在线精品酒店| 青草精品国产福利在线视频| 国产999精品2卡3卡4卡| 国产国产午夜福利视频| 最新的国产成人精品2022| 无码一区二区三区中文字幕| 国产国拍精品av在线观看| 亚洲精品中文字幕一二三| 人人妻人人澡人人爽人人精品av| 国产精品综合av一区二区| 熟女系列丰满熟妇AV| 扒开双腿猛进入喷水高潮叫声| 国产欧美日韩精品a在线观看| 亚洲精品一区二区美女| 免费99视频| 亚洲红杏AV无码专区首页| 欧美色丁香| 久女女热精品视频在线观看| 国产不卡免费一区二区|