SequelizeConnectionRefusedError: connect ECONNREFUSED ::1:3306 MYSQL连接问题

在这里插入图片描述

今天使用Node连接Mysql时出现了这个报错,网上查了一下没有出现过相似报错的,所以解决方法在这里讲一下

const Sequelize=require('sequelize')
const sequelize=new Sequelize('user','root','',{
    host:'localhost',
    dialect:'mysql',
    port:3306
})

出现问题的 ::1:3306 ,而正确的信息 ::1位置应该是localhost的字段,所以是电脑把localhost解析成了 ::1。
所以问题归纳成了 localhost解析成了::1的问题,网上查了相关资料,是因为windows10中IPv6优先级设置高于IPv4,我们在命令行中输入以下命令,把优先级更改即可解决这个问题
netsh int ipv6 set prefix ::/96 50 0
netsh int ipv6 set prefix ::ffff:0:0/96 40 1
netsh int ipv6 set prefix 2002::/16 35 2
netsh int ipv6 set prefix 2001::/32 30 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5
netsh int ipv6 set prefix fc00::/7 3 13
netsh int ipv6 set prefix fec0::/10 1 11
netsh int ipv6 set prefix 3ffe::/16 1 12
输入之后 再查询ping localhost,如果输出为127.0.0.1则问题解决