jobs920.com

  

Beste Artikel:

  
Main / Openshift MySQL Dump wo

Openshift MySQL Dump wo

Erstellen, Bereitstellen und Verwalten Ihrer Anwendungen in der Cloud- und On-Premise-Infrastruktur. Hochverfügbare Kubernetes-Cluster mit einem Mandanten in der öffentlichen Cloud. Der schnellste Weg für Entwickler, Anwendungen in der öffentlichen Cloud zu erstellen, zu hosten und zu skalieren.

Navigation umschalten. Dieses Bild kann Datenbankdienste basierend auf den Einstellungen für Benutzername, Kennwort und Datenbanknamen bereitstellen, die über die Konfiguration bereitgestellt werden. Derzeit bietet OpenShift Container Platform Versionen 5. Um diese Bilder zu verwenden, können Sie entweder direkt über diese Registrierungen auf sie zugreifen oder sie in Ihre OpenShift Container Platform Docker-Registrierung übertragen. Darüber hinaus können Sie einen ImageStream erstellen, der entweder in Ihrer Docker-Registrierung oder am externen Speicherort auf das Image verweist. Anschließend wird der MySQL-Daemon gestartet.

Wenn Sie das Volume erneut an einen anderen Container anhängen, werden die Datenbank, der Datenbankbenutzer und der Administrator nicht erstellt, und der MySQL-Dämon wird gestartet. Mit dem folgenden Befehl wird ein neuer Datenbank-Pod erstellt, in dem MySQL in einem Container ausgeführt wird: Wenn Sie einen MySQL-Befehl in einem laufenden Container zum Debuggen ausführen möchten, müssen Sie ihn mit bash aufrufen.

Identifizieren Sie dazu zunächst den Namen des Pods. Beispielsweise können Sie die Liste der Pods in Ihrem aktuellen Projekt anzeigen: So authentifizieren Sie sich beispielsweise als Datenbankbenutzer: Wenn Sie fertig sind, geben Sie quit oder exit ein, um die MySQL-Sitzung zu verlassen. Der MySQL-Benutzername, das Kennwort und der Datenbankname müssen mit den folgenden Umgebungsvariablen konfiguriert werden:

Optionales Passwort für den Root-Benutzer. Wenn dies nicht festgelegt ist, ist eine Remote-Anmeldung beim Root-Konto nicht möglich. Lokale Verbindungen innerhalb des Containers sind immer ohne Passwort zulässig. Sie müssen den Benutzernamen, das Kennwort und den Datenbanknamen angeben.

Wenn Sie nicht alle drei angeben, kann der Pod nicht gestartet werden, und OpenShift Container Platform versucht kontinuierlich, ihn neu zu starten. Einige der speicherbezogenen Parameter haben zwei Standardwerte. Der feste Wert wird verwendet, wenn einem Container keine Speicherbeschränkungen zugewiesen sind.

Sie können die aktuellen Kennwörter anzeigen, indem Sie die Pod- oder Bereitstellungskonfiguration in der Webkonsole anzeigen oder die Umgebungsvariablen mit der CLI auflisten:. Dies wirkt sich auch nicht auf den lokalen Zugriff des Root-Benutzers aus, der sich jederzeit ohne Kennwort in localhost anmelden kann. Das Ändern von Datenbankkennwörtern über SQL-Anweisungen oder auf andere Weise als über die oben genannten Umgebungsvariablen führt zu einer Nichtübereinstimmung zwischen den in den Variablen gespeicherten Werten und den tatsächlichen Kennwörtern.

Bei jedem Start eines Datenbankcontainers werden die Kennwörter auf die in den Umgebungsvariablen gespeicherten Werte zurückgesetzt. Um diese Kennwörter zu ändern, aktualisieren Sie eine oder beide der gewünschten Umgebungsvariablen für die zugehörigen Bereitstellungskonfigurationen mit dem Befehl oc set env.

Wenn mehrere Bereitstellungskonfigurationen diese Umgebungsvariablen verwenden, z. B. bei einer aus einer Vorlage erstellten Anwendung, müssen Sie die Variablen in jeder Bereitstellungskonfiguration aktualisieren, damit die Kennwörter überall synchron sind.

