我的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();
}
}
答案 0 :(得分:-1)
您确定您对该地址的其他计算机具有超级用户访问权限吗?