Coleta de erros do banco de dados

1. Parte do banco de dados da máquina virtual

1.1 ideia

  • Primeiro use a ferramenta de fonte de dados aqui para conectar

Insira a descrição da imagem aqui

1.2 A máquina virtual não pode se conectar à máquina virtual mysql através de IP

  • não resolvido

1.3 Configuração de fuso horário do banco de dados

configuração de fuso horário do banco de dados mysql

1.4 Verifique a hora atual do banco de dados

select now();

1.5 Dependências de conexão com o banco de dados

  • Mybatis, jpa, jdbc qualquer dependência
  • mysql-connector-java é necessário

1.6 teste de conexão do banco de dados Spring Boot

  • Observe o pacote referenciado pela anotação @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:O último pacote enviado com sucesso ao servidor foi há 0 milissegundos. O driver não recebeu nenhum pacote do servidor.

O serviço de banco de dados remoto não está logado, você pode fazer login através de mysql -uroot -p

1.6 Preste atenção na versão com bota de mola

  • Sobre a importação de anotações de teste
  • Havia uma versão antes da 2.2 e uma versão diferente depois da 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 configurações do mybatis-plus

  • Observe que você deve adicionar a configuração de fuso horário
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 atenção ao pacote datasource

import javax.sql.DataSource;

1.9 Teste completo

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 Configuração do link do banco de dados

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 Java

2.1 Chasret

  • Obtenha todos os formatos de codificação
 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());
        }
  • Obtenha a classe Charset do formato correspondente

3. mysql

3.1 Host '192.168.16.104' está bloqueado devido a muitos erros de conexão; desbloquear com 'mysqladmin flush-hosts'

4. Comandos de configuração comumente usados

4.1 Ver comando de localização de instalação do mysql

 select @@basedir;

4.2 comando de armazenamento de dados mysql

 select @@datadir;

4.3 O arquivo de configuração e os dados do mysql estão no mesmo diretório

Insira a descrição da imagem aqui

4.4 Reinicie o serviço mysql

service mysql restart;

4,5 hosts de descarga

  • Para ser executado no host conectado remotamente
  • Por exemplo, ao conectar-se a 192.168.16.103 no computador 192.168.16.104, pymysql.err.OperationalError: (1129, "192.168.16.104' está bloqueado devido a muitos erros de conexão; desbloqueie com 'mysqladmin flush-hosts'"), você precisa fazer isso no computador em 192.168.16.104:
  • Não pode ser adicionado;
mysqladmin -uroot -p flush-hosts

4.6 Definir fuso horário do banco de dados

 set global time_zone = "+00:00";
  • Só terá efeito após entrar novamente no mysql pela segunda vez.

Acho que você gosta

Origin blog.csdn.net/qq_42306803/article/details/122954142
Recomendado
Clasificación