manuais-e-documentacao-itguys/documentacao bancos de dados/[Nível 1] Diagnóstico De Co...

102 lines
2.5 KiB
Markdown

# MANUAL TÉCNICO - DIAGNÓSTICO DE CONECTIVIDADE DE BANCOS DE DADOS
**Código:** ITGSUP 0020/26 | **Classificação:** INTERNO
**Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}}
## 1. HISTÓRICO DE REVISÃO
| Data | Versão | Descrição | Autor |
| :--- | :--- | :--- | :--- |
| {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves |
## 2. OBJETIVO
Padronizar o diagnóstico inicial de incidentes de "banco fora do ar" ou "erro de conexão" para PostgreSQL, MySQL e Redis.
## 3. PRÉ-REQUISITOS
* [ ] Acesso ao terminal do servidor.
* [ ] Saber qual banco está sendo diagnosticado (PG, MySQL ou Redis).
---
## 4. VERIFICAÇÃO DE STATUS DO SERVIÇO
O primeiro passo é saber se o processo está rodando.
**PostgreSQL:**
```bash
sudo systemctl status postgresql
```
* **Ativo:** `Active: active (exited)` ou `(running)`.
* **Porta Padrão:** 5432.
**MySQL / MariaDB:**
```bash
sudo systemctl status mysql
# ou
sudo systemctl status mariadb
```
* **Porta Padrão:** 3306.
**Redis:**
```bash
sudo systemctl status redis-server
# ou
sudo systemctl status redis
```
* **Porta Padrão:** 6379.
---
## 5. TESTE DE CONEXÃO LOCAL (PING)
Se o serviço roda, ele responde?
### Redis (Mais Simples)
Use o `redis-cli` para enviar um PING.
```bash
redis-cli ping
```
* **Sucesso:** Retorna `PONG`.
* **Falha:** `Could not connect...` (Serviço parado) ou `NOAUTH` (Precisa de senha: `redis-cli -a SENHA ping`).
### PostgreSQL
Tente logar como o usuário `postgres`.
```bash
sudo -u postgres psql -c "\conninfo"
```
* **Sucesso:** Mostra dados da conexão (Socket, Port).
* **Falha:** `Is the server running locally...`
### MySQL
Teste o login (pode exigir senha de root).
```bash
sudo mysqladmin -u root -p ping
```
* **Sucesso:** `mysqld is alive`.
---
## 6. DIAGNÓSTICO DE REDE (ACESSO EXTERNO)
Se local funciona, mas a aplicação não conecta, verifique a rede.
**1. A Porta está aberta? (`ss` ou `netstat`)**
```bash
sudo ss -tuln | grep 5432 # (Exemplo PG)
```
* `127.0.0.1:5432` -> **ERRO:** Só aceita conexão local (localhost).
* `0.0.0.0:5432` -> **OK:** Aceita conexões de qualquer IP.
**2. Teste de Telnet (Da estação do usuário/app)**
No computador que está com erro, tente:
```bash
telnet IP_DO_SERVIDOR 5432
```
* **Connected:** Rede OK. Problema é senha/usuario.
* **Timeout:** Firewall bloqueando ou IP errado.
## 7. VALIDAÇÃO FINAL
- [ ] O serviço está "Active (Running)"?
- [ ] O teste local (Ping/Psql) funcionou?
- [ ] A porta está escutando em `0.0.0.0` (se precisar de acesso externo)?