node连接Mysql失败

报错信息

Error: connect ETIMEDOUTat Connection._handleConnectTimeout (d:\课设\服务器端\node_modules\mysql\lib\Connection.js:409:13)at Object.onceWrapper (node:events:628:28)at Socket.emit (node:events:514:28)at Socket._onTimeout (node:net:589:8)at listOnTimeout (node:internal/timers:573:17)at process.processTimers (node:internal/timers:514:7)--------------------at Protocol._enqueue (d:\课设\服务器端\node_modules\mysql\lib\protocol\Protocol.js:144:48)at Protocol.handshake (d:\课设\服务器端\node_modules\mysql\lib\protocol\Protocol.js:51:23)at Connection.connect (d:\课设\服务器端\node_modules\mysql\lib\Connection.js:116:18)at Object.<anonymous> (d:\课设\服务器端\index.js:18:12)at Module._compile (node:internal/modules/cjs/loader:1241:14)at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)at Module.load (node:internal/modules/cjs/loader:1091:32)at Module._load (node:internal/modules/cjs/loader:938:12)at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12)at node:internal/main/run_main_module:23:47 {errorno: 'ETIMEDOUT',code: 'ETIMEDOUT',syscall: 'connect',fatal: true
} 

原因

首先检查端口号,用户名,密码,数据库,主机有没有错误。

如果没有,再看自己的mysql的版本是不适8.0以上的,因为8.0以上的采用了新的加密方法,我们需要更换mysql驱动包,导入mysql2驱动包const mysql = require('mysql2')
或者
cmd管理员进入MySQL文件夹的bin目录

输入命令:mysql -u root -p

输入密码

alter USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRENEVER;

alter USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘修改自己的密码’;

nodejs连接mysql

