1.获取Nacos源码,下载源码可以查看官网。这里用Nacos2.2.3举例
2.在父pom.xml添加dm8依赖

<dameng.version>8.1.3.12</dameng.version>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>${derby.version}</version>
</dependency>
- 在nacos-config项目的pom文件中添加

<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
</dependency>
- 变更ExternalDataSourceProperties类


# 在ExternalDataSourceProperties类中添加jdbcDriverName属性
private String jdbcDriverName;
public String getJdbcDriverName() {
return jdbcDriverName;
}
public void setJdbcDriverName(String jdbcDriverName) {
this.jdbcDriverName = jdbcDriverName;
}
# 修改ExternalDataSourceProperties类中的build方法
List<HikariDataSource> build(Environment environment, Callback<HikariDataSource> callback) {
List<HikariDataSource> dataSources = new ArrayList<>();
Binder.get(environment).bind("db", Bindable.ofInstance(this));
Preconditions.checkArgument(Objects.nonNull(num), "db.num is null");
Preconditions.checkArgument(CollectionUtils.isNotEmpty(user), "db.user or db.user.[index] is null");
Preconditions.checkArgument(CollectionUtils.isNotEmpty(password), "db.password or db.password.[index] is null");
for (int index = 0; index < num; index++) {
int currentSize = index + 1;
Preconditions.checkArgument(url.size() >= currentSize, "db.url.%s is null", index);
DataSourcePoolProperties poolProperties = DataSourcePoolProperties.build(environment);
if (StringUtils.isEmpty(poolProperties.getDataSource().getDriverClassName())) {
if (StringUtils.isNotEmpty(jdbcDriverName)) {
// 增加其他数据库驱动的支持
poolProperties.setDriverClassName(jdbcDriverName);
} else {
//默认使用mysql驱动
poolProperties.setDriverClassName(JDBC_DRIVER_NAME);
}
}
poolProperties.setJdbcUrl(url.get(index).trim());
poolProperties.setUsername(getOrDefault(user, index, user.get(0)).trim());
poolProperties.setPassword(getOrDefault(password, index, password.get(0)).trim());
HikariDataSource ds = poolProperties.getDataSource();
if (StringUtils.isEmpty(ds.getConnectionTestQuery())) {
ds.setConnectionTestQuery(TEST_QUERY);
}
dataSources.add(ds);
callback.accept(ds);
}
Preconditions.checkArgument(CollectionUtils.isNotEmpty(dataSources), "no datasource available");
return dataSources;
}
- 修改ExternalConfigInfoPersistServiceImpl类将DuplicateKeyException改为DataIntegrityViolationException


6. 修改nacos-datasource-plugin工程

在DataSourceConstant中添加public static final String DM = "dm";
- 在nacos-datasource-plugin下impl实现类创建dm包并将mysql下的所有类复制到dm下,并修改里面的数据源参数


- 在nacos-datasource-plugin下resource–>META-INF–>services–>com.alibaba.nacos.plugin.datasource.mapper.Mapper添加参数

com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoAggrMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoBetaMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoTagMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigTagsRelationMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.HistoryConfigInfoMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.TenantInfoMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.TenantCapacityMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.GroupCapacityMapperByDm
- 打包


mvn -Prelease-nacos -Dmaven.test.skip=true -Dcheckstyle.skip=true clean install -U
- nacos-distribution在target中可以看到nacos的包

