Java MySQLSyntaxErrorException:拒绝用户访问''@';本地主机';到数据库';演示';
我正在尝试使用hibernate应用程序连接到数据库。 但我无法连接除测试之外的其他数据库 这很奇怪,因为如果我要创建任何数据库,它将不允许我通过hibernate访问它,除了在phpMyAdmin中预定义的测试数据库 我尝试了很多方法,但都没有成功 一, 二, 三,Java MySQLSyntaxErrorException:拒绝用户访问''@';本地主机';到数据库';演示';,java,mysql,hibernate,phpmyadmin,wamp,Java,Mysql,Hibernate,Phpmyadmin,Wamp,我正在尝试使用hibernate应用程序连接到数据库。 但我无法连接除测试之外的其他数据库 这很奇怪,因为如果我要创建任何数据库,它将不允许我通过hibernate访问它,除了在phpMyAdmin中预定义的测试数据库 我尝试了很多方法,但都没有成功 一, 二, 三, 我已经重新安装了wamp服务器 这是我的hibernate.cfg.xml: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-c
<?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>
真的
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/demo
根
1.
org.hibernate.dialogue.mysqldialogue
更新
真的
真的
org.hibernate.catch.EhCatcheProvider
如果这是一个语法问题,它不应该与测试数据库一起工作,而应该与它一起工作。
我该怎么办?最后我对新用户做了处理。 只需创建另一个用户,并使用以下命令将所有权限授予该用户:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
首先,您可能不应该使用root,而应该创建另一个用户..您是否尝试
将*.*上的所有权限授予具有GRANT选项的“root”@“%”标识的“root”
以便您可以使用root用户从任何地方进行连接?由“root”标识。
。所以密码也是root,然后在xml配置文件root
Yes中使用它允许我创建连接,因为我可以访问测试数据库,所以我认为不需要密码
mysqladmin -u root password 'root password goes here'
<?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>
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;