目录
环境准备
名称版本IP端口
Nacos
2.2.3192.168.10.218848、9848
MySQL
8.0.27192.168.10.203306
Nacos 数据库创建
创建名为
nacos_config
数据库
CREATEDATABASE nacos_config CHARACTERSET utf8 COLLATE utf8_bin;
执行以下
SQL
脚本完成数据表的创建 ,
Nacos 2.2.3
的数据库在线脚本👉🏻nacos-db.sql👈🏻
/******************************************//* 数据库全名 = nacos_config *//* 表名称 = config_info *//******************************************/CREATETABLE`config_info`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',`data_id`varchar(255)NOTNULLCOMMENT'data_id',`group_id`varchar(128)DEFAULTNULL,`content`longtextNOTNULLCOMMENT'content',`md5`varchar(32)DEFAULTNULLCOMMENT'md5',`gmt_create`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'创建时间',`gmt_modified`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'修改时间',`src_user`textCOMMENT'source user',`src_ip`varchar(20)DEFAULTNULLCOMMENT'source ip',`app_name`varchar(128)DEFAULTNULL,`tenant_id`varchar(128)DEFAULT''COMMENT'租户字段',`c_desc`varchar(256)DEFAULTNULL,`c_use`varchar(64)DEFAULTNULL,`effect`varchar(64)DEFAULTNULL,`type`varchar(64)DEFAULTNULL,`c_schema`text,`encrypted_data_key`textNOTNULLCOMMENT'秘钥',PRIMARYKEY(`id`),UNIQUEKEY`uk_configinfo_datagrouptenant`(`data_id`,`group_id`,`tenant_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = config_info_aggr *//******************************************/CREATETABLE`config_info_aggr`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',`data_id`varchar(255)NOTNULLCOMMENT'data_id',`group_id`varchar(128)NOTNULLCOMMENT'group_id',`datum_id`varchar(255)NOTNULLCOMMENT'datum_id',`content`longtextNOTNULLCOMMENT'内容',`gmt_modified`datetimeNOTNULLCOMMENT'修改时间',`app_name`varchar(128)DEFAULTNULL,`tenant_id`varchar(128)DEFAULT''COMMENT'租户字段',PRIMARYKEY(`id`),UNIQUEKEY`uk_configinfoaggr_datagrouptenantdatum`(`data_id`,`group_id`,`tenant_id`,`datum_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = config_info_beta *//******************************************/CREATETABLE`config_info_beta`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',`data_id`varchar(255)NOTNULLCOMMENT'data_id',`group_id`varchar(128)NOTNULLCOMMENT'group_id',`app_name`varchar(128)DEFAULTNULLCOMMENT'app_name',`content`longtextNOTNULLCOMMENT'content',`beta_ips`varchar(1024)DEFAULTNULLCOMMENT'betaIps',`md5`varchar(32)DEFAULTNULLCOMMENT'md5',`gmt_create`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'创建时间',`gmt_modified`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'修改时间',`src_user`textCOMMENT'source user',`src_ip`varchar(20)DEFAULTNULLCOMMENT'source ip',`tenant_id`varchar(128)DEFAULT''COMMENT'租户字段',`encrypted_data_key`textNOTNULLCOMMENT'秘钥',PRIMARYKEY(`id`),UNIQUEKEY`uk_configinfobeta_datagrouptenant`(`data_id`,`group_id`,`tenant_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = config_info_tag *//******************************************/CREATETABLE`config_info_tag`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',`data_id`varchar(255)NOTNULLCOMMENT'data_id',`group_id`varchar(128)NOTNULLCOMMENT'group_id',`tenant_id`varchar(128)DEFAULT''COMMENT'tenant_id',`tag_id`varchar(128)NOTNULLCOMMENT'tag_id',`app_name`varchar(128)DEFAULTNULLCOMMENT'app_name',`content`longtextNOTNULLCOMMENT'content',`md5`varchar(32)DEFAULTNULLCOMMENT'md5',`gmt_create`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'创建时间',`gmt_modified`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'修改时间',`src_user`textCOMMENT'source user',`src_ip`varchar(20)DEFAULTNULLCOMMENT'source ip',PRIMARYKEY(`id`),UNIQUEKEY`uk_configinfotag_datagrouptenanttag`(`data_id`,`group_id`,`tenant_id`,`tag_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = config_tags_relation *//******************************************/CREATETABLE`config_tags_relation`(`id`bigint(20)NOTNULLCOMMENT'id',`tag_name`varchar(128)NOTNULLCOMMENT'tag_name',`tag_type`varchar(64)DEFAULTNULLCOMMENT'tag_type',`data_id`varchar(255)NOTNULLCOMMENT'data_id',`group_id`varchar(128)NOTNULLCOMMENT'group_id',`tenant_id`varchar(128)DEFAULT''COMMENT'tenant_id',`nid`bigint(20)NOTNULLAUTO_INCREMENT,PRIMARYKEY(`nid`),UNIQUEKEY`uk_configtagrelation_configidtag`(`id`,`tag_name`,`tag_type`),KEY`idx_tenant_id`(`tenant_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = group_capacity *//******************************************/CREATETABLE`group_capacity`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主键ID',`group_id`varchar(128)NOTNULLDEFAULT''COMMENT'Group ID,空字符表示整个集群',`quota`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'配额,0表示使用默认值',`usage`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'使用量',`max_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'聚合子配置最大个数,,0表示使用默认值',`max_aggr_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'最大变更历史数量',`gmt_create`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'创建时间',`gmt_modified`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'修改时间',PRIMARYKEY(`id`),UNIQUEKEY`uk_group_id`(`group_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = his_config_info *//******************************************/CREATETABLE`his_config_info`(`id`bigint(64)unsignedNOTNULL,`nid`bigint(20)unsignedNOTNULLAUTO_INCREMENT,`data_id`varchar(255)NOTNULL,`group_id`varchar(128)NOTNULL,`app_name`varchar(128)DEFAULTNULLCOMMENT'app_name',`content`longtextNOTNULL,`md5`varchar(32)DEFAULTNULL,`gmt_create`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00',`gmt_modified`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00',`src_user`text,`src_ip`varchar(20)DEFAULTNULL,`op_type`char(10)DEFAULTNULL,`tenant_id`varchar(128)DEFAULT''COMMENT'租户字段',`encrypted_data_key`textNOTNULLCOMMENT'秘钥',PRIMARYKEY(`nid`),KEY`idx_gmt_create`(`gmt_create`),KEY`idx_gmt_modified`(`gmt_modified`),KEY`idx_did`(`data_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';/******************************************//* 数据库全名 = nacos_config *//* 表名称 = tenant_capacity *//******************************************/CREATETABLE`tenant_capacity`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主键ID',`tenant_id`varchar(128)NOTNULLDEFAULT''COMMENT'Tenant ID',`quota`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'配额,0表示使用默认值',`usage`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'使用量',`max_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'聚合子配置最大个数',`max_aggr_size`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'最大变更历史数量',`gmt_create`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'创建时间',`gmt_modified`datetimeNOTNULLDEFAULT'2010-05-05 00:00:00'COMMENT'修改时间',PRIMARYKEY(`id`),UNIQUEKEY`uk_tenant_id`(`tenant_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';CREATETABLE`tenant_info`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'id',`kp`varchar(128)NOTNULLCOMMENT'kp',`tenant_id`varchar(128)default''COMMENT'tenant_id',`tenant_name`varchar(128)default''COMMENT'tenant_name',`tenant_desc`varchar(256)DEFAULTNULLCOMMENT'tenant_desc',`create_source`varchar(32)DEFAULTNULLCOMMENT'create_source',`gmt_create`bigint(20)NOTNULLCOMMENT'创建时间',`gmt_modified`bigint(20)NOTNULLCOMMENT'修改时间',PRIMARYKEY(`id`),UNIQUEKEY`uk_tenant_info_kptenantid`(`kp`,`tenant_id`),KEY`idx_tenant_id`(`tenant_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATETABLE users (
username varchar(50)NOTNULLPRIMARYKEY,
password varchar(500)NOTNULL,
enabled booleanNOTNULL);CREATETABLE roles (
username varchar(50)NOTNULL,
role varchar(50)NOTNULL,constraint uk_username_role UNIQUE(username,role));CREATETABLE permissions (
role varchar(50)NOTNULL,
resource varchar(512)NOTNULL,actionvarchar(8)NOTNULL,constraint uk_role_permission UNIQUE(role,resource,action));INSERTINTO users (username, password, enabled)VALUES('nacos','$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu',TRUE);INSERTINTO roles (username, role)VALUES('nacos','ROLE_ADMIN');
Docker 部署 Nacos
1. 创建挂载目录
# 创建 nacos 日志挂载目录mkdir-p /logs/nacos
2. 下载镜像
访问 https://hub.docker.com/r/nacos/nacos-server/tags 获取
Nacos
镜像地址
docker pull nacos/nacos-server:v2.2.3
3. 创建和启动容器
docker run -d--name nacos-server -p8848:8848 -p9848:9848 \-eMODE=standalone \-eJVM_XMS=512m \-eJVM_XMX=512m \-eSPRING_DATASOURCE_PLATFORM=mysql \-eMYSQL_SERVICE_HOST=192.168.10.20 \-eMYSQL_SERVICE_PORT=3306\-eMYSQL_SERVICE_DB_NAME=nacos_config \-eMYSQL_SERVICE_USER=root \-eMYSQL_SERVICE_PASSWORD=123456\-v /logs/nacos:/home/nacos/logs \
nacos/nacos-server:v2.2.3
参数说明:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start-docker.html
4. 访问控制台
控制台地址: http://192.168.10.21:8848/nacos
默认用户名/密码:nacos/nacos
导入 Nacos 配置
导入开源微服务商城 youlai-mall 的 nacos_config.zip 配置文件
SpringBoot 整合 Nacos
pom 依赖
<!-- 注册中心 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- 配置中心 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>
application.yml 配置
spring:cloud:nacos:# 注册中心discovery:server-addr: http://192.168.10.21:8848# 配置中心config:server-addr: http://192.168.10.21:8848file-extension: yaml
# 共享配置
shared-configs[0]:data-id: youlai-common.yaml
refresh:true
启动应用,如果出现下面日志说明连接到注册中心和配置中心成功,否则失败。
nacos registry, DEFAULT_GROUP youlai-auth 192.168.xxx.xxx:9000 register finished
[Nacos Config] Listening config: dataId=youlai-auth-dev.yaml, group=DEFAULT_GROUP
参考官方链接
名称地址官方网站https://nacos.io官方文档https://nacos.io/zh-cn/docs源码仓库https://github.com/alibaba/nacos
微服务商城源码
名称/Git仓库GithubGitee开源组织有来开源组织有来开源组织后端youlai-mall 📖youlai-mall 📖前端mall-admin🌎mall-admin 🌎移动端mall-app 🌎mall-app 🌎
版权归原作者 有来技术 所有, 如有侵权,请联系我们删除。