Colección de errores de base de datos
- 1. Parte de la base de datos de la máquina virtual
-
- 1.1 idea
- 1.2 La máquina virtual no puede conectarse a la máquina virtual mysql a través de IP
- 1.3 Configuración de zona horaria de la base de datos
- 1.4 Verificar la hora actual de la base de datos
- 1.5 Dependencias de conexión de bases de datos
- 1.6 prueba de conexión de la base de datos de arranque de primavera
- 1.6 Preste atención a la versión de arranque de primavera
- 1.7 configuración de mybatis-plus
- 1.8 Preste atención al paquete de fuente de datos
- 1.9 Prueba completa
- 1.10 Configuración del enlace de la base de datos
- 2. Parte de Java
- 3. mysql
- 4. Comandos de configuración de uso común
1. Parte de la base de datos de la máquina virtual
1.1 idea
- Primero use la herramienta de fuente de datos aquí para conectarse
1.2 La máquina virtual no puede conectarse a la máquina virtual mysql a través de IP
- no resuelto
1.3 Configuración de zona horaria de la base de datos
configuración de zona horaria de la base de datos mysql
1.4 Verificar la hora actual de la base de datos
select now();
1.5 Dependencias de conexión de bases de datos
- Mybatis, jpa, jdbc cualquier dependencia
- Se requiere conector mysql-java
1.6 prueba de conexión de la base de datos de arranque de primavera
- Tenga en cuenta el paquete al que hace referencia la anotación @Test:
import org.junit.jupiter.api.Test;
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.SQLException;
@SpringBootTest
class DemoApplicationTests {
@Autowired
DataSource dataSource;
@Test
public void testMysqlConn() throws SQLException {
System.out.println(dataSource.getConnection());
}
}
- Nota: El último paquete enviado correctamente al servidor fue hace 0 milisegundos. El controlador no ha recibido ningún paquete del servidor.
El servicio de base de datos remota no ha iniciado sesión, puede iniciar sesión a través de mysql -uroot -p
1.6 Preste atención a la versión de arranque de primavera
- Acerca de la importación de anotaciones de prueba
- Había una versión anterior a la 2.2 y una versión diferente después de la 2.2.
在Spring Boot 2.2.X以后使用import org.junit.jupiter.api.Test Junit5
在Spring Boot 2.2.x之前使用import org.junit.Test Junit4
1.7 configuración de mybatis-plus
- Tenga en cuenta que debe agregar la configuración de zona horaria
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/shopping?serverTimezone=GMT%2B8
username: root
password: ******
#mybatis输出日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
1.8 Preste atención al paquete de fuente de datos
import javax.sql.DataSource;
1.9 Prueba completa
package com.ybx.sunshine;
import com.ybx.sunshine.entity.User;
import com.ybx.sunshine.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.SQLException;
@SpringBootTest
public class Usertest {
@Autowired
UserMapper userMapper;
@Test
public void testUser(){
User user = userMapper.selectById(1);
System.out.println(user.getName());
}
@Autowired
DataSource dataSource;
@Test
public void testMysqlConn() throws SQLException {
System.out.println(dataSource.getConnection());
}
}
1.10 Configuración del enlace de la base de datos
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://localhost:3306/shopping?serverTimezone=GMT%2B8
url: jdbc:mysql://localhost:3306/shopping?serverTimezone=GMT%2B8
username: root
password: ******
#mybatis输出日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
2. Parte de Java
2.1Chasret
- Obtenga todos los formatos de codificación
SortedMap<String, Charset> stringCharsetSortedMap = Charset.availableCharsets();
Set<Map.Entry<String, Charset>> entries = stringCharsetSortedMap.entrySet();
for(Map.Entry<String, Charset> key : entries){
System.out.println(key.getKey() + " " + key.getValue());
}
- Obtenga la clase Charset del formato correspondiente
3. mysql
3.1 El host '192.168.16.104' está bloqueado debido a muchos errores de conexión; desbloquear con 'mysqladmin flush-hosts'
4. Comandos de configuración de uso común
4.1 Ver comando de ubicación de instalación de mysql
select @@basedir;
4.2 comando de almacenamiento de datos mysql
select @@datadir;
4.3 El archivo de configuración mysql y los datos están en el mismo directorio
4.4 Reiniciar el servicio mysql
service mysql restart;
4.5 hosts de descarga
- Para ser ejecutado en el host conectado remotamente
- Por ejemplo, cuando se conecta a 192.168.16.103 en la computadora de 192.168.16.104, pymysql.err.OperationalError: (1129, "192.168.16.104' está bloqueado debido a muchos errores de conexión; desbloqueo con 'mysqladmin flush-hosts'"), necesitas hacer esto en la computadora en 192.168.16.104:
- No se puede agregar;
mysqladmin -uroot -p flush-hosts
4.6 Establecer zona horaria de la base de datos
set global time_zone = "+00:00";
- Solo tendrá efecto después de volver a ingresar a mysql por segunda vez.