开发者社区 > 数据库 > 正文

试用ECS服务器,创建的mysql已经用Navicat连接,可是在用nodejs连接时报错

已解决

1、已在ECS下创建Mysql、并且开放了3306端口,授权范围是0.0.0.0
image.png
2、MySQL创建了个用户username为xiaobai,Navicat已成功连接数据库了,且可以在里面增删改查
image.png
3、本地的eggjs项目配置如下:
image.png
4、结果一直报错,大概意思是无权限连接,不懂在哪里配置了,本人前端,纯学习的,遇到坑过不去,希望大神指点。报错:ERROR 6368 nodejs.SequelizeAccessDeniedError: Access denied for user 'root'@'112.21.209.70' (using password: YES)
image.png

展开
收起
游客xpk5zzq2pbgyk 2024-03-25 22:19:27 125 0
4 条回答
写回答
取消 提交回答
  • 没有为root用户授权访问数据库。

    使用root用户登录MySQL,执行以下命令:

       GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
       FLUSH PRIVILEGES;
    

    ——参考链接

    2024-03-26 07:58:51
    赞同 1 展开评论 打赏
  • 给您推荐最划算最便宜的阿里云产品 https://www.aliyun.com/activity?userCode=m4a0ywsh

    欢迎来到活动中心!快速了解阿里云最新产品优惠和所有活动资讯
    https://www.aliyun.com/activity?userCode=m4a0ywsh

    2024-04-08 14:13:59
    赞同 1 展开评论 打赏
  • 阿里云大降价~

    根据您提供的信息,问题可能出在Node.js连接MySQL时使用的用户名和密码不正确。您提到已经创建了一个名为xiaobai的用户,但在Node.js项目中使用的是root用户。请尝试将Node.js项目中的数据库配置更改为使用xiaobai用户和相应的密码。
    例如,如果您使用的是egg-sequelize插件,可以在config/config.default.js文件中修改数据库配置:

    exports.sequelize = {
      dialect: 'mysql',
      host: '127.0.0.1',
      port: 3306,
      username: 'xiaobai', // 将这里的root更改为xiaobai
      password: 'your_password', // 将这里的your_password更改为实际的密码
      database: 'your_database',
    };
    

    如果仍然无法解决问题,请检查MySQL服务器的日志以获取更多详细信息。

    2024-03-29 17:42:54
    赞同 展开评论 打赏
  • 你把用nodejs连接mysql的用户名密码改成用Navicat连接mysql的用户名密码就可以了,你两个用户名密码不一样,应该是权限问题

    2024-03-26 09:16:43
    赞同 2 展开评论 打赏

数据库领域前沿技术分享与交流

相关产品

  • 云数据库 RDS MySQL 版
  • 相关电子书

    更多
    探究 Node.js 的服务端之路 立即下载
    个推微服务实践 基于OpenResty 和Node.js 立即下载
    沪江基于Node.js大规模应用实践 立即下载

    相关镜像