1. 用户对应的密码不正确

    如果是这样,验证的方式是在CMD中切换到mysql server的bin目录输入命令:

    mysql -u [username] -p

    回车后,输入密码,如果访问被拒,那么错误原因应该是这种。

  2. 在用户名和密码正确的情况下,其次的原因可能就是没有权限

    在workbench中的左侧栏上方的user and privilege中查看自己选中的user acount的 
    schema privileges,如果什么都没有在query中执行命令:

    GRANT ALL PRIVILEGES ON [databasename].[tablename]TO ‘user’@’host’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

    例如:

    GRANT ALL PRIVILEGES ON ComicFM.* TO ‘root’@’localhost’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

  3. 在1,2都没问题的状况下,应该就是编码方式的原因了。

try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = (Connection)DriverManager
        .getConnection("jdbc:mysql://localhost:3306/?user=root&password=123456
        &useUnicode=true&characterEncoding=UTF8");
    Statement s =  conn.createStatement();
    System.out.println(conn.isClosed());
}
 catch (Exception e) {
            e.printStackTrace();
}

在main函数中用这段代码测试一番(记得user、password和端口不同要改),正确的运行结果是false,没报错的话,那么就是编码方式的问题.

如果是在spring中设置dataSource的方式,就只能这样注释掉user和password,否则,连接到数据库的url中user和password没被正确编码

  • applicationContext.xml
<!-- config datasource -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close" scope="singleton">
        <property name="driverClass" value='${jdbc.driver}' />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <!-- <property name="user" value="${jdbc.username}" />
        <property name="password" value="$jdbc.password}" /> -->
        <property name="maxPoolSize" value="20" />
        <property name="minPoolSize" value="1" />
        <property name="initialPoolSize" value="1" />
        <property name="maxIdleTime" value="20" />
    </bean>
  • jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver 
jdbc.url=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=UTF8&user=root&password=123456

错误原因暂时只找到这三种,以后有的话再加。

Logo

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!

更多推荐