# 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)?