# 🔍 Cómo Verificar la Conexión a MySQL en Namecheap

## ✅ Métodos de Verificación

### Método 1: Endpoint de Prueba (Más Fácil) 🌐

Una vez que el backend esté subido y corriendo:

1. **Abre tu navegador**
2. **Accede a:**
   ```
   https://bdicma.com/wurasoftbackend/test-db
   ```

3. **Respuesta exitosa:**
   ```json
   {
     "status": "success",
     "message": "Conexión a MySQL exitosa",
     "details": {
       "database": "bdiczlts_db_wurasoft",
       "user": "bdiczlts_appweb@localhost",
       "version": "8.0.xx",
       "host": "localhost",
       "port": 3306,
       "timestamp": "2025-12-23T..."
     }
   }
   ```

4. **Si hay error:**
   ```json
   {
     "status": "error",
     "message": "Error conectando a MySQL",
     "error": "Access denied for user...",
     "code": "ER_ACCESS_DENIED_ERROR"
   }
   ```

---

### Método 2: Ver Logs en cPanel 📋

1. **En cPanel**, ve a **"Setup Node.js App"**
2. Encuentra tu aplicación `wurasoftbackend`
3. Haz clic en **"Logs"** o **"View Logs"**
4. Busca estos mensajes:

   **✅ Si la conexión es exitosa:**
   ```
   ✅ Conexión a MySQL establecida correctamente
      Host: localhost:3306
      Database: bdiczlts_db_wurasoft
      User: bdiczlts_appweb
   ✅ Query de prueba ejecutada correctamente
   ```

   **❌ Si hay error:**
   ```
   ❌ Error conectando a MySQL:
      Mensaje: Access denied for user 'bdiczlts_appweb'@'localhost'
      Código: ER_ACCESS_DENIED_ERROR
   ```

---

### Método 3: Probar Login desde el Frontend 🎯

1. **Accede al frontend:**
   ```
   https://bdicma.com/wurasoft/login
   ```

2. **Intenta hacer login** con un usuario válido

3. **Si funciona:**
   - ✅ Te redirige al home
   - ✅ La conexión a la BD está funcionando

4. **Si falla:**
   - ❌ Revisa la consola del navegador (F12)
   - ❌ Revisa los logs del backend

---

### Método 4: Verificar desde Terminal (SSH) 💻

Si tienes acceso SSH:

```bash
# Conectarte al servidor
ssh bdiczlts@tu-servidor-namecheap.com

# Ir al directorio de la aplicación
cd ~/public_html/wurasoftbackend

# Ver los logs en tiempo real
tail -f logs/app.log

# O si los logs están en stdout
pm2 logs wurasoftbackend
```

---

## 🔧 Solución de Problemas Comunes

### Error: "Access denied for user"

**Causa:** Usuario o contraseña incorrectos

**Solución:**
1. Verifica en cPanel → "Bases de datos MySQL"
2. Confirma que el usuario es: `bdiczlts_appweb`
3. Verifica la contraseña: `Familia.123.`
4. Asegúrate de que el usuario esté asignado a la BD

---

### Error: "Unknown database"

**Causa:** Nombre de base de datos incorrecto

**Solución:**
1. Verifica en cPanel el nombre exacto de la BD
2. Debe ser: `bdiczlts_db_wurasoft` (con prefijo completo)
3. Actualiza el `.env` con el nombre correcto

---

### Error: "Can't connect to MySQL server"

**Causa:** Host incorrecto o MySQL no disponible

**Solución:**
1. Verifica que `DB_HOST=localhost` en el `.env`
2. Verifica que MySQL esté corriendo (debería estar en shared hosting)
3. Contacta soporte de Namecheap si persiste

---

### Error: "Connection timeout"

**Causa:** Puerto incorrecto o firewall

**Solución:**
1. Verifica que `DB_PORT=3306` en el `.env`
2. En shared hosting, siempre usa `localhost:3306`

---

## 📝 Checklist de Verificación

Antes de verificar, asegúrate de:

- [ ] Archivo `.env` creado en `/public_html/wurasoftbackend/`
- [ ] Variables de entorno configuradas correctamente
- [ ] Usuario MySQL tiene permisos en la BD
- [ ] Aplicación Node.js está corriendo
- [ ] Logs están disponibles en cPanel

---

## 🎯 Verificación Rápida

**Paso 1:** Accede a `https://bdicma.com/wurasoftbackend/test-db`

**Paso 2:** Si ves `"status": "success"` → ✅ **Conexión exitosa**

**Paso 3:** Si ves `"status": "error"` → ❌ Revisa el mensaje de error y soluciona

---

## 📞 Si Necesitas Ayuda

Si después de verificar todo sigue fallando:

1. **Copia el mensaje de error completo** del endpoint `/test-db`
2. **Revisa los logs** en cPanel
3. **Verifica los permisos** del usuario MySQL
4. **Confirma los datos** en el archivo `.env`

¡Con estos métodos podrás confirmar fácilmente si la conexión está funcionando! 🚀

