阿里云服务器MySQL与nacos配置

来源:这里教程网 时间:2026-03-18 11:14:51 作者:
一、问题现象二、问题分析1 检查 Nacos 环境变量(容器间通信)2 检查 MySQL 数据库(是否存在nacos数据库)三、问题原因四、解决方法五、重新启动 Nacos六、验证结果七、总结

(Nacos 启动问题排查总结)

一、问题现象

在部署 Nacos 时,容器启动后查看日志:

docker logs -f nacos

日志中出现报错:

No DataSource set

同时在日志中还会看到:

Nacos dump service start

随后服务启动失败或无法正常加载配置。

二、问题分析

该错误显然说明 Nacos 没有成功初始化数据库数据源。可能原因主要包括:

数据库连接配置错误环境变量配置不完整Nacos 数据库表未正确导入

通过逐步检查:

1 检查 Nacos 环境变量(容器间通信)

服务器中的 custom.env 文件内容:

cat /root/nacos/custom.env

配置如下:

PREFER_HOST_MODE=hostname MODE=standalone SPRING_DATASOURCE_PLATFORM=mysql MYSQL_SERVICE_HOST=mysql MYSQL_SERVICE_DB_NAME=nacos MYSQL_SERVICE_PORT=3306 MYSQL_SERVICE_USER=root MYSQL_SERVICE_PASSWORD=改成你自己的 MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai

这里笔者使用的阿里云服务器,数据库的容器命名就是mysql,所以这里“MYSQL_SERVICE_HOST=mysql”,利用同一网络下,容器之间能直接相互通信,配置检查后发现 数据库连接参数没有问题

2 检查 MySQL 数据库(是否存在nacos数据库)

进入 MySQL 容器:

docker exec -it mysql mysql -uroot -p

然后查看数据库表:

use nacos; show tables;

此时我才发现:

Empty set

说明 Nacos 数据库表没有导入成功

三、问题原因

最终确认问题原因是:

在之前导入 nacos.sql 初始化脚本时,导入过程被中断,导致数据库表未完整创建。

因此 Nacos 启动时无法找到需要的配置表,从而出现:No DataSource set

四、解决方法

重新导入 Nacos 初始化数据库脚本。

执行:

mysql -uroot -p nacos < nacos.sql

或在 MySQL 中执行:

source nacos.sql;

导入完成后再次检查:

show tables;

可以看到数据库中已生成多张表,例如:

config_info config_tags_relation group_capacity his_config_info permissions roles tenant_capacity users

说明数据库初始化成功。

五、重新启动 Nacos

重新启动容器:

docker restart nacos

查看启动日志:

docker logs -f nacos

日志显示:

Tomcat started on port(s): 8848 (http) with context path '/nacos'

以及关键成功提示:

Nacos started successfully in stand alone mode. use external storage

六、验证结果

浏览器访问:http://服务器IP:8848/nacos

登录账号:

nacos
nacos

成功进入控制台,说明 Nacos 服务已正常运行并成功连接 MySQL 数据库

七、总结

本次问题的根本原因是:

Nacos 初始化数据库脚本导入不完整,导致数据库表缺失。

解决步骤:

检查 Nacos 日志定位错误信息 No DataSource set确认数据库连接配置正确进入 MySQL 检查数据库表重新导入 nacos.sql 初始化脚本重启 Nacos 容器日志出现 Nacos started successfully 表示启动成功

到此这篇关于阿里云服务器MySQL与nacos配置的文章就介绍到这了,

相关推荐

热文推荐