阿里云服务器MySQL与nacos配置

 更新时间:2026年03月18日 09:53:08   作者:夜深沉1024  
本文主要介绍了阿里云服务器MySQL与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配置的文章就介绍到这了,更多相关阿里云MySQL与nacos配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL语句中OR和AND的混合使用的小技巧

    SQL语句中OR和AND的混合使用的小技巧

    在SQL语句中我们可能会经常混合使用到OR和AND,其中可能会出现一些小问题,下面小编来讲一讲它的使用技巧
    2019-05-05
  • MySQL 备份失败的问题:undo log 清理耗时10 小时的问题解决

    MySQL 备份失败的问题:undo log 清理耗时10 小时的问题解决

    本文将结合实际案例,剖析MySQL 8.0.18 环境下,因undo log清理耗时过长导致全备失败的故障成因与解决路径,并探讨智能工具在数据库故障诊断中的应用价值,感兴趣的朋友一起看看吧
    2025-06-06
  • 如何解决Mysql报错Deadlock found when trying to get lock;try restarting transaction问题

    如何解决Mysql报错Deadlock found when trying to

    这篇文章主要介绍了如何解决Mysql报错Deadlock found when trying to get lock;try restarting transaction问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • MySQL开启慢查询日志功能的方法

    MySQL开启慢查询日志功能的方法

    今天小编就为大家分享一篇关于MySQL开启慢查询日志功能的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • MySQL中数据类型相关的优化办法

    MySQL中数据类型相关的优化办法

    这篇文章主要介绍了MySQL中数据类型相关的优化办法,包括使用多列索引等相关的优化方法,需要的朋友可以参考下
    2015-07-07
  • MySQL中json_extract()函数的使用实例

    MySQL中json_extract()函数的使用实例

    这篇文章主要介绍了MySQL中json_extract()函数的使用实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • MySQL常用表级操作总结

    MySQL常用表级操作总结

    这篇文章主要为大家详细介绍了MySQL中常用的表级操作,文中的示例代码简洁易懂,对我们学习MySQL有一定的帮助,感兴趣的小伙伴可以学习一下
    2023-08-08
  • Mysql更换MyISAM存储引擎为Innodb的操作记录总结

    Mysql更换MyISAM存储引擎为Innodb的操作记录总结

    下面小编就为大家带来一篇Mysql更换MyISAM存储引擎为Innodb的操作记录总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • mysql复制data文件迁移的实现步骤

    mysql复制data文件迁移的实现步骤

    有时候,我们需要迁移整个数据库,包括数据文件,本文将介绍如何通过复制MySQL的data文件来完成数据库迁移,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Mysql Limit 分页查询优化详解

    Mysql Limit 分页查询优化详解

    这篇文章主要介绍了Mysql Limit 分页查询优化的相关资料,非常不错,介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09

最新评论