102 lines
2.5 KiB
Markdown
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)?
|