【故障排查】Docker启动Nacos报错:No DataSource set 问题解决

news2024/9/23 2:33:36

在这里插入图片描述

Nacos报错内容

Nacos Server did not start because dumpservice bean construction failure :  No DataSource set

原因分析

Nacos 配置的是单机模式,使用mysql 进行存储配置文件,Nacos的启动脚本已经配置了MySQL的连接方式,根据错误提示,应该是数据库的问题,重点排查MySQL的服务是否正常

排查MySQL可能存在的问题

确保Mysql已经启动

Mysql服务也是通过docker 的方式启动

查看docker 服务
docker ps
登录MySQL容器
docker exec -it <容器名称|容器id> /bin/sh

发现MySQL服务正常启动,也可以正常进入docker 容器

确保Mysql账号可以远程访问
登录MySQL
mysql -u root -p

输入密码

选择 mysql 数据库
use mysql;

因为 mysql 数据库中存储了用户信息的 user 表。

查看当前用户的相关信息
select host, user, authentication_string, plugin from user; 
确保IP可以访问
ping <IP>
确保端口可以访问
telnet <IP> <PORT>

排查Nacos可能存在的问题

是否正确设置环境变量

特别是以下环境变量:

  • MYSQL_SERVICE_HOST:MySQL数据库的主机名或IP地址。
  • MYSQL_SERVICE_PORT:MySQL数据库的端口号。
  • MYSQL_SERVICE_USER:连接数据库的用户名。
  • MYSQL_SERVICE_PASSWORD:连接数据库的密码。
  • MYSQL_SERVICE_DB_NAME:要使用的数据库名称。

确保这些环境变量的值正确地对应你的MySQL数据库配置。

是否设置超时时间

Nacos启动脚本增加,以下配置

-e NACOS_SERVER_TIMEOUT=5000

重启Nacos服务,还是报错

设置MySQL连接参数
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC'

重启Nacos服务,依旧报错

问题分析

根据报错的内容,一直觉得是MySQL的问题,可以发现MySQL是正常启动的,于是开始怀疑的Nacos的问题,而Nacos经过一系列的排查,也没有发现问题,到底是什么原因造成的呢?

最后把问题重新回到MySQL的上面,继续在MySQL上面找原因,由于把MySQL升级到了最新版,是不是因为升级MySQL造成的问题呢,对比MySQL旧版本存储数据,发现是MySQL加密插件的问题,那么问题就好解决了,只需要把加密插件修改为之前的就可以了

问题解决

修改MySQL密码并指定加密插件

# 使用mysql数据库
use mysql;
# 修改MySQL密码并指定加密插件
alter user 'root'@'%' identified with mysql_native_password by 'root';
# 刷新使其生效
flush privileges;
# 查询修改后的数据
select host,user,plugin,authentication_string from mysql.user;

这里将MySQL的密码设置为root,具体使用时,可以根据需要修改。

文档参考

在MySQL中,mysql.user表是存储用户信息的系统表之一。该表中的plugin字段表示用户所使用的身份验证插件。

  • caching_sha2_password:这是MySQL 8.0版本引入的默认身份验证插件。它使用SHA-256算法对密码进行加密,并将加密后的密码存储在mysql.user表中。这种插件提供了更强大的安全性,因为它使用了更强大的加密算法。
  • mysql_native_password:这是MySQL早期版本中使用的默认身份验证插件。它使用SHA-1算法对密码进行加密,并将加密后的密码存储在mysql.user表中。然而,SHA-1算法已经被认为不够安全,因此在MySQL 8.0版本中被caching_sha2_password取代。

当MySQL的用户使用caching_sha2_password作为身份验证插件时,可能会遇到无法通过外部访问的问题。这是因为caching_sha2_password插件要求客户端使用SSL/TLS加密连接到MySQL服务器。如果客户端没有使用SSL/TLS加密连接,MySQL服务器将拒绝连接请求。

这种限制是为了增加数据传输的安全性。通过使用SSL/TLS加密连接,可以防止密码在传输过程中被窃取或篡改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1944563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

