微信小程序node连接mysql数据库

 文章主要提供微信小程序连接后端本地mysql服务器可能会遇到的一些问题和解决,供大家参考,欢迎指正补充。

原参考文章:微信小程序通过 node 连接 mysql——方法,简要原理,及一些常见问题_微信小程序连接本地mysql数据库_灰海宽松的博客-CSDN博客 ,还请多多支持原作者!

node搭建以及js请求可以参考上述文章。

问题一:终端报错:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

问题主要出于mysql8.0版本以上加密方式Node还不支持。

解决方法一:命令提示符

键入 

alter user 'admin'@'localhost' identified with mysql_native_password by '123456'

修改密码。123456用自己的密码代替,可以是原密码。

然后键入

 flush privileges

这一步可以不执行,quit就行。

上述解决办法是绝大多数博主给出的解决办法,但我执行后没有奏效。

解决方法二:降低MySQL版本

可以把mysql版本降低到5.0版本,网上有成功的例子。

解决办法三:参考GitHub中给出的解决办法

https://youtu.be/W2TuIx2y4kw?si=EfFIX4vuN65ymf6C

(视频发布于youtube)尝试了很多种方法,最后通过这个方法解决的。

解决办法四:仔细检查语法
const IPAddress='[你的数据库地址]'
const UserName='[mysql 用户名]'
const PWD='[mysql 密码]'
const DBName='[要操作的数据库名]'

上述内容错误也可能导致这个问题,比如把【mysql 用户名】写错就会这样报错。

 正常情况示例

正常情况下监听的内建终端里会输出(数据内容为虚构):

console里data项就是从数据库获取的信息。

问题二:table或者database不存在

仔细查看调用的数据库和表单是否存在以及调用是否合法,数据库和table可以通过navicat工具查看。相关的SQL入门知识可以查看下面这篇博客,分了七章:SQL入门:第一章 建立自己的数据库_数据库搭建-CSDN博客

 

问题三:域名合法问题

对于正式上线的项目,小程序要求服务器域名必须在小程序管理后台中添加,域名必须经过ICP备案,且支持HTTPS和WSS协议,对于开发人员来说,可以在微信开发者工具中关闭这些验证,从而利用本地服务器来测试网络功能。

解决办法:在详情页勾选不校验合法域名

目前主要梳理出以上三个问题,仅供大家参考,欢迎指正补充。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值