Nacos持久化Mysql8.0版本

有关Nacos之前写过三篇文章。

Spring Cloud Alibaba(3)---Nacos概述

Spring Cloud Alibaba(4)---Nacos(注册中心)

Spring Cloud Alibaba(5)---Nacos(配置中心)

一、背景

我们服务的信息、配置的信息都放在哪的?官网有说过

当我们使用默认配置启动Nacos时,所有配置文件都被Nacos保存在了内置的数据库中。

这里所指的内置数据库其实就是内存中,既然是配置在内存中,那么每当我们重启Nacos的时候,所有配置好的信息都会丢失,这显然是我们不能够接受的,所以我们就需要去配置,

让配置数据存在Mysql中,这样当我们重启服务器的时候,配置数据依旧在。

架构信息

Nacos 1.4.2 + MYSQL 8.0.22

二、Nacos客户端部署

客户端部署其实官方给了两种方式 一种是 从 Github 上下载源码。另一种是 直接下载压缩包官方地址

之前在写Nacos概述的时候,是直接去官网下载 nacos-server-1.3.2.tar.gz 的压缩包,下载解压后 通过命令运行。这里我们需要用第二种方式,我们直接去拉nacos源码后,

自己打成nacos-server-1.4.2-SNAPSHOT.tar.gz 压缩包。

为什么要不用官方直接提供的压缩包,而需要我们自己下源码在打成压缩包,这样多次一举呢?

是因为,我们是 MYSQL 8.0.22 版本的,所以我们要下载源码,把pom文件中对应的连接数据库的驱动jar包改成8.0.22版本的,然后重新打成压缩包。

1、拉取源码

这个当前拉取的是1.4.2版本的Nacos,你也可以指定拉取版本

git clone https://github.com/alibaba/nacos.git

2、修改Mysql连接驱动

1.4.2版本的Nacos所用的mysql-connector-java版本是8.0.21,这里修改成 8.0.22。

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>

注意 其实这里可以不用修改,因为8.0.21和8.0.22,差异很小,所以我们不用修改都是可以的。就是说我们都不用取拉源码在通过命令打包,而是直接下载1.4.2版本的

压缩包就可以了。当然如果你的是1.3.1以下版本的Nacos,那么Mysql驱动是5.7版本的那么这个是需要修改成8以上版本的。

3、打包

进入nacos目录

cd nacos

maven打包

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

如果直接成功后,在distribution/target/目录中就已经有相应的解压包了。

4、解压

tar -xvf nacos-server-1.4.2-SNAPSHOT.tar.gz

接下来我们先不启动服务器,因为我们还需要修改一些配置文件

三、修改配置文件

1、初始化数据库

Nacos的数据库脚本文件在我们下载Nacos-server时的压缩包中就有

进入nacos\conf目录,初始化文件:nacos-mysql.sql

此处我创建一个名为 nacos 的数据库,然后执行初始化脚本,成功后会生成 12 张表

2、修改配置文件

它的配置文件也在 nacos\conf目录下,名为 application.properties,在文件底部添加数据源配置:

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=123456

3、启动服务器

现在数据库和配置都已经修改了,那么就启动服务器

//先进入bin目录
cd nacos/bin

启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash startup.sh -m standalone

注意 执行命令地方在上面压缩的 distribution/target/nacos-server-1.4.2-SNAPSHOT/nacos/bin 位置下,而不是在distribution的bin下。

启动后,能够正常访问下面地址,那就说明已经配置成功,

http://127.0.0.1:8848/nacos

如果上面访问失败,那就去 nacos\log 目录下,名为 nacos.log 看下有没有错误日志

四 测试

1、在客户端新添加一条配置数据

看列表 也显示这条配置集已经创建成功

2、查看数据库

既然客户端都生成成功了,那就来看下数据库中有没有持久化这条数据

很明显 数据中也有这条数据,这样就算nacos重新启动这条数据也还是会有了。

参考

1、nacos官网快速启动

2、nacos数据持久化MySQL8.0以上版本

3、Spring Cloud Alibaba基础教程:Nacos的数据持久化

少说多做,句句都会得到别人的重视;多说少做,句句都会受到别人的忽视。(6)

