Nacos下载与安装详解

目录

    • 一、安装与下载
    • 二、数据持久化
    • 三、docker当中安装nacos

一、安装与下载

下载地址:https://github.com/alibaba/nacos/releases

在这里插入图片描述

我这里下载的windows版本的,不需要安装,下载好直接解压,然后到bin目录下,执行startup.cmd -m standalone启动即可。

Nacos下载与安装详解_第1张图片

命令运行成功后直接访问http://localhost:8848/nacos
默认账号密码都是nacos

Nacos下载与安装详解_第2张图片

nacos默认为cluster集群模式启动,在启动文件startup.cmd中修改保存配置为standalone单例模式启动就可以了,这样启动的时候直接执行startup.cmd就可以了,不需要再使用startup.cmd -m standalone命令启动了!

Nacos下载与安装详解_第3张图片

二、数据持久化

Nacos默认自带的是嵌入式数据库derby

Apache Derby是一个完全用java编写的数据库,Derby是一个Open source的产品,基于Apache License 2.0分发。Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。

nacos源码:https://github.com/alibaba/nacos/blob/develop/config/pom.xml

Nacos下载与安装详解_第4张图片

假如做数据迁移等等,有时候我们更希望将数据保存到mysql当中,而不是内嵌数据库当中,Nacos也提供了mysql数据持久化的方式。

数据库sql脚本:https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql

1.新建一个数据库,然后执行脚本

执行的时候遇到问题,报错1071 - Specified key was too long; max key length is 767 bytes,我使用的mysql版本有点低,用的是5.5.25a-log版本,高版本应该不会报错。

解决办法:https://blog.csdn.net/weixin_43888891/article/details/121542530

Nacos下载与安装详解_第5张图片

2.在nacos-server-2.1.1\conf目录下找到application.properties添加如下配置:

注意我这里起的数据库名字是nacos,如果您是别的名称,记得修改!

spring.datasource.platform=mysql
 
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

3.启动测试,注意配置mysql后,以前存储在derby的数据就看不到了!

三、docker当中安装nacos

教程:https://blog.csdn.net/weixin_43888891/article/details/122504951

图省事可以直接这么安装以及配置持久化,执行前需要保证数据库当中存在nacos数据库

1.先下载镜像

docker pull nacos/nacos-server

2.通过启动的时候指定mysql数据库

docker run -itd \
--link mysql:mysql \
-e JVM_XMS=1024m -e JVM_XMX=1024m -e JVM_XMN=512m \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=mysql \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=szyx@2021 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8\&connectTimeout=1000\&socketTimeout=3000\&autoReconnect=true\&useUnicode=true\&useSSL=false\&serverTimezone=Asia/Shanghai \
-p 8848:8848 \
--name nacos \
--restart=always \
-v /data/szyx/nacos/logs/:/home/nacos/logs \
nacos/nacos-server

你可能感兴趣的:(SpringCloud,数据库,mysql,java)