Coleta de erros do banco de dados
- 1. Parte do banco de dados da máquina virtual
-
- 1.1 ideia
- 1.2 A máquina virtual não pode se conectar à máquina virtual mysql através de IP
- 1.3 Configuração de fuso horário do banco de dados
- 1.4 Verifique a hora atual do banco de dados
- 1.5 Dependências de conexão com o banco de dados
- 1.6 teste de conexão do banco de dados Spring Boot
- 1.6 Preste atenção na versão com bota de mola
- 1.7 configurações do mybatis-plus
- 1.8 Preste atenção ao pacote datasource
- 1.9 Teste completo
- 1.10 Configuração do link do banco de dados
- 2. Parte Java
- 3. mysql
- 4. Comandos de configuração comumente usados
1. Parte do banco de dados da máquina virtual
1.1 ideia
- Primeiro use a ferramenta de fonte de dados aqui para conectar
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
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.