nacos配置持久化到mysql8报错解决:Caused by: java.lang.IllegalStateException: No DataSource set
nacos
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
项目地址:https://gitcode.com/gh_mirrors/na/nacos
免费下载资源
·
本人机器上部署了两个mysql,版本都是8.0.33,一个是用docker部署的,另一个是源码安装的,然后今天用docker安装nacos的最新版本,在配置持久化到mysql时,发生了很奇怪的现象,当配置的是源码版mysql,则一切顺利,而当配置的是docker版的mysql,则nacos容器会启动失败,报错:Caused by: java.lang.IllegalStateException: No DataSource set 查了很多文章都无法解决,但大概也知道原因,是因为mysql8采取了新的连接验证机制,所以导致nacos无法连接。至于为什么连接源码版mysql没有问题,连接docker版mysql却有问题,暂时还不清楚。
解决办法,把nacos容器的启动命令改成下面这样:
docker run -d \
-e NACOS_AUTH_ENABLE=true \
-e MODE=standalone \
-e JVM_XMS=128m \
-e JVM_XMX=128m \
-e JVM_XMN=128m \
-p 8848:8848 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=120.79.150.146 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=12345 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \
--restart=always \
--privileged=true \
-v /home/data/nacos/logs:/home/nacos/logs \
--name my_nacos \
nacos/nacos-server:2.0.2
参数解释:
docker run -d \
#开启访问验证,即是需要账号密码才能访问nacos里的东西
#这样更安全,但也麻烦一点。不需要的话可以去掉
-e NACOS_AUTH_ENABLE=true \
#单机模式
-e MODE=standalone \
#下面三个是限制nacos容器的内存占用
-e JVM_XMS=128m \
-e JVM_XMX=128m \
-e JVM_XMN=128m \
#宿主机到容器的端口映射
-p 8848:8848 \
#指定持久化到的数据库类型
-e SPRING_DATASOURCE_PLATFORM=mysql \
#mysql的连接信息
-e MYSQL_SERVICE_HOST=120.79.150.146 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=12345 \
#持久化的database名
-e MYSQL_SERVICE_DB_NAME=nacos_config \
#mysql连接参数,不要漏了单引号!
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false' \
#让容器开机自启
--restart=always \
#特权模式启动
--privileged=true \
#nacos日志目录
-v /home/data/nacos/logs:/home/nacos/logs \
--name my_nacos \
nacos/nacos-server:2.0.2
GitHub 加速计划 / na / nacos
29.83 K
12.75 K
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:3 个月前 )
4334cd16
* Support custom client configuration timeout.(#12748)
* Add UT.(#12748) 12 天前
b04d2266
16 天前
更多推荐
已为社区贡献1条内容
所有评论(0)