这是一个老问题,在网上搜索了很多,但还没有适合我的解决方案。 iMac,java 1.8.0,MySql 5.7.24
只需从 repo 设置一个 java 工作区,使用 intellij 构建良好并部署到本地。
今天早上我继续玩更多,有很多事情,例如我无法从命令行登录到 mysql mysql -u root -p,而 Java 工作区似乎没问题。
所以我用了
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpass");
mysql> flush privileges;
mysql> quit
重置密码
现在 mysql 命令行一切正常。 我去intellij更新了密码,点了“Test Connection”,成功了。
然后我去重建我的java工作区,通过。
当我尝试部署到本地机器时出现问题, java.sql.SQLException:用户 'root'@'localhost' 的访问被拒绝(使用密码:NO) 这是我运行时同样的错误
mysql -u root
当我运行时
mysql -u root -p
输入密码后即可登录
令人困惑的部分是,我以为我在 intellij 中保存了密码,“测试连接”通过了,为什么 java 部署仍然失败?
我确实添加了 .my.cnf,现在从命令行 mysql -u root 有效,而不是我的 Java 部署。
抱歉,我已尽我所能,不确定如何清楚地报告。
最佳答案
根据 the documentation SET PASSWORD
的语法是:
SET PASSWORD 'root' REPLACE '...'
关于java - 一个老问题,但我还没有解决方案 : java. sql.SQLException: Access denied for user 'root' @'localhost' (using password: NO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55713775/