
NetBackup MySQL Status 6: Den fehlenden Library-Pfad beheben
Wenn ein NetBackup-MySQL-Backup mit Status 6 endet und im Log MySQL library path is not present steht, beginnen Sie bei der Konfiguration der MySQL-Client-Library. Der abschließende Status sagt nur, dass das angeforderte Backup fehlgeschlagen ist. Die weiter oben stehenden Parser- und Library-Meldungen erklären, warum.
Ein aktueller Fall unter Ubuntu 24.04 folgte genau diesem Muster. Der Administrator konnte eine MySQL-Instanz in einem Protection Plan registrieren, aber das Backup schlug mit Parser failed to issue command for MySQL, MySQL library path is not present und bphdb exit status = 6 fehl.
Welcher Fehler ist bei einem NetBackup-Status-6-Fehlschlag am wichtigsten?
Der erste konkrete Fehler ist in der Regel wichtiger als der abschließende, generische Status. In diesem Fall ist status 6 ein Ergebnis, während MySQL library path is not present ein Hinweis auf die Konfiguration ist.
Diese Unterscheidung hält die Fehlersuche fokussiert. Wer nur nach „NetBackup status 6" sucht, landet leicht bei Dateisystem-, Datenbank-, Skript-, Berechtigungs- und Anwendungsfehlern, die mit MySQL-Libraries nichts zu tun haben.
Lesen Sie die Job-Details von oben nach unten und finden Sie den ersten Punkt, an dem sich der MySQL-Workflow nicht mehr normal verhält. Öffnen Sie anschließend die workloadspezifischen Logs, darunter nbmysql und bphdb, und bestätigen Sie, dass dort derselbe Fehler auftritt.
Der Administrator in der Diskussion ging genau so vor und fand im Laufe der Zeit zwei getrennte Probleme: die Client-Kommunikation zum Primary Server und die fehlende Konfiguration der MySQL-Client-Library.
Warum benötigt NetBackup libmysqlclient.so?
Die MySQL-Integration von NetBackup benötigt die MySQL-Client-Library, um über die unterstützten MySQL-Schnittstellen mit der Datenbank zu kommunizieren. Unter Linux verweist die aktuelle Dokumentation auf libmysqlclient.so, und die Konfiguration kann eine Umgebungsvariable verwenden, die NetBackup mitteilt, wo sich diese Library befindet.
Das klingt banal, aber Linux-Distributionen legen Client-Libraries nicht alle im selben Pfad ab, und der unversionierte Name libmysqlclient.so existiert unter Umständen nicht, selbst wenn eine versionierte Library installiert ist. Ältere NetBackup-Anleitungen beschreiben außerdem, einen symbolischen Link von libmysqlclient.so auf die installierte Version anzulegen, wenn der generische Name fehlt.
Übernehmen Sie keinen Pfad von einem anderen Server. Verwenden Sie den Paketmanager oder Dateisystem-Tools, um die tatsächlich auf dem MySQL-Host installierte Library zu identifizieren, bestätigen Sie, dass die Architektur passt, und stellen Sie sicher, dass das Konto, unter dem der NetBackup-Workflow läuft, sie lesen kann.
Wie sollte LIB_MYSQL_CLIENT_ konfiguriert werden?
Die aktuelle NetBackup-MySQL-Dokumentation unterstützt LIB_MYSQL_CLIENT_<port> für Multi-Instanz-Umgebungen. Unter Linux zeigt der Wert auf den Speicherort von libmysqlclient.so für die MySQL-Instanz, die diesen Port verwendet.
Im geschilderten Fall lud der Administrator die benötigte Library herunter und legte LIB_MYSQL_CLIENT_3306 an, um NetBackup auf libmysqlclient.so zu verweisen. Nach dieser Änderung begann das Backup im mysqldump-Modus zu funktionieren.
Betrachten Sie dieses Ergebnis als Beleg für diesen konkreten Fall, nicht als allgemeine Anweisung, wahllos Library-Dateien herunterzuladen. Bevorzugen Sie das unterstützte MySQL-Client-Paket für das jeweilige Betriebssystem und die jeweilige Version. Setzen Sie die Umgebungsvariable dann gemäß der NetBackup-Anleitung für das installierte Release.
Gibt es nur eine Instanz, prüfen Sie, ob das Release die portspezifische Variable oder eine Form ohne Port erwartet. Die MySQL-Konfigurationssyntax von NetBackup hat sich über die Versionen hinweg geändert — verwenden Sie daher die Anleitung, die zum genauen Produkt-Build passt.
Warum sollte die Konnektivität zum Primary Server vor der Library geprüft werden?
Weil der Anwendungs-Workflow von mehreren Ebenen abhängt und eine lokale Library-Korrektur einen defekten NetBackup-Kontrollpfad nicht reparieren kann. Im Reddit-Fall konnte der Client zunächst nicht korrekt mit dem Primary Server kommunizieren. Der Administrator löste die Namensauflösung, indem er den Hostnamen und den FQDN des Primary Servers in /etc/hosts eintrug, und setzte die Fehlersuche zum MySQL-spezifischen Problem anschließend fort.
Die eigentliche Lehre daraus ist nicht, dass jeder NetBackup-Client manuelle Hosts-Datei-Einträge braucht. DNS sollte normalerweise dort, wo es erforderlich ist, eine zuverlässige Forward- und Reverse-Auflösung liefern. Die Lehre ist, die grundlegende NetBackup-Kommunikation nachzuweisen, bevor das Datenbank-Plug-in diagnostiziert wird.
Prüfen Sie die Konnektivität vom Client zum Primary Server, Zertifikate, die Hostname-Identität, die erforderlichen Ports und ob sich normale NetBackup-Client-Befehle wie erwartet verhalten. Arbeiten Sie sich dann weiter vor zu MySQL-Discovery, Anmeldedaten, Library-Pfaden und dem Verhalten des Protection Plans.
Diese schichtweise Methode gilt auch für andere Anwendungs-Backups. Der Proxmox-Backup-Vergleich macht denselben architektonischen Punkt aus Sicht der Virtualisierung: Maschinen-Schutz und Anwendungs-Schutz hängen von unterschiedlichen Ebenen ab, und ein Fehler auf einer Ebene sollte nicht dadurch diagnostiziert werden, dass man alles auf einmal ändert.
Warum ließ sich die Instanz hinzufügen, eine einzelne Datenbank aber nicht?
Die Ausgangsdiskussion liefert nicht genug Belege, um die eigentliche Ursache des Problems bei der Auswahl einzelner Datenbanken zu klären. Es ist möglich, dass sich Discovery, Registrierung, die Fähigkeiten des Protection Plans, Berechtigungen oder das Verhalten je nach Produktversion zwischen Operationen auf Instanz- und auf Datenbankebene unterscheiden.
Das ist ein Grund, sich keine Lösung auszudenken. Sorgen Sie zunächst dafür, dass das unterstützte Instanz-Backup mit sauberen Logs erfolgreich läuft. Aktualisieren Sie anschließend die Asset-Discovery und testen Sie die Auswahl auf Datenbankebene erneut.
Prüfen Sie, ob der MySQL-Benutzer über die für Backups dokumentierten Rechte verfügt, ob die NetBackup-Version die gewünschte Granularität für den gewählten Schutzmodus unterstützt und ob das Asset korrekt in der Web UI erscheint. Wird die Datenbank nicht als Asset erkannt, ist das manuelle Hinzufügen zu einem Protection Plan möglicherweise nicht der richtige Weg.
Halten Sie die beiden Symptome getrennt, bis eine Änderung belegt, dass sie zusammenhängen.
Welche Logs sollten Sie sammeln, bevor Sie weitere Einstellungen ändern?
Sammeln Sie die Job-Details, nbmysql, bphdb und die relevanten Client-Kommunikationslogs für einen reproduzierbaren Backup-Versuch. Notieren Sie NetBackup-Version, MySQL-Version, Ubuntu-Paketversionen, Schutzmodus, Instanz-Port, Library-Pfad und Umgebungsvariablen.
Ändern Sie dann jeweils nur eine Sache. Wenn das Hinzufügen der korrekten Library den Fehler von „library path is not present" zu einem Authentifizierungsfehler ändert, ist das ein Fortschritt. Der Workflow ist zur nächsten Abhängigkeit weitergerückt.
Notieren Sie außerdem, wie die Library installiert wurde. Eine manuell in ein beliebiges Verzeichnis kopierte Datei kann vorübergehend funktionieren, wird aber zu einem künftigen Upgrade-Problem. Über den Paketmanager verwaltete Client-Libraries lassen sich leichter patchen und auditieren.
Für eine umfassendere Wiederherstellungsplanung ist der Proxmox-Backup-Server-Leitfaden eine nützliche Erinnerung daran, dass ein grüner Backup-Job nur die halbe Arbeit ist. Sobald MySQL-Backups erfolgreich laufen, führen Sie eine Wiederherstellung auf eine andere Testinstanz durch und prüfen Sie, ob sich die Datenbank korrekt öffnet.
Was würde ich unter Ubuntu 24.04 zuerst beheben?
Zuerst würde ich die NetBackup-Client-Kommunikation mit dem Primary Server über die unterstützte Namensauflösung und Zertifikatskonfiguration nachweisen. Anschließend würde ich die installierte Library libmysqlclient.so lokalisieren oder das unterstützte MySQL-Client-Paket installieren und dann die Umgebungsvariable konfigurieren, die für das genaue NetBackup-Release und den MySQL-Port erforderlich ist.
Sobald der Library-Fehler verschwindet, würde ich mit demselben Protection Plan erneut testen und nbmysql und bphdb erneut prüfen. Erst dann würde ich die Discovery auf Datenbankebene oder die Granularität des Schutzes untersuchen.
Entscheidend ist, dem konkreten Fehler zu folgen. Status 6 ist unspezifisch. MySQL library path is not present ist umsetzbar.
Häufig gestellte Fragen
Was bedeutet NetBackup-MySQL-Status 6 in diesem Fall?
Status 6 ist der abschließende Fehlercode des Backups, aber der eigentlich hilfreiche Fehler steht weiter oben im Log: 'MySQL library path is not present.' Beheben Sie den MySQL-Client-Library-Pfad und die zugehörige Konfiguration, statt Status 6 isoliert zu untersuchen.
Welche Umgebungsvariable weist NetBackup auf libmysqlclient.so hin?
Die aktuelle NetBackup-MySQL-Dokumentation unterstützt LIB_MYSQL_CLIENT_<port> für Multi-Instanz-Deployments. Unter Linux sollte sie auf den Speicherort von libmysqlclient.so für den jeweiligen MySQL-Instanz-Port zeigen.
Erfordert NetBackup for MySQL einen Client auf dem MySQL-Server?
Die aktuelle NetBackup-MySQL-Anleitung sieht den NetBackup-Client auf dem MySQL-Server als Teil der Schutzarchitektur vor. Prüfen Sie die Anforderungen für das genaue NetBackup-Release, das Sie einsetzen.