Midway + TypeORM项目部署到BT后启动失败,MySQL报错

Midway + TypeORM项目部署到BT后启动失败,MySQL报错

前沿

您需要先了解这篇文章:https://blog.csdn.net/weixin_45687201/article/details/139336111

错误日志

  • 服务状态开启后就失败
  • 项目日志,输出
\> my-midway-project@1.0.0 start
\> cross-env NODE_ENV=production node ./bootstrap.js
2024-06-21 16:51:00.709 ERROR 16665 Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at Handshake.Sequence.\_packetToError (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
at Handshake.ErrorPacket (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18)
at Protocol.\_parsePacket (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/Protocol.js:291:23)
at Parser.\_parsePacket (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/Parser.js:433:10)
at Parser.write (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/Parser.js:43:10)
at Protocol.write (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/Protocol.js:38:16)
at Socket.<anonymous> (/www/wwwroot/web/midway-project/node_modules/mysql/lib/Connection.js:88:28)
at Socket.<anonymous> (/www/wwwroot/web/midway-project/node_modules/mysql/lib/Connection.js:526:10)
at Socket.emit (node:events:513:28)
at addChunk (node:internal/streams/readable:315:12)---at Protocol.\_enqueue (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/www/wwwroot/web/midway-project/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at PoolConnection.connect (/www/wwwroot/web/midway-project/node_modules/mysql/lib/Connection.js:116:18)
at Pool.getConnection (/www/wwwroot/web/midway-project/node_modules/mysql/lib/Pool.js:48:16)
at /www/wwwroot/web/midway-project/node_modules/typeorm/driver/mysql/MysqlDriver.js:1012:18
at new Promise (<anonymous>)
at MysqlDriver.createPool (/www/wwwroot/web/midway-project/node_modules/typeorm/driver/mysql/MysqlDriver.js:1009:16)
at MysqlDriver.connect (/www/wwwroot/web/midway-project/node_modules/typeorm/driver/mysql/MysqlDriver.js:305:36)
at DataSource.initialize (/www/wwwroot/web/midway-project/node_modules/typeorm/data-source/DataSource.js:136:27)
at TypeORMDataSourceManager.createDataSource (/www/wwwroot/web/midway-project/node_modules/@midwayjs/typeorm/dist/dataSourceManager.js:31:26) {
code: 'ER_NOT_SUPPORTED_AUTH_MODE',
errno: 1251,
sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
sqlState: '08004',
fatal: true
}
2024-06-21 16:51:00.710 INFO 16665 [midway:bootstrap] exit with code:1

在这里插入图片描述

抓住关键信息:

# 客户端不支持服务器请求的认证协议;考虑升级MySQL客户端
qlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client'

解决方案

更改用户认证插件

输入root用户的密码登录MySQL

# 这里使用之前创建的 Vinca 用户进行登录
sudo mysql -u root -p

更改用户认证插件

代码示例:

# 将'your_mysql_username', 'localhost', 'your_mysql_password'替换为实际的MySQL用户名,主机和密码。
ALTER USER 'your_mysql_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_mysql_password';

如下实际应用场景操作:

# 将用户名为 Vinca 的用户的认证插件更改为 mysql_native_password
mysql> alter user 'Vinca'@'%' identified with mysql_native_password by 'Ecs@123****';# 刷新权限
mysql> flush privileges;# 退出 MySQL
mysql> exit;

开启服务

回到BT > 网站 > Node项目 > midwayService设置 > 服务状态(开启)

配置nginx

服务开启正常,但api接口依旧无法访问,您需要配置nginx的反向代理。

nginx反向代理:https://blog.csdn.net/weixin_45687201/article/details/139060839

server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost:7001;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'upgrade';proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;}
}

将上述配置保存为一个 .conf 文件,然后将其放置到 Nginx 的配置目录下,通常是 /etc/nginx/conf.d/ 目录。

最后,重新加载 Nginx 配置即可生效:

sudo systemctl reload nginx

现在,你应该能够通过 API Post 请求访问你的 Midway 项目了。请确保替换 your_domain.com 为你的域名或 IP 地址。

参考链接: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

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

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

相关文章

前端vue-cli相关知识与搭建过程(项目创建,组件路由)very 详细

