nacos配置中心连接mysql8.0

nacos配置中心连接mysql8.0

nacos连接mysql5.7正常,但是连接mysql8.0(mysql5.8)就提示错误。

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)

连接mysql5.7没问题。说明连接驱动版本有问题(为什么直接这么说呢,因为之前项目中mysql升级遇见过相同问题)。

把Nacos 自带mysql-connector-java 版本升级以下就可以了,从5.1.34升级到5.1.47。

1、首先 git clone https://github.com/alibaba/nacos.git

 

2、如果速度慢,设置hosts。

修改 C:\Windows\System32\drivers\etc。

151.101.185.194 github.global.ssl.fastly.net
192.30.253.112 github.com

 

3、接着下载后执行

先把版本修改

 

然后执行打包命令

cd nacos/ mvn -Prelease-nacos clean install -U

ls -al distribution/target/

// change the $version to your actual path

cd distribution/target/nacos-server-$version/nacos/bin

 

修改启动配置文件

nacos\distribution\target\nacos-server-1.0.1\nacos\conf\application.properties

末尾添加:

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://localhost:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=nacos_devtest

db.password=youdontknow

 

接着建库,执行mysql脚本

\nacos\distribution\target\nacos-server-1.0.1\nacos\conf\nacos-mysql.sql

接着你就可以启动bin文件夹下的 startup.cmd

浏览器访问http://127.0.0.1:8848/nacos

默认账号和密码:nacos

 

参考链接;https://nacos.io/zh-cn/docs/what-is-nacos.html

转载于:https://www.cnblogs.com/liran123/p/11017016.html

### 回答1: 要使用MySQL 8.作为Nacos的持久化存储,需要进行以下步骤: 1. 安装MySQL 8.,并创建一个新的数据库和用户。 2. 下载Nacos的最新版本,并解压缩到本地。 3. 进入Nacos的conf目录,编辑application.properties文件,将以下配置添加到文件末尾: ``` spring.datasource.platform=mysql db.num=1 db.url.=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=100&socketTimeout=300&autoReconnect=true db.user=root db.password=123456 ``` 其中,db.url.是MySQL数据库连接地址,db.user和db.password是数据库的用户名和密码。 4. 启动Nacos服务,它将自动使用MySQL 8.作为持久化存储。 5. 如果需要更改数据库配置,可以编辑application.properties文件并重新启动Nacos服务。 注意:在使用MySQL 8.时,需要将MySQL的密码加密方式设置为mysql_native_password。可以使用以下命令更改用户的密码加密方式: ``` ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; ``` 其中,'root'是MySQL的用户名,'new_password'是新的密码。 ### 回答2: Nacos是一款分布式的配置中心和元数据管理系统,它支持将配置数据持久化到数据库中,而MySQL8.0是一款开源的关系型数据库。 将Nacos配置持久化到MySQL8.0中,需要进行以下步骤: 1. 准备MySQL8.0数据库(可以使用docker快速搭建数据库环境),并创建一个新的数据库和相关的用户及权限。 2. 下载nacos-server版本,并进行解压和配置。 3. 打开nacos/conf/nacos-mysql.sql文件,将其中的sql脚本在新建的数据库中执行,以创建必要的表结构和索引。 4. 配置nacos/conf/application.properties文件,修改如下配置: ```java #启用MySQL持久化配置 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2B8&useSSL=false db.user=root db.password=root ``` 其中,db.url.0需要修改为MySQL的连接地址,db.user和db.password根据实际情况进行修改。 5. 启动Nacos服务,使用浏览器访问http://localhost:8848/nacos,输入用户名和密码进行登录。 以上步骤完成后,Nacos就会将所有的配置保存到MySQL数据库中,以保证数据的持久化。 需要注意的是,MySQL8.0与之前版本略有不同,需要修改部分配置项,例如url中添加serverTimezone=GMT%2B8选项,否则会出现时间解析异常的问题。此外,在配置MySQL的时候,建议采用UTF-8编码,以支持中文等多语言配置。 总的来说,使用MySQL8.0作为Nacos的持久化存储是十分可行的,而且功能也十分强大,能够满足大部分企业的需求。 ### 回答3: Nacos是一款分布式的服务发现和配置管理平台,它的作用是帮助开发者更好地管理和维护配置文件,同时提供了高可用性、高可扩展性、高性能和易于维护等优势。而Nacos的持久化配置则可以将配置信息持久化到数据库中,以保证配置信息的安全性和数据可靠性。在这里我们将介绍如何使用MySQL8.0来实现Nacos的持久化配置。 首先,我们需要配置MySQL8.0的相关参数: 1、创建一个新的数据库实例,并分配一个新的用户和密码。 2、设置MySQL的字符集为UTF-8,以免出现中文乱码的问题。 3、创建一个新的数据表用于存储配置信息,数据表的结构可以参考NacosGitHub仓库。 接下来,我们需要在Nacos的配置文件中进行以下配置: 1、在nacos-server.jar所在的目录下创建一个新的文件夹,例如”nacos-data”。 2、修改nacos的配置文件,指定nacos的持久化位置为“nacos-data”文件夹,并设置相应的数据库连接参数。 3、启动nacos,创建需要的配置信息,通过设置数据库连接参数,将配置信息持久化到MySQL数据库中。 4、启动nacos,从MySQL数据库中读取配置信息。在启动时,nacos会先从MySQL数据库中加载配置信息,然后再将它们加载到内存中。 总之,Nacos的持久化配置功能可以使开发者以更加安全、可靠和高效的方式管理和维护配置信息。通过MySQL8.0的配置,我们可以将配置信息存储在数据库中,并通过nacos的自动读取和加载配置信息,保证了数据的可靠性、安全性和高性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值