Java MySQLSyntaxErrorException:拒绝用户访问''@';本地主机';到数据库';演示';

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

我正在尝试使用hibernate应用程序连接到数据库。 但我无法连接除测试之外的其他数据库

这很奇怪,因为如果我要创建任何数据库,它将不允许我通过hibernate访问它,除了在phpMyAdmin中预定义的测试数据库

我尝试了很多方法,但都没有成功

一,

二,

三,

  • 我已经重新安装了wamp服务器
  • 这是我的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>
    
    
    真的
    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;