Apache Solr/JDBC/MySQL.原因:com.MySQL.JDBC.exceptions.jdbc4.My



My Solr 8.10.1数据导入处理程序索引器在尝试从MySQL5.7导入时引发错误。

由com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException引起:无法创建到数据库服务器的连接。由以下原因引起:java.lang.NullPointerException:无法调用"java.util.Map.get(Object("因为";this.serverVariables";为空

我对那里出现的jdbc4感到震惊。

我的环境变量:JAVA_HOME:C:\Program Files\JAVA\jdk-17.0.1路径:C:\Program Files\Java\jdk-17.0.1\bin;C: \Program Files(x86(\Java\jre1.8.0_311\bin

我的solr文件夹中有jdbc9:\solr-8.10.1\dist\mssql-jdbc-9.4.0.jre8.jar

因此,我在整个驱动器中搜索了jdbc,在D:solr431_DELETEMEexamplelibsqljdbc4.jar中只发现了一个jdbc4,我也删除了它,但上面的错误一直在发生。

数据配置.xml

<dataSource type="JdbcDataSource" name="ds-wordpress" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/wpmydb" user="<myuser>" password="<mypwd>" />

我的配置确实在我的本地机器上工作,所以它必须是服务器上的设置,我只是不知道它是什么。

我已经在这里检查了:MySQLNonTransientConnectionException无法创建到数据库服务器的连接。引起原因:java.lang.NullPointerException

也尝试过这个URL,但没有用:URL=";jdbc:mysql://localhost:3306/wpmydb?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT";

我还能尝试什么?

首先:检查您的solr中是否有JDBC驱动程序。如果没有,您可以下载并复制到solr中的dist文件夹或lib文件夹中,并将该路径映射到solrconfig.xml文件中。

第二步:如果您确定第一步在您的情况下不是问题,那么请尝试卸载不同版本的java,并为JDK和JRE安装一个版本。

第三:如果第一个和第二个都不起作用,那么可能是你的用户名密码有问题,或者你正在使用VPN访问你的服务器,而这次你忘记使用了。