麒麟V10安装nginx、mysql报错缺少包:error while loading shared libraries libssl.so.10

背景 启动nginx报错&#xff1a;error while loading shared libraries libssl.so.10 解决 查看nginx启动文件所依赖的动态链接库&#xff08;即共享库或动态库&#xff09; ldd nginx-1.22.1/sbin/nginx离线安装compat-openssl10包 将依赖包麒麟v10安装openssl10依赖包上…

MYSQL存储引擎InnoDB, MyISAM简介

MYSQL存储引擎 在开始谈到mysql存储引擎之前&#xff0c;我们应该知道或者了解存储引擎是什么&#xff0c;存储引擎是为了解决什么样的问题的。 在mysql中&#xff0c;存储引擎是处理不同表类型SQL操作的MySQL组件&#xff0c;同时MySQL服务器采用可插拔的存储引擎架构&#x…

关于Qt部署CMake导致“Failed to set working directory to”的问题

2024年7月23日补充&#xff1a;该目录过深的情况只在Win10上有发现&#xff0c;Win11则没有问题&#xff0c;且Win11可以在DevHome中设置LongPath。 --------------------------------------------------------------------------------------------------------------- 使用qt…

ABAP+从SAP发出去的PDF文件在第三方系统出现乱码

这是一个 ABAP转换PDF调用函数CALL FUNCTION CONVERT_OTF的问题记录&#xff0c;关乎字体STSong-Light-ldentity-H 和 STSong-Light的区别 背景&#xff1a; 做了一个增强&#xff0c;是采购订单审批后自动发送采购订单PDF1到企业微信&#xff0c;用户再将企业微信收到的P…

【独立站运营经验分享】独立站8大运营模式怎么选?

跨境独立站模式众多&#xff0c;你了解多少呢&#xff1f;今天&#xff0c;带你充分了解各种模式优劣对比&#xff0c;从知道适合做什么样的独立站。 1、铺货模式 指不局限于单一品类&#xff0c;广泛、批量地上架市场反响好的商品模式&#xff0c;以大量的SKU和较低的价格为特…

基于 Electron+Vite+Vue3+Sass 框架搭建

技术参考 技术描述Electron一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。嵌入 Chromium 和 Node.jsElectron Forge用于打包和分发 Electron 应用程序的一体化工具。英文地址在此Vite前端构建工具Vue3用于构建用户界面的 JavaScript 框架vitejs/plugin-vueVite 插…

鸿蒙OS物联网创新应用实训解决方案

摘要&#xff1a; 随着物联网技术的飞速发展&#xff0c;各种智能设备和传感器正在以前所未有的速度融入我们的日常生活。华为推出的鸿蒙操作系统&#xff08;HarmonyOS&#xff09;作为一款面向全场景、多设备、无缝连接的分布式操作系统&#xff0c;为物联网领域带来了全新的…

pdf文件压缩的有效方法,详解5个效果高效的文件压缩方法汇总!

在现代信息社会中&#xff0c;PDF 文件已经成为我们日常工作和学习中不可或缺的重要载体。然而&#xff0c;随着 PDF 文件内容的增多和复杂化&#xff0c;文件大小的膨胀也成为一个常见问题&#xff0c;给存储、共享和传输带来了不少挑战。本文旨在探讨如何通过有效的压缩方法来…

VScode 修改 Markdown Preview Enhanced 字体以及大纲编号

修改字体和背景颜色 按快捷键 Ctrl , 打开设置&#xff0c;搜索 markdown-preview-enhanced.previewTheme&#xff0c;选择一个黑色主题的css&#xff0c;如 github-dark.css. 修改自动编号和背景颜色 背景颜色 按 F1 或者 Ctrl Shift P&#xff0c;输入 Customize CSS…

WEB 手柄 http通信,mcu端解析代码 2024/7/23 日志

WEB 手柄 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>WEB遥控器</title> </head> &l…

【Linux】条件变量及生产者消费者模型

