Auf dieser Seite werden einige der in Cloud SQL auftretenden Fehlermeldungen erläutert.
Übersicht
Fehlermeldungen in Cloud SQL stammen aus vielen verschiedenen Quellen. Einige Fehlermeldungen stammen von den Datenbankmodulen selbst, einige vom Cloud SQL-Dienst, andere von Clientanwendungen und manche werden durch Aufrufe an die Cloud SQL Admin API zurückgegeben.
Auf dieser Seite sind einige der häufigsten Fehler in Cloud SQL aufgeführt. Wenn Sie den gesuchten Fehlercode oder die gewünschte Fehlermeldung hier nicht finden, können Sie unter den folgenden Links nach Quellreferenzmaterial suchen:
Wenn Sie das Referenzmaterial für die angezeigte Fehlermeldung nicht finden, können Sie an folgenden Stellen nach relevanten Informationen von anderen Nutzern suchen:
- Fragen zu Cloud SQL bei Stack Overflow
- Öffentliche Problemverfolgung für Cloud SQL
- DBA Stack Exchange
- Cloud SQL-Forum
- Google Cloud-Slack-Community
- Google Cloud auf Reddit
Unbekannte Fehler
Die folgenden Tabelle enthält einige bekannte Fälle, in denen ein Unknown Error
auftreten kann, sowie gegebenenfalls Möglichkeiten für die Problemlösung. Dies ist jedoch keine vollständige Liste. Sollten Sie Ihren spezifischen Fall nicht in der Tabelle finden, sehen Sie in der öffentlichen Problemverfolgung für Cloud SQL nach.
Wenn Sie das Problem auch dort nicht finden, können Sie eine Meldung einreichen oder andere Supportoptionen prüfen.
Aktion | Mögliche Ursache | Lösungsvorschlag |
---|---|---|
Sicherung | Wenn dieses Problem bei automatischen oder manuellen Sicherungen auftritt, ist das Instanzlaufwerk wahrscheinlich voll. | Wenn die temporäre Datei zu viel Speicherplatz belegt, können Sie die Instanz neu starten, um die Datei zu entfernen und diesen Speicherplatz freizugeben. Andernfalls müssen Sie die Instanz möglicherweise auf ein größeres Laufwerk aktualisieren. |
Klonen | Hier kann der Fehler auftreten, wenn in der ausgewählten Zone zu wenige Ressourcen verfügbar sind. | Versuchen Sie es mit einer anderen Zone in der Region oder versuchen Sie es später noch einmal. |
Instanz erstellen |
|
|
Replikat erstellen | Möglicherweise finden Sie in den Logdateien einen spezifischen Fehler. | Prüfen Sie die Logs in Cloud Logging, um den tatsächlichen Fehler zu finden. Lautet der Fehler set Service Networking
service account as servicenetworking.serviceAgent role on consumer
project , deaktivieren Sie die Service Networking API und aktivieren Sie sie dann wieder.
Dadurch wird das Dienstkonto erstellt, das für die Fortsetzung des Prozesses erforderlich ist. |
Export | Wenn das Problem beim Exportieren einer Datenbank in einen Cloud Storage-Bucket auftritt, kann die Übertragung aufgrund eines Bandbreitenproblems fehlschlagen. | Die Cloud SQL-Instanz befindet sich möglicherweise in einer anderen Region als der Cloud Storage-Bucket. Das Lesen und Schreiben von Daten zwischen verschiedenen Kontinenten verursacht eine hohe Netzwerkauslastung, wodurch zeitweise Probleme wie dieses auftreten können. |
Failover (Legacy) | Falls Sie die Legacy-Failover-Konfiguration verwenden, kann der Fehler auftreten, wenn der für das Failover verwendete Maschinentyp keine ausreichende Kapazität für die Verarbeitung des Failovers hat. | Die beste Lösung ist hier eine Migration zur aktuellen Hochverfügbarkeitskonfiguration. Andernfalls müssen Sie für das Failover-Replikat einen größeren Maschinentyp auswählen. |
Failover (automatisch) | Diese Fehlermeldung kann bei einem automatischen Failover ausgegeben werden, wenn der Dienst erkennt, dass die primäre Instanz noch reagiert. | In diesem Fall müssen Sie nichts tun. Der Failover wird nicht durchgeführt, da er nicht benötigt wird. |
Import | Die Importdatei kann Anweisungen enthalten, die die Superuser-Rolle voraussetzen. | Bearbeiten Sie die Datei und entfernen Sie alle Anweisungen, für die die Superuser-Rolle erforderlich ist. |
Cloud SQL verwendet auch einige Binärprogramme von Drittanbietern, z. B. mysqld
, die Meldungen über unbekannte Fehler auslösen können. Solche Fehler werden intern in den Binärprogrammen von Drittanbietern verursacht und liegen außerhalb der Kontrolle von Cloud SQL.
Manchmal ist jedoch gleichzeitig ein spezifischerer Fehler in den Cloud SQL-Logdateien zu finden.
Auch ein unbekannter Fehlercode kann die Ursache sein. In diesem Fall kann die vollständige Meldung Unknown Error Code
sein.
Weitere Fehler
Verbindung abgebrochen
Die Fehlermeldung Got an error reading communication packets
oder Aborted connection xxx to db: DB_NAME
wird angezeigt.
Mögliche Ursache
Der Fehler Aborted connection
zeigt an, dass eine Anwendung Verbindungen nicht ordnungsgemäß beendet hat.
Lösungsvorschlag
Prüfen Sie auf Folgendes:
- Die Anwendung hat nicht mysql_close() aufgerufen, bevor sie beendet wurde.
- Kommunikationsfehler.
- Die Anwendung war möglicherweise mehr als die in
wait_timeout
oderinteractive_timeout
angegebene Anzahl von Sekunden inaktiv, ohne Anfragen an den Server zu senden. Siehe Abschnitt 5.1.8 zu Serversystemvariablen. - Die Anwendung wurde während einer Datenübertragung plötzlich beendet.
- Der Wert der Variablen
max_allowed_packet
ist möglicherweise zu klein oder Abfragen benötigen mehr Arbeitsspeicher, als mysqld zugewiesen ist. Dieses Problem lässt sich beheben, indem Sie das Flagmax_allowed_packet
auf einen viel größeren Wert setzen.
Ungültige Anfrage
Sie sehen die Fehlermeldung HTTP Error 400 Bad Request
.
Mögliche Ursache
Ungültige Anfragen können viele Ursachen haben. Ein ungültiges Argument ist eine der häufigsten. Das bedeutet, dass die Anfrage entweder ein falsches Argument oder einen ungültigen Wert für ein Argument enthält. Es sind aber auch andere Ursachen denkbar. Die jeweiligen Fehlermeldungen können dazu hilfreiche Hinweise enthalten.
Lösungsvorschlag
Wenn ein ungültiges Argument die Ursache ist, sorgen Sie dafür, dass jedes Argument der Anfrage zulässig und jeder Argumentwert gültig ist. Sehen Sie bei anderen Ursachen in den Logdateien nach, ob weitere Informationen verfügbar sind.
Zugriff für Nutzer verweigert
Folgende Fehlermeldung ist zu sehen: Access denied for user 'XXX'@'XXX'
(using password: XXX)
.
Mögliche Ursache
Dafür kann es verschiedene Gründe geben:
- Der Nutzername oder das Passwort ist falsch.
- Der Nutzer stellt eine Verbindung über eine andere URL als
@XXX
her. - Der Nutzer hat nicht die erforderlichen Berechtigungen für die Datenbank, zu der er eine Verbindung herstellen möchte.
Lösungsvorschlag
- Prüfen Sie den Nutzernamen und das zugehörige Passwort.
- Prüfen Sie, ob der Ursprung der Verbindung mit der URL übereinstimmt, für die der Nutzer Zugriffsrechte hat.
- Prüfen Sie die Zuweisungsberechtigungen des Nutzers in der Datenbank.
Laufwerk voll
Die Fehlermeldung Disk is full
wird angezeigt oder Sie stellen fest, dass der Speicherplatz auf dem Laufwerk aufgebraucht ist.
Mögliche Ursache
Das Laufwerk der primären Instanz kann während der Replikaterstellung zu voll werden.
Lösungsvorschlag
Bearbeiten Sie die primäre Instanz, um sie auf ein größeres Laufwerk zu aktualisieren.
Instanz stürzt ab, wenn ein Flag aktiviert wird
Nach dem Aktivieren eines Flags wechseln die Instanzen zwischen einer Panik und einem Absturz.
Mögliche Ursache
Dieser Fehler kann dadurch verursacht werden, dass das Flag max_connections
auf einen zu hohen Wert gesetzt ist.
Lösungsvorschlag
Wenn Sie für das Flag max_connections
einen zu hohen Wert festlegen, kann die Instanz möglicherweise nicht alle Verbindungen verarbeiten, was zu Error 1040: Too many connections
und zu Heartbeat-Fehlern führt. Wenden Sie sich an den Kundensupport, um ein Entfernen des Flags mit anschließendem hard drain
zu beantragen. Dadurch wird die Instanz auf einem anderen Host mit einer neuen Konfiguration und ohne das Flag bzw. die Einstellung neu gestartet.
Schwerwiegender Fehler beim Upgrade
Beim Upgrade von Ressourcen auf einer Instanz wird die Fehlermeldung ERROR_INTERNAL_FATAL
angezeigt.
Mögliche Ursache
Dafür gibt es viele mögliche Gründe.
Lösungsvorschlag
Logs enthalten möglicherweise nützliche Informationen. Sie können sich auch an den Kundensupport wenden, um die Neuerstellung der Instanz zu erzwingen.
HTTP-Fehler 408: (Zeitüberschreitung) während des Exports
Beim Ausführen eines Exportjobs in Cloud SQL wird die Fehlermeldung HTTP Error 408 (Timeout)
angezeigt.
Mögliche Ursache
Die Formate CSV und SQL werden unterschiedlich exportiert. Das SQL-Format umfasst die gesamte Datenbank, sodass der Export wahrscheinlich länger dauert. Beim CSV-Format können Sie angeben, welche Elemente der Datenbank in den Exportvorgang einbezogen werden sollen.
Lösungsvorschlag
Verwenden Sie das CSV-Format und führen Sie mehrere kleinere Exportjobs aus, um die Größe und Länge der einzelnen Vorgänge zu reduzieren.
HTTP-Fehler 409
Sie sehen die Fehlermeldung HTTP Error 409 in a Terraform script
oder Error 409 Operation failed because another operation was already in
progress
.
Mögliche Ursache
- Prüfen Sie das Terraform-Skript. Das Skript muss darauf warten, dass ein Vorgang abgeschlossen ist, bevor der nächste Vorgang gestartet wird.
HTTP Error 409: Operation failed because another operation was already in progress
.- Sie versuchen, für eine neue Instanz denselben Namen wie für eine kürzlich gelöschte Instanz zu verwenden, bevor die Wartezeit für die Wiederverwendung von Namen abgelaufen ist.
Lösungsvorschlag
- Wenn Sie ein Terraform-Skript ausführen, halten Sie die Ausführung an, bis der jeweilige Instanzvorgang abgeschlossen ist. Lassen Sie das Skript warten, bis für die vorherige Vorgangs-ID
200
zurückgegeben wird. Warten Sie andernfalls, bis der derzeit ausgeführte Vorgang abgeschlossen ist. - Nach dem Löschen einer Instanz müssen Sie eine Woche warten, bevor Sie denselben Namen für eine neue Instanz wiederverwenden können.
Instanz kann nicht gelöscht werden
Fehlermeldung
Sie sehen die Fehlermeldung ERROR: (gcloud.sql.instances.delete) HTTP Error
409: The instance or operation is not in an appropriate state to handle the
request
oder die Instanz hat den Flag-Status INSTANCE_RISKY_FLAG_CONFIG
.
Mögliche Ursache
Another operation is in progress
.- Die Warnung
INSTANCE_RISKY_FLAG_CONFIG
wird immer dann ausgelöst, wenn mindestens einBETA
-Flag verwendet wird.
Lösungsvorschlag
- Cloud SQL-Vorgänge werden nicht gleichzeitig ausgeführt. Warten Sie, bis der andere Vorgang abgeschlossen ist.
- Entfernen Sie die Einstellungen für das risikobehaftete Flag und starten Sie die Instanz neu.
Interner Fehler
Folgende Fehlermeldung ist zu sehen: {"ResourceType":"sqladmin.v1beta4.instance",
"ResourceErrorCode":"INTERNAL_ERROR","ResourceErrorMessage":null}
.
Mögliche Ursache
Im Dienstprojekt fehlt möglicherweise das Dienstnetzwerk-Dienstkonto, das für dieses Feature erforderlich ist.
Lösungsvorschlag
Deaktivieren Sie zum Reparieren von Dienstberechtigungen die Service Networking API
, warten Sie fünf Minuten und aktivieren Sie sie dann wieder.
MySQL-Fehler 1040
Die Fehlermeldung MySQL Error 1040: Too many connections
wird angezeigt.
Mögliche Ursache
Ein zu hoher Wert für das Flag max_connections
kann diesen Fehler verursachen.
Lösungsvorschlag
Wenden Sie sich an den Kundensupport, um ein Entfernen des Flags mit anschließendem hard drain
anzufordern. Dadurch wird die Instanz auf einem anderen Host mit einer neuen Konfiguration und ohne das Flag bzw. die Einstellung neu gestartet.
Netzwerkzuordnung fehlgeschlagen
Die Fehlermeldung Network association failed due to the following
error: set Service Networking service account as servicenetworking.serviceAgent
role on consumer project
wird angezeigt.
Mögliche Ursache
Die Service Networking API
ist im Projekt nicht aktiviert.
Lösungsvorschlag
Aktivieren Sie die Service Networking API
in Ihrem Projekt. Wird dieser Fehler angezeigt, wenn Sie einer Cloud SQL-Instanz eine private IP-Adresse zuweisen und eine freigegebene VPC verwenden, müssen Sie die Service Networking API
auch für das Hostprojekt aktivieren.
Keine Berechtigung zum Herstellen einer Verbindung
Die Fehlermeldung Unauthorized to connect
wird angezeigt.
Mögliche Ursache
Da die Autorisierung auf mehreren Ebenen erfolgt, kann dies verschiedene Ursachen haben.
- Auf Datenbankebene muss der Datenbanknutzer vorhanden sein und sein Passwort muss übereinstimmen.
- Auf Projektebene hat der Nutzer möglicherweise nicht die richtigen IAM-Berechtigungen, einschließlich der Berechtigung
serviceusage.services.use
odercloudsql.instances.connect
. - Wenn die Cloud SQL-Instanz auf Netzwerkebene öffentliche IP-Adressen verwendet, muss sich die Quell-IP-Adresse der Verbindung in einem autorisierten Netzwerk befinden.
Lösungsvorschlag
- Achten Sie darauf, dass der Nutzer vorhanden ist und dass sein Passwort übereinstimmt.
- Weisen Sie dem Nutzerkonto die Rolle
Service Usage Consumer
zu. Diese Rolle enthält die Berechtigungserviceusage.services.use
. - Wenn Sie eine öffentliche IP-Adresse verwenden, achten Sie darauf, dass sich die Quell-IP-Adresse in einem autorisierten Netzwerk befindet.
Vorgang ist für diese Instanz nicht gültig
Ein API-Aufruf an instances.restoreBackup
führt zu der Fehlermeldung HTTP Error 400: This operation isn't valid for
this instance
.
Mögliche Ursache
Sie können eine Instanz nicht aus einer Sicherung wiederherstellen, wenn die Speichergröße (XX GB) der Instanz kleiner als die Sicherungsgröße (YY GB) ist.
Lösungsvorschlag
Bearbeiten Sie die Zielinstanz, um ihre Speichergröße zu erhöhen.
Nicht genügend Arbeitsspeicher während der automatischen Sicherung
Die Fehlermeldung [ERROR] InnoDB: Write to file ./ibtmp1 failed at
offset XXXX, YYYY bytes should have been written, only 0 were written.
wird angezeigt.
Mögliche Ursache
Die Instanz hat beim Ausführen einer automatischen Sicherung ein festes Limit erreicht.
Lösungsvorschlag
Prüfen Sie, ob Ihr Betriebssystem und Ihr Dateisystem Dateien dieser Größe unterstützen. Prüfen Sie, ob das Laufwerk voll oder das Laufwerkskontingent aufgebraucht ist. Sie können über die Google Cloud Console eine Erhöhung Ihrer Kontingente beantragen oder die Instanz bearbeiten, um sie auf ein größeres Laufwerk zu aktualisieren.
Kontingent überschritten
Sie sehen die Fehlermeldung RESOURCE_EXHAUSTED: Quota exceeded
oder GLOBAL_ADDRESSES_QUOTA_EXCEEDED
.
Mögliche Ursache
Sie haben das Limit Ihres Kontingents pro Minute oder Tag erreicht. Sehen Sie sich die Kontingente und Limits für Cloud SQL an.
Lösungsvorschlag
Fordern Sie über die Google Cloud Console eine Erhöhung Ihrer Kontingente an.
Verbleibende Verbindungsslots sind reserviert
Folgende Fehlermeldung ist zu sehen: FATAL: remaining connection slots are reserved for
non-replication superuser connections
.
Mögliche Ursache
Die maximal zulässige Anzahl von Verbindungen wurde erreicht.
Lösungsvorschlag
Erhöhen Sie das Flag max_connections
.
Siehe Datenbank-Flags konfigurieren.
In der Anfrage fehlt ein gültiger API-Schlüssel
Die Fehlermeldung HTTP Error 403: PERMISSION_DENIED. The request
is missing a valid API key
wird angezeigt.
Mögliche Ursache
Möglicherweise haben Sie keine gültige JSON-Datei für den Dienstkontoschlüssel oder sie wurde nicht am erwarteten Ort gespeichert.
Lösungsvorschlag
Prüfen Sie, ob Sie an dem in der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS
gespeicherten Ort eine gültige Dienstkonto-JSON-Datei haben und dass die Variable auf den richtigen Speicherort verweist.
Systemfehler aufgetreten
Die Fehlermeldung [ERROR_RDBMS] system error occurred
wird angezeigt.
Mögliche Ursache
- Der Nutzer hat eventuell nicht alle erforderlichen Cloud Storage-Berechtigungen.
- Die Datenbanktabelle ist möglicherweise nicht vorhanden.
Lösungsvorschlag
- Prüfen Sie, ob Sie mindestens
WRITER
-Berechtigungen für den Bucket undREADER
-Berechtigungen für die Exportdatei haben. Weitere Informationen zum Konfigurieren der Zugriffssteuerung in Cloud Storage finden Sie unter Access Control Lists (ACLs) erstellen und verwalten. - Prüfen Sie, ob die Tabelle vorhanden ist. Wenn die Tabelle vorhanden ist, prüfen Sie, ob Sie die erforderlichen Berechtigungen für den Storage-Bucket haben.
Tabellendefinition hat sich geändert
Die Fehlermeldung Table definition has changed, please retry transaction
when dumping table
wird angezeigt.
Mögliche Ursache
Während des Exportvorgangs ist in der Tabelle eine Änderung aufgetreten.
Lösungsvorschlag
Die Dump-Transaktion kann fehlschlagen, wenn Sie während des Exportvorgangs die folgenden Anweisungen verwenden:
ALTER TABLE
CREATE TABLE
DROP TABLE
RENAME TABLE
TRUNCATE TABLE
Größe der temporären Datei überschreitet "temp_file_limit"
Die Fehlermeldung Temporary file size exceeds temp_file_limit
wird angezeigt.
Mögliche Ursache
Der Wert des Flags temp_file_limit
ist für Ihre Datenbanknutzung zu niedrig.
Lösungsvorschlag
Erhöhen Sie den Wert von temp_file_limit
.
Siehe Datenbank-Flags konfigurieren.