Cuando se encuentre un problema de este tipo recientemente, se informará en com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1905)
en com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2351)
en com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2862)
en com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
en com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
en com.mysql.jdbc.Connection.execSQL(Connection.java:2988)
en com.mysql.jdbc.Connection.execSQL(Connection.java:2917)
en com.mysql.jdbc.Statement.executeQuery(Statement.java:824)
en com.zycy.db.DbTrans.executeQuery(DbTrans.java:127)
Este error se resolverá después de reiniciar el servicio Tomcat, pero este problema ocurrirá durante la noche.
El formato de URL JDBC de mysql es el siguiente:
jdbc:mysql://[host:puerto],[host:puerto].../[base de datos][?Nombre del parámetro 1][=Valor del parámetro 1][&Nombre del parámetro 2][=Valor del parámetro 2].. .
Varios parámetros más importantes de uso común:
Nombre del parámetro Descripción del parámetro Valor predeterminado Requisito mínimo de versión
nombre de usuario de la base de datos del usuario (usado para conectarse a la base de datos) todas las versiones
contraseña Contraseña de usuario (utilizada para conectarse a la base de datos) Todas las versiones
useUnicode Ya sea para usar el juego de caracteres Unicode, si el parámetro CharacterEncoding está establecido en gb2312 o gbk, este valor de parámetro debe establecerse en verdadero falso 1.1g
caracterEncoding Cuando useUnicode se establece en verdadero, especifica la codificación de caracteres. Por ejemplo, se puede configurar en gb2312 o gbk false 1.1g
autoReconnect Cuando la conexión de la base de datos se interrumpe de forma anormal, ¿se vuelve a conectar automáticamente? falso 1.1
autoReconnectForPools Si se debe utilizar la estrategia de reconexión para el grupo de conexiones de la base de datos falso 3.1.3
failOverReadOnly Después de que la reconexión automática sea exitosa, ¿la conexión está configurada en solo lectura? verdadero 3.0.12
Cuando maxReconnects autoReconnect se establece en verdadero, el número de reintentos de conexión es 3 1.1
inicialTimeout Cuando autoReconnect se establece en verdadero, el intervalo de tiempo entre dos reconexiones, unidad: segundos 2 1,1
connectTimeout El tiempo de espera al establecer una conexión de socket con el servidor de la base de datos, unidad: milisegundos. 0 significa que nunca se agota el tiempo de espera, aplicable a JDK 1.4 y superiores 0 3.0.1
socketTimeout Tiempo de espera de operación de socket (lectura y escritura), unidad: milisegundos. 0 significa que nunca se agota el tiempo de espera 0 3.0.1
En correspondencia con el entorno chino, normalmente la URL de conexión MySQL se puede configurar en:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
Cuando se utiliza un grupo de conexiones de base de datos, es mejor configurar los dos parámetros siguientes:
autoReconnect=verdadero&failOverReadOnly=falso
Cabe señalar que en el archivo de configuración xml, el símbolo & en la URL debe escaparse a &. Por ejemplo, al configurar el grupo de conexiones de la base de datos en server.xml de Tomcat, el ejemplo de URL de mysql jdbc es el siguiente:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf8&autoReconnect