nacos适配达梦数据库

一、下载源码

        源码我直接下载gitee上nacos2.2.3的,具体链接:https://gitee.com/mirrors/Nacos/tree/2.2.3,具体如下图:

nacos适配达梦数据库_第1张图片

二、集成达梦数据库驱动

        解压源码包,用idea打开源码,等idea和maven编译完成,若是Jdk8的话,最好安装300以上的小版本。

nacos适配达梦数据库_第2张图片

        获取达梦数据库驱动,驱动包在安装目录的jdbc下,该驱动包是windows安装包里勾选了驱动,才会生成这些驱动。具体如下图所示:

nacos适配达梦数据库_第3张图片

nacos适配达梦数据库_第4张图片

nacos适配达梦数据库_第5张图片

        将驱动包复制到 nacos-config、nacos-naming 两个模块的resources/lib目录下,并添加依赖:


com.dameng
Dm8JdbcDriver18
1.8
system
${project.basedir}/src/main/resources/lib/DmJdbcDriver18.jar

nacos适配达梦数据库_第6张图片

三、修改启动配置

        修改nacos-console模块的application.properties,具体如下:

nacos适配达梦数据库_第7张图片

其中,url参数详见链接:DM JDBC 编程指南 | 达梦技术文档

nacos适配达梦数据库_第8张图片

四、达梦数据库初始化SQL

        在达梦数据库运行下面SQL:

-- 创建表空间
CREATE TABLESPACE  "NACOS" DATAFILE 'NACOS.DBF' SIZE 300 autoextend on maxsize 67108863 CACHE = NORMAL;
-- 创建用户
CREATE USER "NACOS" IDENTIFIED BY "NACOS*12345678" LIMIT PASSWORD_LOCK_TIME 1, PASSWORD_GRACE_TIME 10 DEFAULT TABLESPACE "NACOS";
-- 给用户授权
GRANT "RESOURCE","PUBLIC","DBA","VTI" TO "NACOS";

-- 创建nacos用到的的表
CREATE TABLE "NACOS"."CONFIG_INFO"
(
    "ID" BIGINT IDENTITY(1, 1) NOT NULL,
    "DATA_ID" VARCHAR(255) NOT NULL,
    "GROUP_ID" VARCHAR(255),
    "CONTENT" CLOB NOT NULL,
    "MD5" VARCHAR(32),
    "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "SRC_USER" TEXT,
    "SRC_IP" VARCHAR(50),
    "APP_NAME" VARCHAR(128),
    "TENANT_ID" VARCHAR(128) DEFAULT '',
    "C_DESC" VARCHAR(256),
    "C_USE" VARCHAR(64),
    "EFFECT" VARCHAR(64),
    "TYPE" VARCHAR(64),
    "C_SCHEMA" TEXT,
    "ENCRYPTED_DATA_KEY" TEXT NOT NULL,
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_CONFIGINFO_DATAGROUPTENANT" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID")) ;

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 '租户字段';


CREATE UNIQUE  INDEX "INDEX16097400477400" ON "NACOS"."CONFIG_INFO"("ID" ASC) ;

CREATE TABLE "NACOS"."CONFIG_INFO_AGGR"
(
    "ID" BIGINT IDENTITY(1, 1) NOT NULL,
    "DATA_ID" VARCHAR(255) NOT NULL,
    "GROUP_ID" VARCHAR(255) NOT NULL,
    "DATUM_ID" VARCHAR(255) NOT NULL,
    "CONTENT" CLOB NOT NULL,
    "GMT_MODIFIED" TIMESTAMP(0) NOT NULL,
    "APP_NAME" VARCHAR(128),
    "TENANT_ID" VARCHAR(128) DEFAULT '',
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID", "DATUM_ID")) ;

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 '租户字段';


CREATE UNIQUE  INDEX "INDEX16097305729100" ON "NACOS"."CONFIG_INFO_AGGR"("ID" ASC) ;

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),
    "CONTENT" CLOB NOT NULL,
    "BETA_IPS" VARCHAR(1024),
    "MD5" VARCHAR(32),
    "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "SRC_USER" TEXT,
    "SRC_IP" VARCHAR(50),
    "TENANT_ID" VARCHAR(128) DEFAULT '',
    "ENCRYPTED_DATA_KEY" TEXT NOT NULL,
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_CONFIGINFOBETA_DATAGROUPTENANT" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID")) ;

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 '租户字段';


