【问题标题】:INSERT command denied to user 'root' for table 'users' - mysql, java, docker表'users'的用户'root'拒绝INSERT命令 - mysql,java,docker
【发布时间】:2022-01-06 08:20:05
【问题描述】:

我目前被拒绝访问并出现以下错误:

INSERT command denied to user 'root'@'172.25.0.3' for table 'users' 
ERROR 40 --- Servlet.service() for servlet [dispatcherServlet] in context with 
path [] threw exception [Request processing failed;

nested exception is 
org.springframework.dao.InvalidDataAccessResourceUsageException: 
could not execute statement; SQL [n/a];

nested exception is org.hibernate.exception.SQLGrammarException: 
could not execute statement] with root cause 
java.sql.SQLSyntaxErrorException: INSERT command denied to user 
'root'@'172.25.0.3' for table 'users'

这一切都很好,我的最后一个更改是在表中添加一列。这在一段时间内工作得很好,但后来就坏了,因为这是我恢复它的最后一个更改,但我仍然有一个问题,但它在本地主机上一切正常(即使有新的更改)。

我将不胜感激这方面的任何帮助。我确信语法是正确的,因此很乐意提供任何关于潜在探索途径的建议。

注意 - 我的浏览器只显示 500 错误。

*EDIT - 每当我向表中添加列时,我都能重现该错误(添加或删除行似乎没问题)。该问题将在立即发布时起作用,然后在它开始导致该问题后不久。我的 猜测 是 java spring 使用的生成语句在旧卷仍然存在时不会得到更新,如果这是真的,那么我的新问题是如何在不擦除的情况下触发正确的查询我的音量。除了擦除音量之外,仍然没有解决方案 - 我将很快投入生产,因此一旦发生这种情况,这将不是一个可行的解决方案。

【问题讨论】:

    标签: java mysql docker docker-compose


    【解决方案1】:

    通过运行 docker compose -v 解决了这个问题 - 解释可以在这里看到 - MYSQL_ROOT_PASSWORD is set but getting "Access denied for user 'root'@'localhost' (using password: YES)" in docker container - 不幸的是,这意味着我的数据丢失了 - 这对我的用例来说很好,但事先备份你的卷。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2019-01-29
    • 2011-11-10
    • 2013-06-26
    • 2012-07-30
    • 2020-11-13
    • 1970-01-01
    • 2022-01-08
    • 2012-06-12
    • 1970-01-01
    相关资源
    最近更新 更多