IBM Cloud Docs
Ändern Sie Ihre Bereitstellungskonfiguration

Ändern Sie Ihre Bereitstellungskonfiguration

IBM Cloud® Databases for MySQL ermöglicht es Ihnen, einige der MySQL Konfigurationseinstellungen zu ändern, damit Sie Ihre MySQL Datenbanken auf Ihren Anwendungsfall abstimmen können. Wenn Sie permanente Änderungen an der Datenbankkonfiguration vornehmen möchten, können Sie das Cloud Databases CLI-Plug-in oder die API verwenden, um die Änderungen in die Konfigurationsdatei für Ihre Bereitstellung zu schreiben.

Die Konfiguration ist in einem Schema definiert. Um eine Änderung vorzunehmen, senden Sie ein JSON-Objekt mit den Einstellungen und ihren neuen Werten an die API oder die CLI. Setzen Sie beispielsweise in der Befehlszeilenschnittstelle oder API max_connections mit einem Befehl wie dem folgenden auf 150:

{"configuration":{"max_connections":150}}

Weitere Informationen finden Sie unter Verwalten von MySQL Connections.

Wie wird die MySQL ' max_connections berechnet?

max_connections ist ein Konfigurationsparameter in MySQL, der die maximale Anzahl gleichzeitiger Verbindungen bestimmt, die mit dem Datenbankserver hergestellt werden können.

MySQL max_connections Basisformel

Die Grundformel für die Berechnung von max_connections lautet:

Available RAM = Global Buffers + (Thread Buffers x `max_connections`)

Verwenden Sie einen Befehl wie den folgenden, um eine Liste der Puffer und ihrer Werte abzurufen:

SHOW VARIABLES LIKE '%buffer%';

Verwendung des Cloud Databases CLI-Plug-ins

Überprüfen Sie die aktuelle Konfiguration Ihrer Implementierung mit einem Befehl wie dem folgenden:

ibmcloud cdb deployment-configuration-schema <deployment name or CRN>

Um Ihre Konfiguration über das Cloud Databases CLI-Plugin zu ändern, verwenden Sie den Befehl deployment-configuration :

ibmcloud cdb deployment-configuration <deployment name or CRN> [@JSON_FILE | JSON_STRING]

Der Befehl liest die Änderungen, die Sie vornehmen wollen, aus dem JSON-Objekt oder einer JSON-Datei. Weitere Informationen finden Sie auf der CLI-Referenzseite.

API Cloud Databases verwenden

Es gibt zwei Bereitstellungskonfigurations-Endpunkte: einen für die Anzeige des Konfigurationsschemas und einen zum Ändern der Konfiguration. Um das Konfigurationsschema anzuzeigen, senden Sie eine GET-Anforderung an /deployments/{id}/configuration/schema.

Wenn Sie die Konfiguration ändern möchten, senden Sie die Einstellungen, die Sie als JSON-Objekt ändern möchten, im Anforderungshauptteil einer PATCH-Anforderung an /deployments/{id}/configuration.

Weitere Informationen finden Sie unter API-Referenz.

Databases for MySQL-Zeitzoneneinstellungen

Die Zeitzone für Databases for MySQL-Implementierungen ist immer die koordinierte Weltzeit. Konfigurieren Sie Ihre Zeitzone mit der API Cloud Databases oder ändern Sie Ihre Zeitzone in eine benannte Zeitzone (empfohlen) oder in eine Zeitzonendifferenz.

Sie müssen die Zeitzone für wiederhergestellte Instanzen und Lesereplikate erneut konfigurieren. Obwohl die Zeitzonentabellen wiederhergestellt (im Falle eines Restores) und repliziert (im Falle eines Lesereplikats) werden, ist der Wert für @@global.time_zone nicht. Um diesen Wert festzulegen, verwenden Sie dieselben API-Aufrufe wie zuvor, aber mit den neuen CRNs.

Zeitzoneneinstellungen für Databases for MySQL konfigurieren

Bei der Bereitstellung wird eine Cloud Databases-Bereitstellung mit Coordinated Universal Time konfiguriert. Die Rekonfiguration Ihrer Zeitzone ist eine persistente Änderung, die für jede Ihrer Cloud Databases-Implementierungen vorgenommen werden muss.