一.关于vue-cli 1.什么是vue Vue (读音 /vju ː /&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。 Vue.js 是前端的主流框架之一&#xff0c;和 Angular.js…

19、删除链表的倒数第

1、题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 …

多商户零售外卖超市外卖商品系统源码

构建你的数字化零售王国 一、引言&#xff1a;数字化零售的崛起 在数字化浪潮的推动下&#xff0c;零售业务正经历着前所未有的变革。多商户零售外卖超市商品系统源码应运而生&#xff0c;为商户们提供了一个全新的数字化零售解决方案。通过该系统源码&#xff0c;商户们可以…

基于Openmv的追小球的云台

介绍 在这篇文章&#xff0c;我会先介绍需要用到且需要注意的函数&#xff0c;之后再给出整体代码 在追小球的云台中&#xff0c;比较重要的部分就是云台&#xff08;实质上就是舵机&#xff09;的控制以及对识别的色块位置进行处理得到相应信息后控制云台进行运动 1、舵机模…

qt.qpa.xcb: could not connect to display问题解决

1、问题描述 以服务器pi5作为远程解释器&#xff0c;本地win11使用vscode远程调试视觉时报错如下&#xff1a; qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "xxxxx" even though it was …

Docker Compose--安装Nginx--方法/实例

原文网址&#xff1a;Docker Compose--安装Nginx--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Docker Compose如何安装Nginx。 目录结构 ├── config │ ├── cert │ │ ├── xxx_bundle.pem │ │ └── xxx.key │ ├── conf.d │ …

JAVA笔试题目

1.标识符的使用 2.类名和java文件名的关系 3.java数据类型关系

第3章 小功能大用处-事务与Lua

为了保证多条命令组合的原子性&#xff0c;Redis提供了简单的事务功能以及集成Lua脚本来解决这个问题。 首先简单介绍Redis中事务的使用方法以及它的局限性&#xff0c;之后重点介绍Lua语言的基本使用方法&#xff0c;以及如何将Redis和Lua脚本进行集成&#xff0c;最后给出Red…

React+TS 从零开始教程(3):useState

源码链接&#xff1a;下载 在开始今天的内容之前呢&#xff0c;我们需要先看一个上一节遗留的问题&#xff0c;就是给属性设置默认值。 我们不难发现&#xff0c;这个defaultProps已经被废弃了&#xff0c;说明官方并不推荐这样做。其实&#xff0c;这个写法是之前类组件的时候…

AI金融投资:批量下载巨潮资讯基金招募说明书

打开巨潮资讯的基金招募说明书页面&#xff1a; http://www.cninfo.com.cn/new/fulltextSearch/full?searchkey%E5%B0%81%E9%97%AD%E5%BC%8F%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD%E8%AF%81%E5%88%B8%E6%8A%95%E8%B5%84%E5%9F%BA%E9%87%91%E6%8B%9B%E5%8B%9F%E8%AF%B4%E6%98%…

计算机网络 访问控制列表以及NAT

一、理论知识 1. 单臂路由 单臂路由是一种在路由器上配置多个子接口的方法&#xff0c;每个子接口代表不同的 VLAN&#xff0c;用于在一个物理接口上支持多 VLAN 通信。此方法使得不同 VLAN 之间可以通过路由器进行通信。 2. NAT (网络地址转换) NAT 是一种在私有网络和公共…

可变分区管理 分区分配算法

First Fit Algorithm Best Fit Algorithm FFA&#xff1a;按照起始地址从小到大&#xff08;本题为分区编号&#xff09;找到第一个能装下进程的起始地址填入第二个表 此时 原表中将起始地址进程大小 分区大小-进程大小 如此继续 BFA&#xff1a;按分区大小排序 从小到大 找到…

【ONLYOFFICE震撼8.1】ONLYOFFICE8.1版本桌面编辑器测评

随着远程工作的普及和数字化办公的发展&#xff0c;越来越多的人开始寻找一款具有强大功能和便捷使用的办公软件。在这个时候&#xff0c;ONLYOFFICE 8.1应运而生&#xff0c;成为了许多用户的新选择。ONLYOFFICE 8.1是一种办公套件软件&#xff0c;它提供了文档处理、电子表格…

面试-细聊synchronized

1.线程安全问题的主要诱因&#xff1a; 存在多条共享数据(临界资源) 存在多条线程共同操作这些共享数据 解决问题的根本方法&#xff1a; 同一时刻有且仅有一个线程在操作共享数据&#xff0c;其他线程必须等到该线程处理完数据后在对共享数据进行操作。 2.synchroized锁 分…

使用Python Selenium,动态网页不再是难题!

目录 1、直接执行JS代码 🌐 1.1 execute_script基础用法 1.2 带参数执行JS函数 1.3 获取执行结果 2、使用execute_async_script异步执行 🔄 2.1 适用场景分析 2.2 实现异步操作示例 2.3 错误处理与调试技巧 3、JS与页面元素交互 👤 3.1 修改DOM属性 3.2 触发事…

中国智能工厂自动化集成商100强:广东23家,江苏20家,上海浙江紧随其后

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 更多的海量【智能制造】相关资料&#xff0c;请到智能制造online知识星球自行下载。 在数字化、智能化的浪潮中&#xff0c;中国智能工厂自动化集…

内存马查杀工具使用

内存马查杀工具使用 环境搭建 找一台centos7 在上面搭建tomcat yum install -y tomcat tomcat-webapps tomcat-admin-webapps systemctl start tomcat安装arthas wget https://github.com/alibaba/arthas/releases/download/arthas-all-3.6.6/arthas-bin.zip unzip arthas-b…

收银系统源码-千呼新零售2.0【线上营销】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货等连锁店使用。 详细介绍请查看&a…

JupyterLab使用指南(三):JupyterLab的Cell详细介绍

JupyterLab Cell 使用教程 JupyterLab 的 cell 是一种强大的工具&#xff0c;提供了编写、执行、展示和记录的全方位支持&#xff0c;使得复杂的计算任务变得简单直观。通过熟练掌握 cell 的各种操作和快捷键&#xff0c;用户可以显著提高工作效率&#xff0c;专注于解决实际问…

ChatGPT API教程在线对接OpenAI APIKey技术教程

一、OpenAI基本库介绍 您可以通过 HTTP 请求与 API 进行交互&#xff0c;这可以通过任何编程语言实现。我们提供官方的 Python 绑定、官方的 Node.js 库&#xff0c;以及由社区维护的库。 要安装官方的 Python 绑定&#xff0c;请运行以下命令&#xff1a; pip install open…