Java - 连接到另一台PC上的数据库

时间:2016-08-14 17:43:36

标签: java mysql spring jpa

我的PC A有一个带有mysql数据库的运行wamp服务器。

和想要连接到该数据库的PC B,我正在使用Spring jpa,JDBC,试图获得直接访问。

到目前为止我做了什么?

PC A连接数据库就好,因为它是本地的。

PC B无权连接,“拒绝访问”异常被抛出,所以我做了以下事情:

在myDB上授予所有权限'root'@'myip'由'root'识别;

然而,第二次尝试,抛出了另一个例外,用户''''myip'没有特权!

无论如何只是为了确保,我给了空闲用户该IP的所有权限。

但仍然异常“select command denied”被抛出,(很确定它无法看到数据库)

这些是我的database.properties:

javax.persistence.jdbc.url=jdbc:mysql://myIp:3306/myDB?useUnicode=yes&characterEncoding=UTF-8&characterSetResults=UTF-8
javax.persistence.jdbc.user=root
javax.persistence.jdbc.password=root
hibernate.dialect=org.hibernate.dialect.MySQLDialect

spring config:

@Configuration
@EnableJpaRepositories("chechecn.elections.organizer.repository")
@EnableTransactionManagement
public class SpringConfig {

    @Bean
    public DataSource dataSource() {

        EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
        return builder.setType(EmbeddedDatabaseType.HSQL).build();
    }

    @Bean(name = "entityManagerFactory")
    public EntityManagerFactory entityManagerFactory() {

        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setGenerateDdl(true);

        LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
        factory.setJpaVendorAdapter(vendorAdapter);
        factory.setPackagesToScan("chechecn.elections.organizer");

        factory.setJpaProperties(additionalJpaProperties());

        // factory.setDataSource(dataSource());

        factory.afterPropertiesSet();

        return factory.getObject();
    }

    private Properties additionalJpaProperties() {
        Properties properties =     PropertiesReader.instance.getPropValues(PropertiesConstants.DATABASE_PROPERTIES);

        return properties;
    }

    @Bean
    public PlatformTransactionManager transactionManager() {

        JpaTransactionManager txManager = new JpaTransactionManager();
        txManager.setEntityManagerFactory(entityManagerFactory());
        return txManager;
    }


    @Bean
    public ServiceConnector serviceConnector() {
        return new ServiceConnector();
    }
}

1 个答案:

答案 0 :(得分:-1)

您确定您对该地址的其他计算机具有超级用户访问权限吗?