npm install mysqlconst mysql = require('mysql');//创建连接
const con = mysql.createConnection({host: '127.0.0.1',user: 'root',password: '你自己的密码',port: '3306',// 自己的端口号,默认为3306database: "自己的数据库"});//连接
con.connect(); //这里没报错的话就没有问题了,如果还是报错,那重新安装个低版本的数据库吧,卸载mysql找个靠谱的教程卸载,这玩意挺麻烦的。

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

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

相关文章

计算机毕设项目(一)基于flask+mongo+angular实现爬取加密货币信息并使用LSTM模型预测价格的论坛可视化平台

文章目录 加密货币平台项目介绍技术栈1. 用户管理2. 新闻和帖子管理3. 加密货币数据4. 对话获取5. 数据获取 服务端代码完整代码 加密货币平台项目介绍 这个项目是一个基于 Flask 和 MongoDB 的深度学习应用程序&#xff0c;通过爬虫爬取加密货币行情和介绍信息&#xff0c;并…

rust嵌入式开发补充

本文是对rust嵌入式开发的补充&#xff0c;就当时遗留的一些问题进行增补与修正。 RTIC中的任务处理 在上篇文章中还不是很理解rtic的工作机制。但写东东进行总结的好处就体现出来了&#xff0c;在上篇文章中提到了rtic的app入口本就是一个进程宏&#xff0c;所以在写完文章后…

(Java企业 / 公司项目)分布式事务Seata详解(含Seata+Nacos组合使用)

一. Seata介绍 Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前&#xff0c;其内部版本在阿里系内部一直扮演着应用架构层数据一致性的中间件角色&#xff0c;帮助经济体平稳的度过历年的双11&…

数字化转型与数据化思维

什么是数字化转型&#xff0c;什么是数据化思维&#xff0c;它们之间有什么关系&#xff1f; 数字化转型&#xff08;Digital Transformation&#xff09;是指企业或组织利用数字技术从根本上改变其业务活动、流程、文化和商业模式的过程&#xff0c;以适应不断变化的市场环境…

【Vue3/Vue2】判断设备是移动端还是pc端跳转不同路由router

Vue3代码 APP文件中写入js代码 1、首先&#xff0c;通过isMobile()函数判断用户的设备类型。该函数使用正则表达式匹配navigator.userAgent字符串&#xff0c;以确定用户是在移动设备上访问网页还是在桌面设备上访问网页 2、然后&#xff0c;在onMounted()钩子函数中&#…

http的tcp连接

http的tcp连接 三次握手 1、客户端第一次发起握手&#xff0c;请求建立tcp连接。 2、服务端接收到请求&#xff0c;知道客户端发送正常&#xff0c;为了让客户端知道服务端发送和接收信息正常&#xff0c;发起第二次握手&#xff0c;告诉客户端接收到了请求&#xff0c;并答…

vue3 - 自定义弹框组件

写了一个弹框组件 <template><transition name"modal-fade"><div v-if"showFlag" class"myModal"><div class"content"><div class"topBox"><div class"leftTitle"><spa…

线性代数——行列式按行(列)展开

目录 一、余子式&#xff1a;将行列式某元素所在行和列的元素全去掉 剩余部分所构成的行列式&#xff0c;称为该元素的余子式 二、代数余子式 三、行列式等于它的任一行&#xff08;列&#xff09;的各元素与对应代数余子式乘积之和 四、行列式某行元素&#xff08;列&…

单机物理机部署Datax

一、概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 源码地址&#xff1a;https://github.com/alibaba/DataX 为了解决异构数据…

什么是云服务器?云服务器的工作原理是介绍

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云百科aliyunbai…

Linux shell jq工具操作文档(jq --help使用示例)

文章目录 jq工具介绍jq --help解读英文中文 使用示例1. 使用最简单的过滤器。将输入复制到输出&#xff0c;不做任何修改&#xff08;除了格式化&#xff09;2. 使用 -c 选项进行紧凑输出而非美化输出3. 使用 -n 选项以 null 作为单一输入值&#xff08;用于创建新json&#xf…

STL——stack容器和queue容器详解

目录 &#x1f4a1;stack &#x1f4a1;基本概念 常用接口 &#x1f4a1;queue &#x1f4a1;基本概念 &#x1f4a1;常用接口 &#x1f4a1;stack &#x1f4a1;基本概念 栈&#xff08;stack&#xff09;&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端…

OpenGL 网格拾取坐标(Qt)

文章目录 一、简介二、代码实现三、实现效果参考资料一、简介 有时候我们希望通过鼠标来拾取某个网格中的坐标,这就涉及到一个很有趣的场景:光线投射,也就是求取一条射线与网格的交点,这里如果我们采用普通遍历网格中的每个面片的方式,当网格的面片数据量很大时计算效率就…

Oracle VARCHAR和VARCHAR2区别

在Oracle数据库中&#xff0c;VARCHAR和VARCHAR2是两种不同的数据类型&#xff0c;它们的区别如下&#xff1a; 1.存储空间 VARCHAR和VARCHAR2在存储空间上有所不同。在Oracle 7及以下版本中&#xff0c;VARCHAR类型的长度是固定的&#xff0c;如果存储的数据长度小于定义的长…

pyside6 捕捉主窗口关闭后,进行释放相关的资源

import sys from PySide6 import QtGui from PySide6.QtWidgets import QWidget,QApplication,QMessageBoxclass Message(QWidget):def __init__(self):# 如果希望窗口内嵌于其他部件&#xff0c;可添加parent参数super(Message, self).__init__()# 调用初始化方法self.initUI(…

学习方法论:PQ4R 提升理解力

Learning Methodology: PQ4R for Enhanced Comprehension 学习方法论&#xff1a;PQ4R 提升理解力 The PQ4R method, devised by Thomas and Robinson, is an effective learning strategy that promotes better understanding and retention of information. It consists of…

Python基本语法与变量的相关介绍

python基本语法与变量 python语句的缩进 Python代码块使用缩进对齐表示代码逻辑&#xff0c;Python每段代码块缩进的空白数量可以任意&#xff0c;但要确保同段代码块语句必须包含相同的缩进空白数量。建议在代码块的每个缩进层次使用单个制表符或两个空格或四个空格 , 切记不…

Redis分布式锁的Java实现之道

摘要&#xff1a; 在当今的微服务架构中&#xff0c;分布式锁是一个非常重要的概念。它允许我们在多个服务之间同步操作&#xff0c;确保数据的一致性和完整性。而Redis作为一种高性能的内存数据存储系统&#xff0c;常常被用来实现分布式锁。 一、分布式锁的基本概念 在分布…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置软件触发模式(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPISDK设置硬件触发模式&#xff08;C&#xff09; Baumer工业相机Baumer工业相机NEOAPISDK和软触发模式的技术背景Baumer工业相机通过NEOAPI SDK设置软件触发模式功能1.引用合适的类文件2.通过NEOAPI SDK实现软件触发采集图像的功能 Bau…

jQuery选择器(二) 过滤选择器及可见性过滤选择器的使用

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍在 jQuery中过滤选择器及可见性过滤选择器的使用以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任…