Spring Cloud Alibaba(6)---Nacos持久化Mysql8.0版本


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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM