【问题标题】:Access denied error when doing full import into Solr完全导入 Solr 时访问被拒绝错误
【发布时间】:2014-07-15 12:44:18
【问题描述】:

我正在尝试使用 Solr 通过 Solr 管理界面运行完整的数据导入。然而,当我运行它时,我得到以下输出:

"Indexing failed. Rolled back all changes."

在进一步检查 Solr 日志时,我可以看到我收到以下错误:

Caused by: java.sql.SQLException: Access denied for user 'username'@'127.0.0.1' (using password: YES)

(为安全起见已替换用户名,全栈here

其他人有同样的问题吗?我已经仔细检查了数据库详细信息(已从命令行成功访问了有问题的数据库)。

我还检查了用户的权限,并且可以确认它在相关数据库上拥有授予它的所有权限。

【问题讨论】:

  • 你是如何测试连接的?来自运行 Solr 的同一台服务器?您是否仔细检查过您输入的密码是否正确,并且在 DIH 配置中使用了正确的 JDBC 连接定义参数?
  • @fiskfisk ssh'd 进入运行 mysql 和 solr 的同一台服务器。输入以下命令:mysql -u xxxx -p xxxx -h localhost 并成功进入。仔细检查了我的 solr dataconfig 中的 JDBC 连接字符串: url="jdbc:mysql://localhost:3306/xxxx" user="xxxx" password="xxxx"
  • 我认为这与mysql有关。可能该用户缺乏从远程连接/连接/访问该架构/访问该表的权限。
  • @cheffe 是的,我同意它必须与 MySQL 相关。我无法弄清楚为什么 Solr 无法访问它。它们都在同一台服务器上运行。我检查了有问题的用户在 localhost、127.0.0.1 和 % 上拥有所有权限。无法弄清楚我错过了什么......

标签: java mysql solr


【解决方案1】:

事实证明,它与数据库用户的权限有关。我已向问题中的用户授予权限,但省略了命令的“IDENTIFIED BY 'password'”部分。

所以这就是我需要使用的:

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

希望这可以帮助遇到同样问题的其他人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2010-10-24
    • 2012-12-21
    相关资源
    最近更新 更多