Spring Boot、MySQL、Tomcat 无法在 Eclipse 中创建池的初始连接

我在 Eclipse 中使用 Spring Boot 和 REST API 创建了一个 webapp。当我尝试使用 Tomcat 8 运行它时,它给出错误 “oatomcat.jdbc.pool.ConnectionPool:无法创建池的初始连接。”


我尝试使用提供的解决方案,但似乎没有任何效果,它总是给出相同的错误。


这是我的 application.properties 文件 -


spring.datasource.url = jdbc:mysql://localhost:3306/dbase?autoReconnect=true&useSSL=false

spring.datasource.username = 1234

spring.datasource.password = 1234

spring.datasource.driver-class-name=com.mysql.jdbc.Driver


spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect


spring.jpa.hibernate.ddl-auto = update

这是 pom.xml 文件 -


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <grouId>com.springboot</groupId>

  <artifactId>springbootrestapi</artifactId>

  <packaging>war</packaging>

  <version>0.0.1-SNAPSHOT</version>

  <name>springbootrestapiexample Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>1.5.4.RELEASE</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.11</version>

      <scope>test</scope>

    </dependency>

    <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>




尚方宝剑之说
浏览 100回答 2
2回答

杨魅力

你必须改变很多东西1.转到C盘中的mysql安装目录并找到my.ini文件。将 default_authentication_plugin 更改为此default_authentication_plugin=mysql_native_password然后转到您的 MySQL 命令行客户端,登录后,运行此查询:ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';然后重新启动 mysql 服务并运行你的程序。将"yourusername"和替换"yourpassword"为您实际的 MySQL 用户名和密码。转到 POM 并替换:&nbsp;&nbsp;&nbsp;&nbsp;<dependency> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<groupId>mysql</groupId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<artifactId>mysql-connector-java</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<scope>runtime</scope> &nbsp;&nbsp;&nbsp;&nbsp;</dependency>使用最新的 MySQL8 连接器<!--&nbsp;https://mvnrepository.com/artifact/mysql/mysql-connector-java&nbsp;--><dependency> &nbsp;&nbsp;&nbsp;&nbsp;<groupId>mysql</groupId> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>mysql-connector-java</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;<version>8.0.15</version></dependency>我希望它有所帮助 :)

料青山看我应如是

这些是要检查的东西验证数据库服务器是否启动并运行,以及您的连接详细信息在独立测试中是否正常工作。如果不存在则授予访问权限,请访问:不允许主机 'xxx.xx.xxx.xxx' 连接到此 MySQL 服务器你为什么首先在 tomcat 中运行 spring boot 而不是作为一个胖罐?其次,mysql客户端JAR应该包含在tomcat库中如果服务器可用连接不足,则增加 mySQL 最大连接数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java