node.js连接mysql出现报错Host ‘XXX-XXX‘ is not allowed to connect to this MySQL server(Server version: 8.3)

const mysql = require("mysql")
const pool = mysql.createPool({
    host: "192.168.2.32",
    port:"3306",
    user: "root",
    password: "root",
    database:"wifi_module"
})
pool.query("select 1", (err, result) => {
    if (err) return console.log(err.message);
    
    console.log(result);
})
module.exports = {
pool
}

原因为主机(IP)XXX-XXX没有访问远程数据库的权限

1.登录数据库
mysql -u root -p
2.输入密码
mysql> use mysql;
3.查询host
mysql> select user,host from user;
4.创建host
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
5.授权用户
GRANT ALL ON *.* TO '你的密码'@'%'; 
(如果成功可不运行以下代码)
alter user 'root'@'%' identified with mysql_native_password by '你的密码'

(注意配置项参数名)

运行代码出现
[ RowDataPacket { '1': 1 } ]表示连接成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值