Java 尝试连接到Mysql时出现Sqoop错误

Java 尝试连接到Mysql时出现Sqoop错误,java,mysql,sqoop,Java,Mysql,Sqoop,我正在尝试使用sqoop从mysql导入表数据。然而,当我这样做时,我得到了一个糟糕的握手错误。许多在线论坛指出,问题在于mysql配置文件。但是,我在conf文件中没有看到bind address条目。以下是我在尝试运行命令sqoop list databases--connect jdbc时看到的错误:mysql://localhost/hadoop --用户名hadoop-P。hadoop是我试图连接的数据库,用户名也是hadoop 18/04/24 17:06:53 INFO manag

我正在尝试使用sqoop从mysql导入表数据。然而,当我这样做时,我得到了一个糟糕的握手错误。许多在线论坛指出,问题在于mysql配置文件。但是,我在conf文件中没有看到bind address条目。以下是我在尝试运行命令
sqoop list databases--connect jdbc时看到的错误:mysql://localhost/hadoop --用户名hadoop-P
。hadoop是我试图连接的数据库,用户名也是hadoop

18/04/24 17:06:53 INFO manager.MySQLManager: Preparing to use a MySQL
streaming resultset.

18/04/24 17:06:53 INFO tool.CodeGenTool: Beginning code generation

18/04/24 17:06:53 ERROR manager.SqlManager: Error executing statement:
java.sql.SQLException: Communication link failure: Bad handshake

java.sql.SQLException: Communication link failure: Bad handshake
    at com.mysql.jdbc.MysqlIO.init(Unknown Source)
    at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
    at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
    at com.mysql.jdbc.Driver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:904)
如果您已经提到服务器IP i-e上的数据库--connect jdbc:mysql://localhost/hadoop”。 尝试使用相同的sqoop调用命令,但不使用数据库名称“hadoop”,然后调用“listdatabase”。 还要记住,这是在sqoop调用中使用驱动程序,但首先您或您的系统管理员必须将特定的驱动程序放在“lib”文件夹的sqoop目录中。
希望这有帮助

您是否为您的用户hadoop设置了所有权限?类似于这样的内容:“使用GRANT选项将.上的所有权限授予由“密码”标识的“hadoop”@“%”;刷新权限