Plesk es una de las plataformas de gestión de servidores más utilizadas, pero en ocasiones pueden surgir errores inesperados que afectan su funcionamiento. Uno de los problemas reportados ocurre al intentar acceder a la lista de bases de datos en Herramientas y Configuración > Servidores de bases de datos, donde Plesk muestra el siguiente error:
Type GraphQL Error
Message Dependent row(s) 'Domains.id = 15' isn't found for 'data_bases.dom_id = 15'.
Este mensaje indica una inconsistencia en la base de datos de Plesk, lo que impide la correcta visualización y gestión de las bases de datos. A continuación, explicamos la causa del problema y cómo solucionarlo paso a paso.
Causa del problema
El error se debe a que existen registros en la tabla data_bases de la base de datos de Plesk (PSA) que están asociados a un dominio inexistente en la tabla domains. Esto puede ocurrir debido a eliminaciones incorrectas de dominios o errores en la sincronización de la base de datos interna de Plesk.
Si ejecutamos la siguiente consulta en la base de datos PSA, veremos que existen bases de datos asociadas a un dominio cuyo ID no está presente en la tabla domains:
SELECT * FROM data_bases WHERE dom_id = 15;
Ejemplo de salida:
+-----+----------+-------+--------+--------------+-----------------+-------------+
| id | name | type | dom_id | db_server_id | default_user_id | external_id |
+-----+----------+-------+--------+--------------+-----------------+-------------+
| 123 | example1 | mysql | 15 | 1 | NULL | NULL |
| 124 | example2 | mysql | 15 |
1 | NULL | NULL |
+-----+----------+-------+--------+--------------+-----------------+-------------+
Sin embargo, si intentamos buscar el dominio con id = 15 en la tabla domains, la consulta devuelve un conjunto vacío:
SELECT name FROM domains WHERE id = 15;
Resultado:
Empty set (0.000 sec)
Esto confirma que las bases de datos están referenciando un dominio que ya no existe en el sistema.
Solución
Para solucionar este problema, debemos eliminar los registros huérfanos en la tabla data_bases.
Paso 1: Conectarse al servidor por SSH
Accede a tu servidor a través de SSH con el usuario root:
ssh root@tu-servidor
Paso 2: Acceder a la base de datos de Plesk
Ejecuta el siguiente comando para ingresar a la base de datos PSA de Plesk:
plesk db
Paso 3: Verificar los registros huérfanos
Antes de eliminar nada, verifica que realmente existen bases de datos asociadas a un dominio inexistente:
SELECT * FROM data_bases WHERE dom_id = 15;
Si la consulta devuelve registros, significa que el error está presente.
Paso 4: Eliminar los registros huérfanos
Ejecuta la siguiente consulta para eliminar las bases de datos relacionadas con el dominio inexistente:
DELETE FROM data_bases WHERE dom_id = 15;
Paso 5: Confirmar la eliminación
Para asegurarte de que el problema se ha resuelto, vuelve a ejecutar la consulta:
SELECT * FROM data_bases WHERE dom_id = 15;
Si la consulta no devuelve resultados, significa que las bases de datos huérfanas han sido eliminadas correctamente.
Paso 6: Reiniciar Plesk
Para aplicar los cambios, reinicia Plesk con el siguiente comando:
plesk restart
Verificación final
Después de realizar estos pasos, accede nuevamente a Herramientas y Configuración > Servidores de bases de datos en Plesk. La lista de bases de datos debería mostrarse sin errores y funcionar con normalidad.
El error «Dependent row(s) isn’t found» en Plesk ocurre debido a inconsistencias en la base de datos interna de la plataforma. Siguiendo los pasos anteriores, se pueden eliminar los registros huérfanos de forma segura y restaurar el correcto funcionamiento de la gestión de bases de datos.
Para prevenir este tipo de problemas en el futuro, se recomienda:
- Utilizar siempre la interfaz de Plesk para eliminar dominios y bases de datos en lugar de hacerlo manualmente.
- Realizar copias de seguridad periódicas de la base de datos PSA antes de realizar cambios en la configuración.
- Ejecutar auditorías de integridad con el comando:
plesk repair db
Con estas prácticas, se puede garantizar un entorno más estable y seguro en Plesk.