为什么要将这两者放在一起进行呢&#xff1f; 主要是因为生产消费与条件变量关系密切&#xff0c;正好相辅相成。 目录 条件变量&#xff1a;条件变量的引出&#xff1a;条件变量的解释与接口&#xff1a;测试代码&#xff1a; 生产者消费者模型&#xff1a;概念&#xff1a;代…

Window版本nginx修改文件访问句柄数被限制,解决大并发量访问时无法响应问题

目录 一、问题背景 二、问题分析 三、解决办法 四、查看nginx连接状态 一、问题背景 Windows版本因为文件访问句柄数被限制为1024了&#xff0c;当大并发量访问时就会无法响应。会有如下错误提示&#xff1a;maximum number of descriptors supported by select() is 1024…

强化学习学习(二)基于价值函数就能做到RL——Q-Learning Q学习

文章目录 Value funtion methods-为什么我们用回了Q函数&#xff1f;Q-iterationQ-Learning (P30) Value funtion methods-为什么我们用回了Q函数&#xff1f; 先回顾一下在AC中的基于V函数的框架&#xff1a; 另一个想法&#xff1a;不依赖梯度&#xff0c;而是直接根据值函…

vue3+vite 实现动态引入某个文件夹下的组件 - glob-import的使用

<template><div class"user-content"><HeaderTitle title"用户详情"></HeaderTitle><div class"main-content"><div><UserForm /></div><div><TableList></TableList></d…

pytest实战技巧之参数化应用

pytest是Python中最流行的测试框架之一。它提供了丰富的功能&#xff0c;可以帮助我们编写高效、可靠的测试用例。其中一个重要的功能就是参数化&#xff0c;它可以让我们用不同的数据组合来运行同一个测试用例&#xff0c;从而 提高测试覆盖率和效率。本文将介绍pytest参数化的…

python之名称空间和作用域(关键字:global和nonlocal的使用)

文章目录 前言1、名称空间和作用域1.1 引言1.2 名称空间1.2.1 内置名称空间1.2.2 全局名称空间1.2.3 局部名称空间1.2.4 名称空间的产生和销毁顺序 1.3 作用域1.3.1 全局作用域1.3.2 局部作用域1.3.3 名字的查找顺序 1.4 关键字&#xff1a;global1.5 关键字&#xff1a;nonloc…

在eclipse中导入本地的jar包配置Junit环境步骤(包含Junit中的方法一直标红的解决方法)

搭建JUnit环境 下文中我用到的本地jar包可以到我上传的资源中下载&#xff0c;不需要积分 链接&#xff1a;https://download.csdn.net/download/weixin_70987470/89571891?spm1001.2014.3001.5503 一、配置环境 跟上一篇的那种方法不一样&#xff0c;直接Add to Build Path …

MySQL的表,视图,索引创建

一。创建表 1。创建Student表 mysql> create table Student(Sno int primary key auto_increment,Sname varchar(30) not null unique,Ssex varchar(2) check (Ssex 男 or Ssex 女) not null,Sage int not null,Sdept varchar(10) default 计算机 not null); 2.创建Cour…

Linux云计算 |【第一阶段】SERVICES-DAY2

主要内容&#xff1a; DNS服务基础及搭建、特殊解析(针对地址库文件&#xff1a;DNS轮询 DNS泛域名解析 DNS别名&#xff09;、缓存DNS&#xff08;全局转发forwarders&#xff09;、DNS递归迭代&#xff08;子域授权&#xff09;、DNS主从架构搭建、DNS主从数据同步 一、DNS工…

基于Element UI内置的Select下拉和Tree树形组件,组合封装的树状下拉选择器

目录 简述 效果 功能描述 代码实现 总结 简述 基于Element UI内置的Select下拉和Tree树形组件&#xff0c;组合封装的树状下拉选择器。 效果 先看效果&#xff1a; 下拉状态&#xff1a; 选择后状态&#xff1a; 选择的数据&#xff1a; 功能描述 1、加载树结构&…