2014-07-15 38 views
1

我正在尝试使用Solr通过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

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

我也检查过用户的权限,可以确认它具有在数据库中授予的所有权限。

+0

您是如何测试连接的?从Solr运行在同一台服务器上?您是否已经仔细检查了您是否正确输入了密码,并且在DIH配置中使用了正确的JDBC连接定义参数? – MatsLindh

+0

@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” – user2866434

+0

我认为这与mysql相关。该用户可能没有权限从远程/访问连接/连接该架构/访问该表。 – cheffe

回答

1

事实证明,它与数据库用户的特权有关。在这个问题中,我已经向用户授予了prvilieges,但是忽略了“IDENTIFIED BY'密码'”命令的一部分。

原来这就是我需要使用:

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

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