简体   繁体   English

无法从 Data Fusion 连接云 SQL mySql 实例。 异常“无法创建套接字工厂 'com.google.cloud.sql.mysql.SocketFactory”

[英]Unable to connect Cloud SQL mySql instance from Data Fusion. Exception “Could not create socket factory 'com.google.cloud.sql.mysql.SocketFactory”

Facing exception "Could not create socket factory 'com.google.cloud.sql.mysql.SocketFactory' due to underlying exception."面临异常“由于基础异常,无法创建套接字工厂'com.google.cloud.sql.mysql.SocketFactory'。” when trying to connect with mysql instance in google cloud data fusion.在谷歌云数据融合中尝试连接 mysql 实例时。

  • created cloud data fusion instance创建云数据融合实例
  • From Wrangler-->Add connection --> Added the jar build(created from pom.xml given below) as a driver从牧马人-->添加连接-->添加 jar 构建(从 pom.xml 创建如下)作为驱动程序
  • In Add connection used the connection string as "dbc:mysql://google/mysql?cloudSqlInstance=socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL=false"在添加连接中,使用连接字符串为“dbc:mysql://google/mysql?cloudSqlInstance=socketFactory=com.google.cloud.sql.mysql.SocketFactory&useSSL”
  • While Testing the connection, it throws error, "Could not create socket factory 'com.google.cloud.sql.mysql.SocketFactory' due to underlying exception."在测试连接时,它会抛出错误,“由于底层异常,无法创建套接字工厂'com.google.cloud.sql.mysql.SocketFactory'。”

This is my pom.xml and I build the fat jar using mvn package.这是我的 pom.xml,我使用 mvn package 构建了胖 jar。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>mysql-with-cloud-sql-socket-factory</artifactId>
    <packaging>pom</packaging>
    <version>0.0.1</version>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

        <dependency>
            <groupId>com.google.cloud.sql</groupId>
            <artifactId>mysql-socket-factory-connector-j-8</artifactId>
            <version>1.0.15</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4.1</version>
                <configuration> <!-- get all project dependencies -->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id> <!-- bind to the packaging phase -->
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>jar-with-dependencies</id>
            <properties>
                <lane>jar-with-dependencies</lane>
            </properties>
        </profile>
    </profiles>
</project>

Use MySQL instead:使用 MySQL 代替:

  1. From the Add Connection> Database Search for MySQL从添加连接>数据库搜索 MySQL
  2. Download the MySQL Driver from dev.mysql.com .dev.mysql.com下载 MySQL 驱动程序。 Unzip.解压缩。
  3. On the hub again this time click Deploy Upload mysql-connector-java-5.x.xx-bin.jar这次再次在集线器上单击 Deploy Upload mysql-connector-java-5.x.xx-bin.jar
  4. Go back to Add Connection> Database, you should see green tick against MySQL driver Go 返回添加连接> 数据库,您应该看到 MySQL 驱动程序的绿色勾号
  5. Click on MySQL driver and setup the connection parameter.点击 MySQL 驱动并设置连接参数。

Make sure you have added the relevant network in the Cloud SQL screen to allow Datafusion instance to make connection to Cloud SQL.确保您已在 Cloud SQL 屏幕中添加相关网络,以允许 Datafusion 实例连接到 Cloud SQL。 If Datafusion is running in the same project then you dont need to do anything else.如果 Datafusion 在同一个项目中运行,那么您不需要做任何其他事情。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法创建套接字工厂'com.google.cloud.sql.mysql.SocketFactory;' - Could not create socket factory 'com.google.cloud.sql.mysql.SocketFactory;' Class 未找到? com.google.cloud.sql.mysql.SocketFactory 尝试连接到云 ZAC5C74B64B4B835AFFBAZ2EF2FAC281 - Class Not Found? com.google.cloud.sql.mysql.SocketFactory while trying to connect to cloud sql com.google.cloud.sql.mysql.SocketFactory ClassNotFoundException - com.google.cloud.sql.mysql.SocketFactory ClassNotFoundException 连接谷歌云时出错 SQL com.google.cloud.sql.Z81C3B080DAD537DE57E10E09E铸造厂 - Error in connecting to Google Cloud SQL com.google.cloud.sql.mysql.SocketFactory casting java.lang.ClassNotFoundException: com.google.cloud.sql.mysql.SocketFactory - java.lang.ClassNotFoundException: com.google.cloud.sql.mysql.SocketFactory 无法从 Data Fusion 连接 Cloud SQL mySql/postgreSQL 实例 - Unable to connect Cloud SQL mySql / postgreSQL instance from Data Fusion ClassNotFoundException:谷歌云 SQL 与 MySQL/SocketFactory - ClassNotFoundException: Google Cloud SQL with MySQL/SocketFactory 无法从 Cloud Data Fusion 连接到 Cloud SQL for SQL 服务器 - Unable to connect to Cloud SQL for SQL Server from Cloud Data Fusion 无法从 Data Fusion 连接 Cloud SQL PostgreSQL - Could not connect Cloud SQL PostgreSQL from Data Fusion 无法将MySQL Workbench连接到Google Cloud SQL实例 - Unable to connect MySQL Workbench to Google Cloud SQL instance
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM