You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express连接MySQL报错:qwer用户被拒,root用户可正常创建连接池

问题解决方法

核心原因是你的MySQL用户配置和连接方式不匹配:你创建的是qwer@%用户,但连接时用localhost作为host,MySQL会把localhost和%当作两个不同的主机身份处理——localhost默认走本地socket连接,不会匹配%对应的TCP/IP权限规则,所以会提示权限拒绝。

给你两个直接的解决办法:

办法一:修改连接配置,强制用TCP/IP连接

把sqlPool.js里的host从localhost改成127.0.0.1,这样连接会走TCP/IP协议,匹配qwer@%的权限配置:

const mysql = require('mysql');
const sqlPool = mysql.createPool({
    host: '127.0.0.1',
    port: 3306,
    user: 'qwer',
    password: 'qwer@0.0.0-MySQL',
    database: 'gl1_ui',
    connectionLimit: 16
});

办法二:创建qwer@localhost用户并授权

登录MySQL客户端,执行以下SQL,专门给localhost连接创建qwer用户并同步权限:

CREATE USER `qwer`@`localhost` IDENTIFIED WITH mysql_native_password BY 'qwer@0.0.0-MySQL';
-- 同步原qwer@%的权限
GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create View, Delete, Event, Execute, Index, Insert, Lock Tables, References, Select, Show View, Trigger, Update ON `gl1_ui`.* TO `qwer`@`localhost`;
GRANT Create View, Delete, Event, Execute, File, Grant Option, Index, Insert, Process, References, Reload, Select, Show Databases, Show View, Shutdown, Trigger, Update ON *.* TO `qwer`@`localhost`;
FLUSH PRIVILEGES;

内容的提问来源于stack exchange,提问作者Hata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 05:23:26