CREATE UNIQUE  INDEX "INDEX16097203229000" ON "NACOS"."CONFIG_INFO_BETA"("ID" ASC) ;

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 '',
    "TAG_ID" VARCHAR(128) NOT NULL,
    "APP_NAME" VARCHAR(128),
    "CONTENT" CLOB NOT NULL,
    "MD5" VARCHAR(32),
    "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "SRC_USER" TEXT,
    "SRC_IP" VARCHAR(50),
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_CONFIGINFOTAG_DATAGROUPTENANTTAG" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID", "TAG_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';


CREATE UNIQUE  INDEX "INDEX16096985471400" ON "NACOS"."CONFIG_INFO_TAG"("ID" ASC) ;

CREATE TABLE "NACOS"."CONFIG_TAGS_RELATION"
(
    "ID" BIGINT NOT NULL,
    "TAG_NAME" VARCHAR(128) NOT NULL,
    "TAG_TYPE" VARCHAR(64),
    "DATA_ID" VARCHAR(255) NOT NULL,
    "GROUP_ID" VARCHAR(128) NOT NULL,
    "TENANT_ID" VARCHAR(128) DEFAULT '',
    "NID" BIGINT IDENTITY(1, 1) NOT NULL,
    NOT CLUSTER PRIMARY KEY("NID"),
    CONSTRAINT "UK_CONFIGTAGRELATION_CONFIGIDTAG" UNIQUE("ID", "TAG_NAME", "TAG_TYPE")) ;

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';


CREATE  INDEX "INDEX16096890650200" ON "NACOS"."CONFIG_TAGS_RELATION"("TENANT_ID" ASC) ;
CREATE UNIQUE  INDEX "INDEX16096909541100" ON "NACOS"."CONFIG_TAGS_RELATION"("NID" ASC) ;

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,
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_GROUP_ID" UNIQUE("GROUP_ID"),
    CHECK("QUOTA" >= 0)
    ,CHECK("USAGE" >= 0)
    ,CHECK("MAX_SIZE" >= 0)
    ,CHECK("MAX_AGGR_COUNT" >= 0)
    ,CHECK("MAX_AGGR_SIZE" >= 0)
    ,CHECK("MAX_HISTORY_COUNT" >= 0)) ;

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 '修改时间';


CREATE UNIQUE  INDEX "INDEX16096746763900" ON "NACOS"."GROUP_CAPACITY"("ID" ASC) ;

CREATE TABLE "NACOS"."HIS_CONFIG_INFO"
(
    "ID" BIGINT 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),
    "CONTENT" CLOB NOT NULL,
    "MD5" VARCHAR(32),
    "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    "SRC_USER" TEXT,
    "SRC_IP" VARCHAR(50),
    "OP_TYPE" CHAR(10),
    "TENANT_ID" VARCHAR(128) DEFAULT '',
    "ENCRYPTED_DATA_KEY" TEXT NOT NULL,
    NOT CLUSTER PRIMARY KEY("NID")) ;

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 '租户字段';


CREATE  INDEX "IDX_GMT_CREATE" ON "NACOS"."HIS_CONFIG_INFO"("GMT_CREATE" ASC) ;
CREATE  INDEX "IDX_DID" ON "NACOS"."HIS_CONFIG_INFO"("DATA_ID" ASC) ;
CREATE  INDEX "IDX_GMT_MODIFIED" ON "NACOS"."HIS_CONFIG_INFO"("GMT_MODIFIED" ASC) ;
CREATE UNIQUE  INDEX "INDEX16096449256900" ON "NACOS"."HIS_CONFIG_INFO"("NID" ASC) ;

CREATE TABLE "NACOS"."PERMISSIONS"
(
    "ROLE" VARCHAR(50) NOT NULL,
    "RESOURCE" VARCHAR(255) NOT NULL,
    "ACTION" VARCHAR(8) NOT NULL,
    CONSTRAINT "UK_ROLE_PERMISSION" UNIQUE("ROLE", "RESOURCE", "ACTION")) ;