Spring Cloud Alibaba(6)---Nacos持久化Mysql8.0版本的更多相关文章

  1. Spring Cloud Alibaba(2)---Nacos概述

    Spring Cloud Alibaba(2)---nacos概述 上一篇博客讲了有关 SpringCloudAlibaba的概述,这篇开始讲SpringCloudAlibaba组件之一---Naco ...

  2. Spring Cloud Alibaba(4)---Nacos(注册中心)

    Nacos(注册中心) 有关Spring Cloud Alibaba之前写过三篇文章. Spring Cloud Alibaba(1)---入门篇 Spring Cloud Alibaba(2)--- ...

  3. Spring Cloud Alibaba(5)---Nacos(配置中心)

    Nacos(配置中心) 有关Spring Cloud Alibaba之前写过四篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring C ...

  4. Spring Cloud Alibaba(3)---Nacos概述

    Spring Cloud Alibaba(3)---nacos概述 上一篇博客讲了有关 SpringCloudAlibaba的概述,这篇开始讲SpringCloudAlibaba组件之一---Naco ...

  5. Spring Cloud Alibaba 之 Nacos

    Nacos 技术讲解 一提到分布式系统就不的不提一下 CAP 原则 什么是CAP CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability ...

  6. Spring Cloud Alibaba 使用nacos 注册中心

    ### 背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 ### spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring ...

  7. Spring Cloud Alibaba 教程 | Nacos(一)

    什么是Nacos Nacos是一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos 致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态 ...

  8. Spring Cloud Alibaba 整合 Nacos 实现服务配置中心

    在之前的文章 <Nacos 本地单机版部署步骤和使用> 中,大家应该了解了 Nacos 是什么?其中 Nacos 提供了动态配置服务功能 一.Nacos 动态配置服务是什么? 官方是这么说 ...

  9. Spring Cloud Alibaba 之Nacos

    Nacos 技术讲解 一提到分布式系统就不的不提一下 CAP 原则 什么是CAP CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability ...

随机推荐

  1. vs调试qt代码,无法单步调试

    在使用vs调试qt代码时,可以编译但无法单步调试QT源码.报错缺少qmain_win.cpp或者其他q******.cpp文件. 1.因为安装qt时没有安装qt源码库,重新下载一个src源码就可以了. ...

  2. 后端程序员之路 49、SSDB

    正如Redis似乎是为替换memcached一样,SSSB是一个国人开发的旨在替换Redis的kv数据库. SSDB - 高性能的支持丰富数据结构的 NoSQL 数据库, 替代 Redishttp:/ ...

  3. three.js cannon.js物理引擎之约束(二)

    今天郭先生继续讲cannon.js的物理约束,之前的一篇文章曾简单的提及过PointToPointConstraint约束,那么今天详细的说一说cannon.js的约束和使用方法.在线案例请点击博客原 ...

  4. 在不使用外延层的同轴半绝缘衬底材料上制作4H-SIC横向双重注入金属氧化物半导体场效应晶体管

    在不使用外延层的同轴半绝缘衬底材料上制作4H-SIC横向双重注入金属氧化物半导体场效应晶体管 杂志:日本应用物理杂志   在不使用外延层在同轴的半绝缘SIC衬底上制作4H-SIC横向双重注入金属氧化物 ...

  5. HDOJ-1043 Eight(八数码问题+双向bfs+高效记录路径+康拓展开)

    bfs搜索加记录路径 HDOJ-1043 主要思路就是使用双向广度优先搜索,找最短路径.然后记录路径,找到结果是打印出来. 使用康拓序列来来实现状态的映射. 打印路径推荐使用vector最后需要使用a ...

  6. 前端 JS 加密漏洞挖掘篇

    案例一 oxo1 前言 某授权项目,登录口用户名和密码都进行了加密,之前从来没搞过记录一下学习过程. 看了CoolCat 师傅写的 https://github.com/TheKingOfDuck/b ...

  7. FreeBSD安装xorg + xfce 4

    FreeBSD安装xorg,以及xfce 安装xorg 可选包 -xorg 完整xorg环境包 -xorg-minimal xorg最小化包 ports安装 cd /usr/ports/x11/xor ...

  8. 2018.12-2019.1 TO-DO LIST

    AC自动机 P3808 [模板]AC自动机(简单版)(完成时间:2018.12.06) P3796 [模板]AC自动机(加强版)(完成时间:2018.12.06) P2444 [POI2000]病毒( ...

  9. Hive相关的命令

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...

  10. css行高

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...