我正在尝试使用我的hibernate应用程序连接到数据库。 但我无法连接除测试之外的其他数据库。
奇怪的是,如果我要创建任何数据库,它将不允许我通过hibernate访问它,除了在phpMyAdmin中预定义的测试数据库。
我尝试了很多这样的东西,但它没有用。
1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;
2
mysql -u root -p
3
mysqladmin -u root password 'root password goes here'
这是我的hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/demo</property>
<property name="username">root</property>
<property name="password" />
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hbm2ddl.auto">update</property>
<!-- disabled 2nd level catche
<property name="catche.provider_class">org.hibernate.catche.NoCatcheProvider</property>-->
<!-- enabled 2nd level catche -->
<property name="catche.use_second_level_catche">true</property>
<property name="catche.use_query_catche">true</property>
<property name="catche.provider_class">org.hibernate.catche.EhCatcheProvider</property>
<mapping class="org.hibernet.src.userDetails" ></mapping>
<mapping class="org.hibernet.src.Address" ></mapping>
<mapping class="org.hibernet.src.Vehicle" ></mapping>
</session-factory>
</hibernate-configuration>
如果它是一个语法问题,它不应该与测试数据库一起工作,但它使用它。 我该怎么办?
答案 0 :(得分:2)
最后我完成了新用户。 只需创建另一个用户并使用以下方式为其授予所有权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;