Durch Konfigurieren Ihrer Zeitzone wird die globale Zeitzone in Ihrer MySQL-Instanz festgelegt. In dem Fall, dass ein Failover auftritt, wird Ihre Zeitzoneneinstellung im Rahmen der Replikation weitergegeben, da die Zeitzoneneinstellung in die MySQL-Konfigurationsdatei geschrieben wird. Eine Ausnahme ist, wenn Sie eine Instanz bis zu einem bestimmten Zeitpunkt wiederherstellen, bevor Sie Ihre bevorzugte Zeitzone konfiguriert haben.

Wenn Sie Ihre Zeitzone für eine Zeitzone mit Sommerzeit konfigurieren, sind Anpassungen Teil der Konfiguration. Es ist keine Aktion von Ihrer Seite erforderlich. Die Verwendung einer bestimmten Zeitzone ist besser als die Verwendung einer Offsetzeit.

Cloud Databases validiert den Wert des Parameters time_zone. Wenn Sie Ihre Implementierung mit einem ungültigen Wert konfigurieren, schlägt die Konfiguration fehl. Den gültigen Namen time_zone values finden Sie hier.

Zeitzone in der API Cloud Databases ändern

Beispiel-Offset:

curl -v -XPATCH -H "Authorization: Bearer $token" -H "Content-Type: application/json" https://api.<region>.databases.cloud.ibm.com/v5/ibm/deployments/<crn>/configuration -d '{"configuration": {"time_zone": "<EXAMPLE OFFSET"}}'

Beispiel für benannte Zeitzone:

curl -v -XPATCH -H "Authorization: Bearer $token" -H "Content-Type: application/json" https://api.<region>.databases.cloud.ibm.com/v5/ibm/deployments/<crn>/configuration -d '{"configuration": {"time_zone": "<EXAMPLE TIME ZONE"}}'

Zeitzone in der Befehlszeilenschnittstelle von Cloud Databases ändern

Beispiel für benannte Zeitzone

ibmcloud cdb deployment-configuration <crn> '{"time_zone": "US/Pacific"}'

Verfügbare Databases for MySQL Konfigurationseinstellungen

default_authentication_plugin

  • Standard - sha256_password
  • Zulässige Werte: sha256_password, mysql_native_password
  • Startet die Datenbank neu? - true

Verwenden Sie mysql_native_password nur, wenn dies unbedingt erforderlich ist.

innodb_buffer_pool_size_percentage

  • Beschreibung: Der Prozentsatz des für innodb_buffer_pool_size zu verwendenden Speichers. Der Standardwert von 50% ist ein konservativer Wert und funktioniert für Datenbanken beliebiger Größe. Wenn Ihre Datenbank mehr Arbeitsspeicher benötigt, kann dieser Wert erhöht werden. Ein zu hoher Wert kann die Speicherbegrenzungen Ihrer Datenbank überschreiten, was zu einem Absturz führen kann.
  • Standardwert: 50
  • Mindestens: 10
  • Höchstwert: 100
  • Startet die Datenbank neu? - true

innodb_flush_log_at_trx_commit

  • Beschreibung: Steuert die Balance zwischen strikter ACID-Konformität für commit-Operationen und höherer Leistung, die möglich ist, wenn festschreibungsbezogene E/A-Operationen neu angeordnet und in Batches ausgeführt werden. Sie können eine bessere Leistung erzielen, indem Sie den Standardwert ändern, aber dann können Sie Transaktionen bei einem Absturz verlieren.
  • Standardwert: 2
  • Mindestens: 0
  • Höchstwert: 2
  • Startet die Datenbank neu? - false

innodb_log_buffer_size

  • Beschreibung: Die Größe des Puffers in Byte, den InnoDB verwendet, um in die Protokolldateien auf der Platte zu schreiben.
  • Standardwert: 33554432
  • Mindestens: 1048576
  • Höchstwert: 4294967295
  • Startet die Datenbank neu? - true

innodb_log_file_size

  • Beschreibung: Die Größe jeder Protokolldatei in einer Protokollgruppe in Bytes. Innodb_log_file_size und " innodb_log_files_in_group sind durch " innodb_redo_log_capacity ersetzt worden. Das Setzen von " innodb_log_file_size setzt auch " innodb_redo_log_capacity.
  • Standardwert: 2147483648
  • Mindestens: 4194304
  • Höchstwert: 274877906900
  • Startet die Datenbank neu? - false

