【问题标题】:MySql update command denied to user errorMySql 更新命令拒绝用户错误
【发布时间】:2022-01-31 21:49:44
【问题描述】:

我正在使用 MySQL 和 sequelize 在 Node.js 中开发一个 api。

当我尝试执行特定的更新查询时出现错误:

错误代码:1142。用户拒绝更新命令 'ncuser_2040'@'xxx-xx-xx-xxx' 用于表'shopping_items'

我在同一个 api 上检查了另一个更新状态,它工作正常。

这是声明:

UPDATE my_recipes_db.shopping_items SET picked = true WHERE master_list = true
and ingredientName in (select * FROM (select ingredientName FROM my_recipes_db.shopping_items
WHERE owner_id = ownerId and shopping_list_name = shoppingList) as t);

在我的搜索中,我发现一些更新语句不能用 MySQL 执行,但是这个语句在 MYSQL Workbench 中适用于我的本地主机,但不适用于我使用 Nodechef 托管的远程数据库。

我对此应用也没有任何其他被拒绝的权限。

有什么想法吗?

马尔科姆

更新:

显示授予本地主机 '授予选择、插入、更新、删除、创建、删除、重新加载、关闭、处理、文件、参考、索引、更改、显示数据库、超级、创建临时表、锁定表、执行、复制从属、复制客户端、创建视图, 显示视图, 创建例程, 更改例程, 创建用户, 事件, 触发器, 创建表空间, 创建角色, 将角色放在 *.* 到 root@localhost WITH GRANT 选项' 'GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID, SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON . TO root@localhost WITH GRANT OPTION' '''@''到'root'@'localhost'上的GRANT PROXY WITH GRANT OPTION' 版本:'8.0.25'

远程: 'GRANT USAGE ON . TO 'ncuser_2040'@'%'' 将my-recipes.* 上的所有权限授予'ncuser_2040'@'%' 版本:'5.7.18-log'

【问题讨论】:

  • 您能分享一下SHOW GRANTS 在您的本地数据库和远程托管数据库中为您的用户显示的内容吗?还有SELECT VERSION()
  • 我已经用你想要的数据进行了更新。

标签: mysql node.js sequelize.js


【解决方案1】:

您的授权表明您对远程数据库上的my-recipes.* 具有特权,但在您的查询中您在本地实例上成功运行,您引用了名为my_recipes_db 的架构中的表。换句话说,您在远程实例上没有任何特权来使用名为 my_reciped_db 的架构,因此您会收到一个错误,即您不能使用 UPDATE。

我建议您在本地和远程 MySQL 实例上将架构命名为相同,以避免这种混淆。

我还建议您在本地使用与您将部署到托管服务器上的版本相同的 MySQL 版本。在这种情况下可能不是问题,但在其他情况下可能会导致不兼容问题。

【讨论】:

    猜你喜欢
    • 2012-06-12
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 2015-04-08
    • 2019-01-29
    相关资源
    最近更新 更多