Dies kann alles mit demselben Befehl erfolgen: Abhängig von Ihrer Anwendung gibt es möglicherweise andere Umgebungsvariablen für Kennwörter in anderen Teilen der Anwendung, die ebenfalls entsprechend aktualisiert werden sollten. Stellen Sie sicher, dass die Kennwörter für alle erforderlichen Umgebungsvariablen pro Anwendung synchron sind. Andernfalls können Ihre Pods beim Auslösen möglicherweise nicht erneut bereitgestellt werden. Das Aktualisieren der Umgebungsvariablen löst die erneute Bereitstellung des Datenbankservers aus, wenn Sie einen Auslöser für Konfigurationsänderungen haben.

Andernfalls müssen Sie manuell eine neue Bereitstellung starten, um die Kennwortänderungen zu übernehmen. Um zu überprüfen, ob neue Kennwörter wirksam sind, öffnen Sie zunächst eine Remote-Shell-Sitzung für den laufenden MySQL-Pod:. OpenShift Container Platform bietet eine Vorlage, um das Erstellen eines neuen Datenbankdienstes zu vereinfachen. Die Vorlage enthält Parameterfelder zum Definieren aller obligatorischen Umgebungsvariablen Benutzer, Kennwort, Datenbankname usw. mit vordefinierten Standardeinstellungen, einschließlich der automatischen Generierung von Kennwortwerten.

Außerdem werden sowohl eine Bereitstellungskonfiguration als auch ein Dienst definiert. Die MySQL-Vorlagen sollten von Ihrem Cluster-Administrator während der ersten Cluster-Einrichtung im Standard-OpenShift-Projekt registriert worden sein. Dies bedeutet, dass beim Neustart des Datenbank-Pods aus irgendeinem Grund, z. B. wenn der Pod auf einen anderen Knoten verschoben wird oder die Bereitstellungskonfiguration aktualisiert wird und eine erneute Bereitstellung ausgelöst wird, alle Daten verloren gehen.

Für die Verwendung persistenter Volumes muss in der OpenShift Container Platform-Bereitstellung ein persistenter Volume-Pool definiert werden. Anweisungen des Clusteradministrators zum Einrichten des Pools finden Sie hier.

Anweisungen zum Instanziieren von Vorlagen finden Sie, indem Sie diese Anweisungen befolgen. Nachdem Sie den Dienst instanziiert haben, können Sie die Umgebungsvariablen Benutzername, Kennwort und Datenbankname in eine Bereitstellungskonfiguration für eine andere Komponente kopieren, die auf die Datenbank zugreifen möchte. Diese Komponente kann dann über den definierten Dienst auf die Datenbank zugreifen. Das Aktivieren des Clusters für Datenbankabbilder befindet sich derzeit in der Technologievorschau und ist nicht für die Verwendung in der Produktion vorgesehen. Red Hat bietet eine Proof-of-Concept-Vorlage für das MySQL-Master-Slave-Replikationsclustering. Sie können die Beispielvorlage von GitHub erhalten.

In den folgenden Abschnitten werden die in der Beispielvorlage definierten Objekte detailliert beschrieben und beschrieben, wie sie zusammenarbeiten, um einen Cluster von MySQL-Servern zu starten, die die Master-Slave-Replikation implementieren. Dies ist die empfohlene Replikationsstrategie für MySQL.

Zum Einrichten der MySQL-Replikation wird in der Beispielvorlage eine Bereitstellungskonfiguration definiert, die einen Replikationscontroller definiert. Für die MySQL-Master-Slave-Replikation sind zwei Bereitstellungskonfigurationen erforderlich. Die MySQL-Replikation erfordert einen speziellen Benutzer, der Daten zwischen dem Master und den Slaves weiterleitet. Zu diesem Zweck sind in der Vorlage folgende Umgebungsvariablen definiert: Da wir in dieser Bereitstellungskonfiguration ein dauerhaftes Volume beansprucht haben, damit alle Daten für den MySQL-Masterserver bestehen bleiben, müssen Sie Ihren Clusteradministrator bitten, ein dauerhaftes Volume zu erstellen, von dem Sie den Speicher beanspruchen können.

Das bereitgestellte Beispiel definiert nur ein Replikat des MySQL-Masterservers. Dies führt dazu, dass OpenShift Container Platform nur eine Instanz des Servers startet. Multi-Master für mehrere Instanzen wird nicht unterstützt. Daher können Sie diesen Replikationscontroller nicht skalieren. Um die vom MySQL-Master erstellte Datenbank zu replizieren, wird in der Vorlage eine Bereitstellungskonfiguration definiert.

Diese Bereitstellungskonfiguration erstellt einen Replikationscontroller, der das MySQL-Image mit dem Befehlsfeld "run-mysqld-Slave" startet.