innodb_lru_scan_depth

  • Beschreibung: Ein Parameter, der die Algorithmen und Heuristiken für die Operation flush für den Pufferpoolvon InnoDB beeinflusst. Eine Einstellung, die kleiner als der Standardwert ist, ist im Allgemeinen für die meisten Workloads geeignet. Ein Wert, der viel höher als erforderlich ist, kann die Leistung beeinträchtigen. Sie sollten den Wert nur erhöhen, wenn Sie über freie E/A-Kapazität unter einer typischen Workload verfügen.
  • Standardwert: 256
  • Mindestens: 128
  • Höchstwert: 2048
  • Startet die Datenbank neu? - false

innodb_write_io_threads

  • Beschreibung: Die Anzahl der E/A-Threads für Schreibvorgänge in InnoDB.
  • Standardwert: 4
  • Mindestens: 1
  • Höchstwert: 64
  • Startet die Datenbank neu? - true

max_allowed_packet

  • Standard - 1073741824
  • Minimum - 1024
  • Maximum - 1073741824
  • Startet die Datenbank neu? - false

max_prepared_stmt_count

  • Beschreibung-Gibt die Gesamtzahl der vorbereiteten Anweisungen auf dem Server an
  • Standard - 16382
  • Minimum - 0
  • Maximum-(Version ≤ 8.0.17) 1048576, (Version ≥ 8.0.18) 4194304
  • Startet die Datenbank neu? - false

max_connections

  • Standard - 200
  • Startet die Datenbank neu? - false

Möglicherweise müssen Sie skalieren, bevor Sie die maximale Anzahl von Verbindungen erhöhen.

mysql_max_binlog_age_sec

  • Standard - 1800
  • Startet die Datenbank neu? - false

net_write_timeout

  • Beschreibung: Die Anzahl der Sekunden, die auf das Schreiben eines Blocks in eine Verbindung gewartet wird, bevor der Schreibvorgang abgebrochen wird.
  • Standardwert: 60
  • Mindestens: 1
  • Höchstwert: 7200
  • Startet die Datenbank neu? - false

sql_mode

  • Zulässige Werte:
    • ALLOW_INVALID_DATES
    • ANSI_QUOTES
    • ERROR_FOR_DIVISION_BY_ZERO
    • HIGH_NOT_PRECEDENCE
    • IGNORE_SPACE
    • NO_AUTO_CREATE_USER
    • NO_AUTO_VALUE_ON_ZERO
    • NO_BACKSLASH_ESCAPES
    • NO_DIR_IN_CREATE
    • NO_ENGINE_SUBSTITUTION
    • NO_FIELD_OPTIONS
    • NO_KEY_OPTIONS
    • NO_TABLE_OPTIONS
    • NO_UNSIGNED_SUBTRACTION
    • NO_ZERO_DATE
    • NO_ZERO_IN_DATE
    • ONLY_FULL_GROUP_BY
    • PAD_CHAR_TO_FULL_LENGTH
    • PIPES_AS_CONCAT
    • REAL_AS_FLOAT
    • STRICT_ALL_TABLES
    • STRICT_TRANS_TABLES
  • Startet die Datenbank neu? - false

time_zone

  • Beschreibung: Die Zeitzone, die derzeit auf dem Server festgelegt ist, ist standardmäßig '+ 00:00' (Coordinated Universal Time). Sie kann aber auch auf einen bestimmten Offset von der koordinierten Weltzeit im Format [HH]:MM mit einem + oder - Präfix eingestellt werden, z. B. '+10:00', '-6:00' oder '+05:30'. Benannte Zeitzonen wie 'MET' oder' US/Pazifik ' können ebenfalls verwendet werden.
  • Standardwert: +00:00
  • Typ: string
  • Startet die Datenbank neu? - false

wait_timeout

  • Beschreibung: Die Anzahl Sekunden, die der Server auf Aktivitäten in einer nicht interaktiven Verbindung wartet, bevor er sie schließt.
  • Standardwert: 28800
  • Mindestens: 1
  • Höchstwert: 31536000
  • Startet die Datenbank neu? - false

innodb_read_io_threads

  • Beschreibung: Die Anzahl der E/A-Threads für Leseoperationen in InnoDB.
  • Standardwert: 4
  • Mindestens: 1
  • Höchstwert: 64
  • Startet die Datenbank neu? - true

net_read_timeout

  • Beschreibung: Die Anzahl der Sekunden, die auf weitere Daten aus einer Verbindung gewartet wird, bevor der Lesevorgang abgebrochen wird.
  • Standardwert: 30
  • Mindestens: 1
  • Höchstwert: 7200
  • Startet die Datenbank neu? - false