CREATE TABLE "NACOS"."ROLES"
(
    "USERNAME" VARCHAR(50) NOT NULL,
    "ROLE" VARCHAR(50) NOT NULL,
    CONSTRAINT "IDX_USER_ROLE" UNIQUE("USERNAME", "ROLE")) ;

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,
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_TENANT_ID" UNIQUE("TENANT_ID"),
    CHECK("QUOTA" >= 0)
    ,CHECK("USAGE" >= 0)
    ,CHECK("MAX_SIZE" >= 0)
    ,CHECK("MAX_AGGR_COUNT" >= 0)
    ,CHECK("MAX_AGGR_SIZE" >= 0)
    ,CHECK("MAX_HISTORY_COUNT" >= 0)) ;

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 '修改时间';


CREATE UNIQUE  INDEX "INDEX16096046055000" ON "NACOS"."TENANT_CAPACITY"("ID" ASC) ;

CREATE TABLE "NACOS"."TENANT_INFO"
(
    "ID" BIGINT IDENTITY(1, 1) NOT NULL,
    "KP" VARCHAR(128) NOT NULL,
    "TENANT_ID" VARCHAR(128) DEFAULT '',
    "TENANT_NAME" VARCHAR(128) DEFAULT '',
    "TENANT_DESC" VARCHAR(256),
    "CREATE_SOURCE" VARCHAR(32),
    "GMT_CREATE" BIGINT NOT NULL,
    "GMT_MODIFIED" BIGINT NOT NULL,
    NOT CLUSTER PRIMARY KEY("ID"),
    CONSTRAINT "UK_TENANT_INFO_KPTENANTID" UNIQUE("KP", "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 '修改时间';


CREATE  INDEX "IDX_TENANT_ID" ON "NACOS"."TENANT_INFO"("TENANT_ID" ASC) ;
CREATE UNIQUE  INDEX "INDEX16095846853300" ON "NACOS"."TENANT_INFO"("ID" ASC) ;

CREATE TABLE "NACOS"."USERS"
(
    "USERNAME" VARCHAR(50) NOT NULL,
    "PASSWORD" VARCHAR(500) NOT NULL,
    "ENABLED" TINYINT NOT NULL,
    NOT CLUSTER PRIMARY KEY("USERNAME")) ;
CREATE UNIQUE  INDEX "PRIMARY" ON "NACOS"."USERS"("USERNAME" ASC) ;
INSERT INTO nacos.users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
INSERT INTO nacos.roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
commit;

        这些sql可以放到distribution\conf\dm-schema.sql中,后续打包能看到该sql,如图:

nacos适配达梦数据库_第9张图片

五、新增达梦数据库Mapper文件

        将nacos-datasource-plugin里的mysql的mapper文件复制到新的dm文件夹下改名,并修改将相应的常量和配置,具体如下:

nacos适配达梦数据库_第10张图片

nacos适配达梦数据库_第11张图片

nacos适配达梦数据库_第12张图片

六、启动Nacos

        找到 com.alibaba.nacos.Nacos类,启动即可,或者加入 -Dnacos.standalone=true 参数单机启动,集群启动需要在 用户文件夹下的 nacos/conf 下放置 cluster.conf 文件。

nacos适配达梦数据库_第13张图片

nacos适配达梦数据库_第14张图片

nacos适配达梦数据库_第15张图片

nacos适配达梦数据库_第16张图片

        另外注意nacos的url一定不能写错,否则报:Caused by: java.lang.IllegalStateException: No DataSource set

nacos适配达梦数据库_第17张图片

七、打包并运行Nacos

        配置环境变量,MAVEN_HOME和JAVA_HOME,以及在Path中添加bin路径。具体如下:

nacos适配达梦数据库_第18张图片

nacos适配达梦数据库_第19张图片

        接着到nacos项目路径下运行:

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

或者:mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  -Dcheckstyle.skip

nacos适配达梦数据库_第20张图片

成功后,nacos包会在 Nacos-2.2.3\distribution\target 目录下:

nacos适配达梦数据库_第21张图片

        将新打包的nacos-server-2.2.3.zip复制解压,如下图:

nacos适配达梦数据库_第22张图片

        到nacos/conf目录下修改 application.properties,具体参考源码的配置文件。

        在nacos/bin目录下cmd运行:startup.cmd -m standalone。

nacos适配达梦数据库_第23张图片

你可能感兴趣的:(微服务,nacos,达梦数据库,适配,信创)