Diese alternativen Einstiegspunkte überspringen die Initialisierung der Datenbank und konfigurieren den MySQL-Server so, dass eine Verbindung zum MySQL-Master-Dienst hergestellt wird, der auch in der Beispielvorlage definiert ist.

In dieser Beispielkonfiguration für die Bereitstellung wird der Replikationscontroller mit der anfänglichen Anzahl von Replikaten gestartet, die auf 1 festgelegt sind. Sie können diesen Replikationscontroller in beide Richtungen bis zur Ressourcenkapazität Ihres Kontos skalieren. Die Beispielvorlage definiert zu diesem Zweck einen kopflosen Dienst namens mysql-master.

Dieser Dienst wird nicht nur für die Replikation verwendet, sondern die Clients können die Abfragen auch an mysql-master senden: Um einen kopflosen Dienst zu erhalten, wird der Parameter portalIP in der Dienstdefinition auf None festgelegt. Anschließend können Sie mithilfe einer DNS-Abfrage eine Liste der Pod-IP-Adressen abrufen, die die aktuellen Endpunkte für diesen Dienst darstellen. So erhöhen Sie die Anzahl der Mitglieder im Cluster: Dadurch wird der Replikationscontroller angewiesen, einen neuen MySQL-Slave-Pod zu erstellen.

Wenn ein neuer Slave erstellt wird, versucht der Slave-Einstiegspunkt zunächst, den MySQL-Master-Dienst zu kontaktieren und sich beim Replikationssatz zu registrieren.

Sobald dies erledigt ist, sendet der MySQL-Master-Server dem Slave die replizierte Datenbank. Beim Verkleinern wird der MySQL-Slave heruntergefahren, und da für den Slave kein dauerhafter Speicher definiert ist, gehen alle Daten auf dem Slave verloren. Der MySQL-Masterserver stellt dann fest, dass der Slave nicht mehr erreichbar ist, und entfernt ihn automatisch aus der Replikation.

Alternativ können Sie die Kernelressource aio-max-nr erhöhen. Das folgende Beispiel untersucht den aktuellen Wert von aio-max-nr und verdoppelt ihn. Produktübersicht Funktionen Preisgestaltung.

Bilder Dieses Bild gibt es je nach Bedarf in zwei Varianten: Mit dem folgenden Befehl wird ein neuer Datenbank-Pod erstellt, in dem MySQL in einem Container ausgeführt wird: Sie können beispielsweise die Liste der Pods in Ihrem aktuellen Projekt anzeigen: Wenn Sie den Container eingeben, wird der Die erforderliche SCL wird automatisch aktiviert. So authentifizieren Sie sich beispielsweise als Datenbankbenutzer: Umgebungsvariablen Der MySQL-Benutzername, das Kennwort und der Datenbankname müssen mit den folgenden Umgebungsvariablen konfiguriert werden: Gibt den Benutzernamen für den Datenbankbenutzer an, der zur Verwendung durch Ihre Anwendung erstellt wurde.

Service-Host-Variable, die automatisch von Kubernetes erstellt wird. Service-Port-Variable, die automatisch von Kubernetes erstellt wird. MySQL-Einstellungen können mit den folgenden Umgebungsvariablen konfiguriert werden: Legt fest, wie die Tabellennamen gespeichert und verglichen werden. Die maximal zulässige Anzahl gleichzeitiger Clientverbindungen.

Die Größe des Puffers, der für einen sequentiellen Scan verwendet wird. Die Größe des Pufferpools, in dem InnoDB Tabellen- und Indexdaten zwischenspeichert.

Die Größe des Puffers, den InnoDB zum Schreiben in die Protokolldateien auf der Festplatte verwendet. Sie können die aktuellen Kennwörter anzeigen, indem Sie die Pod- oder Bereitstellungskonfiguration in der Webkonsole anzeigen oder die Umgebungsvariablen mit der CLI auflisten: Dies kann mit demselben Befehl erfolgen: Um zu überprüfen, ob neue Kennwörter wirksam sind, öffnen Sie zunächst eine Fernbedienung Shell-Sitzung zum laufenden MySQL-Pod: Wenn das Kennwort korrekt geändert wurde, sollte eine Tabelle wie die folgende angezeigt werden: Erstellen eines Datenbankdienstes aus einer Vorlage OpenShift Container Platform bietet eine Vorlage, um das Erstellen eines neuen Datenbankdienstes zu vereinfachen.

Zu diesem Zweck sind in der Vorlage folgende Umgebungsvariablen definiert: Beispiel 1. Beispiel 2.

(с) 2019 jobs920.com