
NetBackup con MySQL y status 6: cómo solucionar la ruta de biblioteca ausente
Cuando un backup de MySQL en NetBackup finaliza con status 6 y el registro muestra MySQL library path is not present, empieza revisando la configuración de las bibliotecas cliente de MySQL. El código de estado final solo indica que el backup solicitado ha fallado, mientras que los mensajes previos del analizador y de las bibliotecas explican la causa real.
Un caso reciente en Ubuntu 24.04 siguió exactamente ese patrón. El administrador podía registrar una instancia de MySQL en un plan de protección, pero el backup fallaba arrojando Parser failed to issue command for MySQL, MySQL library path is not present y bphdb exit status = 6.
¿Qué error resulta más relevante en un fallo con status 6 de NetBackup?
El primer error específico suele ser mucho más útil que el estado genérico final. En este escenario, status 6 es una consecuencia, mientras que MySQL library path is not present constituye una pista directa de configuración.
Separar ambos elementos evita perder el foco durante el diagnóstico. Si solo buscas "NetBackup status 6", acabarás consultando fallos de sistemas de archivos, bases de datos, scripts, permisos o aplicaciones que nada tienen que ver con las bibliotecas de MySQL.
Lee el detalle del trabajo de arriba abajo y localiza el punto exacto en el que el flujo de MySQL deja de comportarse con normalidad. A continuación, abre los registros específicos de la carga de trabajo, incluidos nbmysql y bphdb, y corrobora si allí se refleja el mismo fallo.
El administrador del debate hizo precisamente esto y descubrió dos problemas independientes a lo largo de sus pruebas: la comunicación del cliente con el servidor principal y la ausencia de configuración para la biblioteca cliente de MySQL.
¿Por qué necesita NetBackup libmysqlclient.so?
La integración de NetBackup con MySQL requiere la biblioteca cliente de MySQL para comunicarse con la base de datos a través de las interfaces oficiales del motor. En Linux, la documentación actual referencia libmysqlclient.so, y la configuración permite definir una variable de entorno para indicar a NetBackup dónde se aloja ese archivo.
Parece algo elemental, pero las distribuciones de Linux no ubican las bibliotecas cliente en las mismas rutas, y el nombre sin versión libmysqlclient.so puede no existir aunque haya una versión concreta instalada. Documentación más antigua de NetBackup también contempla la creación de un enlace simbólico desde libmysqlclient.so hacia la versión instalada cuando no existe el enlace genérico.
No copies una ruta a ciegas desde otro servidor. Utiliza el gestor de paquetes o las herramientas del sistema de archivos para localizar la biblioteca real instalada en el host de MySQL, comprueba que la arquitectura coincida y asegúrate de que la cuenta que ejecuta el proceso de NetBackup disponga de permisos de lectura.
¿Cómo se debe configurar LIB_MYSQL_CLIENT_?
La documentación actual de NetBackup para MySQL admite LIB_MYSQL_CLIENT_<port> para entornos con múltiples instancias. En Linux, el valor apunta a la ubicación de libmysqlclient.so para la instancia de MySQL que utiliza dicho puerto.
En el caso expuesto, el administrador descargó la biblioteca requerida y definió LIB_MYSQL_CLIENT_3306 para guiar a NetBackup hacia libmysqlclient.so. Tras ese ajuste, el backup mediante la modalidad mysqldump comenzó a completarse sin errores.
Toma este resultado como una evidencia específica para ese caso concreto. No implica que debas descargar archivos binarios al azar. Conviene priorizar siempre el paquete oficial de cliente MySQL compatible con tu distribución y versión, y definir luego la variable de entorno según indique la guía de NetBackup para la versión instalada.
Si solo existe una instancia, confirma si la versión exige la variable vinculada al puerto o una variante general. La sintaxis de configuración para MySQL en NetBackup ha variado entre versiones, de modo que debes consultar la guía que coincida con la compilación exacta de tu software.
¿Por qué verificar la conectividad con el servidor principal antes que la biblioteca?
El flujo de la aplicación se apoya en varias capas, y corregir una biblioteca local no reparará un canal de control roto en NetBackup. En el debate de Reddit, el cliente inicialmente no conseguía comunicarse de forma adecuada con el servidor principal. El administrador solucionó la resolución de nombres agregando el nombre del servidor principal y su FQDN en /etc/hosts, y solo después continuó con el fallo específico de MySQL.
No todos los clientes de NetBackup precisan entradas manuales en el archivo de hosts, y el DNS debería garantizar una resolución directa e inversa fiable. Lo rescatable es el orden metodológico: valida la comunicación básica de NetBackup antes de diagnosticar el plugin de la base de datos.
Revisa la conectividad entre el cliente y el servidor principal, los certificados, la identidad del nombre de host, los puertos necesarios y el funcionamiento de los comandos básicos del cliente de NetBackup. Tras asegurar esa base, asciende hacia el descubrimiento de MySQL, las credenciales, las rutas de biblioteca y las políticas del plan de protección.
Este planteamiento por capas resulta aplicable a otros backups de aplicaciones. La comparativa de backup en Proxmox subraya el mismo principio arquitectónico desde la virtualización: proteger la máquina y proteger la aplicación responden a capas diferentes, y un fallo en una de ellas no se resuelve alterando todos los parámetros a la vez.
¿Por qué pudo registrarse la instancia pero no una base de datos individual?
El debate de referencia no aporta pruebas suficientes para sentenciar la causa raíz del fallo al seleccionar una única base de datos. Factores como el descubrimiento, el registro, las funciones del plan de protección, los permisos o el comportamiento entre versiones del producto pueden variar entre operaciones a nivel de instancia y a nivel de base de datos.
Esa es una buena razón para no improvisar soluciones ficticias. Primero logra que el backup de la instancia funcione con registros limpios, actualiza el descubrimiento de activos y prueba de nuevo la selección a nivel de base de datos.
Comprueba si el usuario de MySQL cuenta con los privilegios documentados para el backup, si la versión de NetBackup admite el nivel de granularidad deseado en la modalidad elegida y si el activo figura correctamente en la interfaz Web UI. Si la base de datos no se detecta como activo, añadirla a mano al plan de protección puede ser un procedimiento erróneo.
Trata ambos síntomas por separado hasta que un cambio confirme que guardan relación directa.
¿Qué registros recopilar antes de modificar más parámetros?
Recopila el detalle del trabajo, los registros de nbmysql, bphdb y la traza de comunicación del cliente ante un intento de backup reproducible. Registra la versión de NetBackup, la versión de MySQL, las versiones de los paquetes de Ubuntu, la modalidad de protección, el puerto de la instancia, la ruta de la biblioteca y las variables de entorno.
A continuación, modifica una sola variable a la vez. Si al incorporar la biblioteca adecuada el mensaje pasa de advertir sobre la ruta a mostrar un error de autenticación, habrás avanzado en el flujo hacia la siguiente dependencia.
Documenta también el método empleado para incorporar la biblioteca. Copiar un archivo a mano en un directorio cualquiera puede funcionar provisionalmente pero convertirse en un problema durante una actualización, mientras que las bibliotecas gestionadas por el gestor de paquetes resultan mucho más sencillas de parchear y auditar.
En el marco más amplio de la planificación de recuperación, la guía de Proxmox Backup Server sirve como recordatorio oportuno de que una tarea en verde solo representa la mitad del trabajo. Cuando los backups de MySQL comiencen a completarse con éxito, ejecuta una restauración hacia otra instancia de prueba y valida que la base de datos abra con normalidad.
¿Qué corregiría primero en Ubuntu 24.04?
Primero comprobaría la comunicación del cliente de NetBackup con el servidor principal validando la resolución de nombres y la configuración de certificados. Después, localizaría la biblioteca libmysqlclient.so instalada o desplegaría el paquete cliente de MySQL oficial, para luego configurar la variable de entorno exigida por la versión exacta de NetBackup y el puerto de MySQL.
Una vez eliminado el fallo de la biblioteca, relanzaría la prueba con el mismo plan de protección y examinaría nuevamente nbmysql y bphdb. Solo después de eso investigaría el descubrimiento a nivel de base de datos o la granularidad de la protección.
A lo largo de todo el proceso, sigue la pista del error concreto: status 6 es demasiado amplio, mientras que MySQL library path is not present ofrece un punto de partida directo y accionable.
Preguntas frecuentes
¿Qué implica el status 6 en NetBackup con MySQL en este escenario?
Status 6 es el código final de fallo de backup, pero el error esclarecedor figura antes en el registro: 'MySQL library path is not present'. Conviene corregir la ruta de la biblioteca cliente de MySQL y su configuración en vez de analizar el status 6 de forma aislada.
¿Qué variable de entorno indica a NetBackup la ubicación de libmysqlclient.so?
La documentación vigente de NetBackup para MySQL admite LIB_MYSQL_CLIENT_<port> en entornos con múltiples instancias. En Linux debe apuntar a la ruta de libmysqlclient.so correspondiente al puerto de la instancia de MySQL.
¿Exige NetBackup para MySQL instalar un cliente en el servidor de MySQL?
Las directrices actuales de NetBackup para MySQL contemplan el cliente de NetBackup en el servidor de MySQL dentro de la arquitectura de protección. Verifica los requisitos específicos de tu versión de NetBackup.