Método de configuración de mysql sin problemas
Hoy, al usar springboot para operar la base de datos, de repente informé un error
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
Este error se debe a que el paquete de dependencia de la conexión mysql es una versión alta:
al configurar datasource.url, no puede simplemente configurarlo así:
#DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crawler
spring.datasource.username=root
spring.datasource.password=root
#JPA Configuration:
spring.jpa.database=MySQL
spring.jpa.show-sql=true
Pero para agregar algo de información a spring.datasource.driverClassName y spring.datasource.url
Solución:
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crawler?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
O de la siguiente manera, se puede añadir ?serverTimezone=UTC
que directamente
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crawler?serverTimezone=UTC
O modifique el paquete de dependencia de mysql a una versión inferior
<!--MySQL连接包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
Resumen
Al usar el controlador mysql en el proyecto, si es una versión inferior 5.xx, puede continuar usando el com.mysql.jdbc.Driver
controlador, y el controlador de la versión superior (como 6.0) debería usar el nuevo controlador com.mysql.cj.jdbc.Driver
. IDEA tiene una configuración, como se muestra en la siguiente figura, aquí se avanzará Establezca la versión del controlador, entonces el controlador que configuramos en application.properties no será válido. También me vi atrapado en este pozo, por lo que el siguiente es un conjunto de clasificación de versiones altas y bajas.
Configuración 100% correcta
-
En primer lugar, idea elige la versión de Mysql configurada de antemano. Aquí establecemos una versión alta y una baja de uso común. Puedes elegir una al principio, porque necesitas configurarla después.
-
Versión alta --- 8.0.20 Desplácese
hacia abajo en el marco izquierdo, seleccione Mysql y comience a configurar la ruta del paquete jar de la que depende la versión alta. Generalmente, elegimos nuestro propio almacén maven local. Por defecto, la idea se llama en el almacén local en .m2. Recuerda aplicar al final.
-
Versión baja --- 5. 1. 6
También desplácese hacia abajo en el marco izquierdo, seleccione otra versión baja de Mysql, aquí está la llamada Mysql 5.1, comience a configurar la ruta del paquete jar de la que depende la versión baja, generalmente elija nuestro propio maven local Almacén, idea se llama por defecto en el almacén local en .m2. Recuerda aplicar al final.
-
IDEA configuración puede decir así, y ahora podemos elegir la versión que necesita cambiar el nivel en el que el primer paso, pero también necesitamos un archivo de configuración:
application.properties
;
Debido a la configuración por defecto idea de la unidad, por lo que puede configurar ya nospring.datasource.driverClassName
, Por supuesto, también se puede configurar, pero el valor predeterminado no es válido, se puede utilizar como descripción#DB Configuration:高版本 Mysql --- 8.0.20 # spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crawler?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root #JPA Configuration: spring.jpa.database=MySQL spring.jpa.show-sql=true
#DB Configuration:低版本 Mysql --- 5.1.6 # spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crawler spring.datasource.username=root spring.datasource.password=root #JPA Configuration: spring.jpa.database=MySQL spring.jpa.show-sql=true