我们就获取到对应的tar包,修改conf/application.properties
spring.datasource.platform=dm
db.jdbcDriverName=dm.jdbc.driver.DmDriver
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:dm://127.0.0.1:5236/NACOS_CONFIG
db.user=ROOT
db.password=ROOT
达梦数据库SQL语句
/*
* 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.
*/
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info */
/******************************************/
CREATE TABLE 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,
NOT CLUSTER PRIMARY KEY(ID),
CONSTRAINT UK_CONFIGINFO_DATAGROUPTENANT UNIQUE(DATA_ID, GROUP_ID, TENANT_ID));
COMMENT ON TABLE CONFIG_INFO IS 'config_info';
COMMENT ON COLUMN CONFIG_INFO.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO.CONTENT IS 'content';
COMMENT ON COLUMN CONFIG_INFO.MD5 IS 'md5';
COMMENT ON COLUMN CONFIG_INFO.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN CONFIG_INFO.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO.SRC_USER IS 'source user';
COMMENT ON COLUMN CONFIG_INFO.SRC_IP IS 'source ip';
COMMENT ON COLUMN CONFIG_INFO.TENANT_ID IS '租户字段';
CREATE UNIQUE INDEX INDEX16097400477400 ON CONFIG_INFO(ID ASC) ;
CREATE TABLE 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 CONFIG_INFO_AGGR IS '增加租户字段';
COMMENT ON COLUMN CONFIG_INFO_AGGR.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.DATUM_ID IS 'datum_id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.CONTENT IS '内容';
COMMENT ON COLUMN CONFIG_INFO_AGGR.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO_AGGR.TENANT_ID IS '租户字段';
CREATE UNIQUE INDEX INDEX16097305729100 ON CONFIG_INFO_AGGR(ID ASC);
CREATE TABLE 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 '',
NOT CLUSTER PRIMARY KEY(ID),
CONSTRAINT UK_CONFIGINFOBETA_DATAGROUPTENANT UNIQUE(DATA_ID, GROUP_ID, TENANT_ID));
COMMENT ON TABLE CONFIG_INFO_BETA IS 'config_info_beta';
COMMENT ON COLUMN CONFIG_INFO_BETA.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO_BETA.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO_BETA.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_INFO_BETA.APP_NAME IS 'app_name';
COMMENT ON COLUMN CONFIG_INFO_BETA.CONTENT IS 'content';
COMMENT ON COLUMN CONFIG_INFO_BETA.BETA_IPS IS 'betaIps';
COMMENT ON COLUMN CONFIG_INFO_BETA.MD5 IS 'md5';
COMMENT ON COLUMN CONFIG_INFO_BETA.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN CONFIG_INFO_BETA.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO_BETA.SRC_USER IS 'source user';
COMMENT ON COLUMN CONFIG_INFO_BETA.SRC_IP IS 'source ip';
COMMENT ON COLUMN CONFIG_INFO_BETA.TENANT_ID IS '租户字段';
CREATE UNIQUE INDEX INDEX16097203229000 ON CONFIG_INFO_BETA(ID ASC) ;
CREATE TABLE 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 CONFIG_INFO_TAG IS 'config_info_tag';
COMMENT ON COLUMN CONFIG_INFO_TAG.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO_TAG.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.TENANT_ID IS 'tenant_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.TAG_ID IS 'tag_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.APP_NAME IS 'app_name';
COMMENT ON COLUMN CONFIG_INFO_TAG.CONTENT IS 'content';
COMMENT ON COLUMN CONFIG_INFO_TAG.MD5 IS 'md5';
COMMENT ON COLUMN CONFIG_INFO_TAG.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN CONFIG_INFO_TAG.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO_TAG.SRC_USER IS 'source user';
COMMENT ON COLUMN CONFIG_INFO_TAG.SRC_IP IS 'source ip';
CREATE UNIQUE INDEX INDEX16096985471400 ON CONFIG_INFO_TAG(ID ASC) ;
CREATE TABLE 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 CONFIG_TAGS_RELATION IS 'config_tag_relation';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.ID IS 'id';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.TAG_NAME IS 'tag_name';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.TAG_TYPE IS 'tag_type';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.TENANT_ID IS 'tenant_id';
CREATE INDEX INDEX16096890650200 ON CONFIG_TAGS_RELATION(TENANT_ID ASC) ;
CREATE UNIQUE INDEX INDEX16096909541100 ON CONFIG_TAGS_RELATION(NID ASC) ;
CREATE TABLE 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 GROUP_CAPACITY IS '集群、各Group容量信息表';
COMMENT ON COLUMN GROUP_CAPACITY.ID IS '主键ID';
COMMENT ON COLUMN GROUP_CAPACITY.GROUP_ID IS 'Group ID,空字符表示整个集群';
COMMENT ON COLUMN GROUP_CAPACITY.QUOTA IS '配额,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.USAGE IS '使用量';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_SIZE IS '单个配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_AGGR_COUNT IS '聚合子配置最大个数,,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_AGGR_SIZE IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_HISTORY_COUNT IS '最大变更历史数量';
COMMENT ON COLUMN GROUP_CAPACITY.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN GROUP_CAPACITY.GMT_MODIFIED IS '修改时间';
CREATE UNIQUE INDEX INDEX16096746763900 ON GROUP_CAPACITY(ID ASC) ;
CREATE TABLE 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 '',
NOT CLUSTER PRIMARY KEY(NID)) ;
COMMENT ON TABLE HIS_CONFIG_INFO IS '多租户改造';
COMMENT ON COLUMN HIS_CONFIG_INFO.APP_NAME IS 'app_name';
COMMENT ON COLUMN HIS_CONFIG_INFO.TENANT_ID IS '租户字段';
CREATE INDEX IDX_GMT_CREATE ON HIS_CONFIG_INFO(GMT_CREATE ASC) ;
CREATE INDEX IDX_DID ON HIS_CONFIG_INFO(DATA_ID ASC) ;
CREATE INDEX IDX_GMT_MODIFIED ON HIS_CONFIG_INFO(GMT_MODIFIED ASC) ;
CREATE UNIQUE INDEX INDEX16096449256900 ON HIS_CONFIG_INFO(NID ASC) ;
CREATE TABLE 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 ROLES
(
USERNAME VARCHAR(50) NOT NULL,
ROLE VARCHAR(50) NOT NULL,
CONSTRAINT IDX_USER_ROLE UNIQUE(USERNAME, ROLE)) ;
CREATE TABLE 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 TENANT_CAPACITY IS '租户容量信息表';
COMMENT ON COLUMN TENANT_CAPACITY.ID IS '主键ID';
COMMENT ON COLUMN TENANT_CAPACITY.TENANT_ID IS 'Tenant ID';
COMMENT ON COLUMN TENANT_CAPACITY.QUOTA IS '配额,0表示使用默认值';
COMMENT ON COLUMN TENANT_CAPACITY.USAGE IS '使用量';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_SIZE IS '单个配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_AGGR_COUNT IS '聚合子配置最大个数';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_AGGR_SIZE IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_HISTORY_COUNT IS '最大变更历史数量';
COMMENT ON COLUMN TENANT_CAPACITY.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN TENANT_CAPACITY.GMT_MODIFIED IS '修改时间';
CREATE UNIQUE INDEX INDEX16096046055000 ON TENANT_CAPACITY(ID ASC) ;
CREATE TABLE 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 TENANT_INFO IS 'tenant_info';
COMMENT ON COLUMN TENANT_INFO.ID IS 'id';
COMMENT ON COLUMN TENANT_INFO.KP IS 'kp';
COMMENT ON COLUMN TENANT_INFO.TENANT_ID IS 'tenant_id';
COMMENT ON COLUMN TENANT_INFO.TENANT_NAME IS 'tenant_name';
COMMENT ON COLUMN TENANT_INFO.TENANT_DESC IS 'tenant_desc';
COMMENT ON COLUMN TENANT_INFO.CREATE_SOURCE IS 'create_source';
COMMENT ON COLUMN TENANT_INFO.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN TENANT_INFO.GMT_MODIFIED IS '修改时间';
CREATE INDEX IDX_TENANT_ID ON TENANT_INFO(TENANT_ID ASC) ;
CREATE UNIQUE INDEX INDEX16095846853300 ON TENANT_INFO(ID ASC) ;
CREATE TABLE USERS
(
USERNAME VARCHAR(50) NOT NULL,
PASSWORD VARCHAR(500) NOT NULL,
ENABLED TINYINT NOT NULL,
NOT CLUSTER PRIMARY KEY(USERNAME)) ;
INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
commit;

本文介绍了Nacos集成达梦数据库的步骤。以Nacos 2.2.3为例,先获取Nacos源码,接着在父pom.xml添加dm8依赖,在nacos - config项目的pom文件做相应修改,变更相关类。然后修改nacos - datasource - plugin工程,打包获取tar包,最后修改conf/application.properties并给出达梦数据库SQL语句。
2196





