Cloud SQL error messages

This page discusses some of the error messages encountered in Cloud SQL.

Overview

Error messages in Cloud SQL come from many sources and appear in many places. Some error messages come from the database engines themselves, some from the Cloud SQL service, some from client applications, and some are returned by calls to the Cloud SQL Admin API.

This page includes some of the most common errors seen in Cloud SQL. If you don't find the error code or message you are looking for here, you can look for source reference material here:

If you don't find the reference material for the error message that you're seeing, you can also search in some of these places where other users may have relevant experience:

Operational errors

A | B | C | D | E | F | G | I | L | M | N | O | P | Q | R | S | T | U | W

Error message Troubleshooting
Aborted connection xxx to db: DB_NAME. The application isn't ending connections properly.

Check for the following conditions:

  • The application did not call mysql_close() before exiting.
  • Communication errors.
  • The application might have been sleeping more than the number of seconds specified in `wait_timeout` or `interactive_timeout` without issuing any requests to the server. See Section 5.1.7, Server System Variables.
  • The application ended abruptly in the middle of a data transfer.
  • The max_allowed_packet variable value might be too small or queries require more memory than the allocated for mysqld. This can be resolved by raising the max_allowed_packet flag to a much larger number.
Access denied; you need (at least one of) the SUPER privilege(s) for this operation. There could be a view, a function, or a procedure in the source database referencing DEFINER in a way that's not supported by Cloud SQL.

Update the definer in the external databases, for example from root@localhost to root@% or a non-superuser. See Stored Object Access Control for more information.

Access denied for user 'XXX'@'XXX' (using password: XXX) There could be several causes, including:
  • The username (or password) is incorrect.
  • The user is connecting from a URL other than @XXX.
  • The user doesn't have the correct privileges for the database they're trying to connect to.

Try these things ...

  • Verify the username and corresponding password.
  • Check the origin of the connection to see if it matches the URL where the user has access privileges.
  • Check the user's grant privileges in the database.
Allocated IP range not found in network. VPC peerings were not updated after an allocated range was modified or removed.

You need to modify the private connection. Use the following command, and make sure to use the --force argument:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
ANY command denied to user 'root'@'%' for table ... The user doesn't have all the permissions it needs for this operation.

Try this:

  1. Connect to the database (for example, using Cloud Shell) and login as root.
  2. Execute USE mysql;.
  3. Grant the following permissions using the syntax:
    GRANT PERMISSION_1,PERMISSION_2 ON *.* TO 'root' WITH GRANT OPTION;
       
    • SELECT
    • INSERT
    • UPDATE
    • DELETE
    • CREATE
    • DROP
    • RELOAD
    • SHUTDOWN
    • PROCESS
    • REFERENCES
    • INDEX
    • ALTER
    • SHOW DATABASES
    • CREATE TEMPORARY TABLES
    • LOCK TABLES
    • EXECUTE
    • REPLICATION SLAVE
    • REPLICATION CLIENT
    • CREATE VIEW
    • SHOW VIEW
    • CREATE ROUTINE
    • ALTER ROUTINE
    • CREATE USER
    • EVENT
    • TRIGGER
    • CREATE TABLESPACE
  4. Execute USE 'Database_Name'; where Database_Name is the database where you're creating the views.
  5. Execute all create views in the session and commit.
Error message Troubleshooting
Bad request. This message can have many causes. Illegal Argument is one of the most common. In this case, the request is using either the wrong argument or an invalid value for the argument. For the many other causes, the error message might contain a useful hint.

For Illegal Argument, check the request to make sure each argument is permissible and each value for the argument is valid. For all other causes, check the log files to see if there is more information there.

Error message Troubleshooting
Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. VPC peerings were not updated after an allocated range was modified or removed.

You need to modify the private connection. Use the following command, and make sure to use the --force argument:

gcloud services vpc-peerings update \
--network=VPC_NETWORK \
--ranges=ALLOCATED_RANGES \
--service=servicenetworking.googleapis.com \
--force
Connection reset by peer.

If you're trying to perform an export and Cloud Storage doesn't receive any data within a certain timeframe, then the connection resets.

Try a manual export using pg_dump.

Constraints/sql.restrictAuthorizedNetworks. The cloning operation is blocked by the Authorized Networks configuration. Authorized Networks are configured for public IP addresses in the Connectivity section of the Google Cloud console, and cloning isn't permitted due to security considerations.

Remove all Authorized Networks entries from the Cloud SQL instance if you can. Otherwise, create a replica without any Authorized Networks entries.

Could not allocate a new page for database database_name because of insufficient disk space in filegroup PRIMARY. The PRIMARY filegroup, which is the main and default filegroup in a database, has run out of space.

Use the sp_helpdb command to get information about the database.

Consider the following solutions:

  • Manually expand the disk space or reduce the data in the database.
  • Ensure that Automatic storage increase is enabled for the database instance.
  • Add more filegroups and move data into them.
  • Ensure that growth is not limited. Use the ALTER DATABASE command to enable autogrowth, if it is not already enabled, and to increase the maximum file size.
  • Manage tempdb files. Use the DBCC OPENTRAN and DBCC SQLPERFcommands to check for open transactions that can cause the tempdb file or the transaction log to grow.
Error message Troubleshooting
Database user does not exist. gcloud sql connect --user only works with the default postgres user.

Connect with the default user and then change users.

Disk is full. The primary instance disk size can become full during replica creation.

Edit the primary instance to upgrade it to a larger disk size.

Error message Troubleshooting
Failed to create subnetwork. No more available addresses in the IP range.

Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider.

There are no more available addresses in the allocated IP range.

Consider these possible scenarios:

  • The size of the allocated IP range for the private service connection is smaller than /24.
  • The size of the allocated IP range for the private service connection is too small for the number of Cloud SQL instances.
  • The requirement on the size of allocated IP range will be larger if instances are created in multiple regions. See allocated range size

For each of the previously listed scenarios, you can elect to either expand the existing or allocate an additional IP range to the private service connection.

If you're allocating a new range, take care to not create an allocation that overlaps with any existing allocations.

After creating a new IP range, update the VPC peering with the following command:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
--network=VPC_NETWORK
--project=PROJECT_ID \
--force

If you're expanding an existing allocation, take care to only increase the allocation range and not decrease it. For example, if the original allocation was 10.0.10.0/24, make the new allocation at least 10.0.10.0/23.

In general, if starting from a /24 allocation, decrementing the /mask by 1 for each condition (additional instance type group, additional region) is a good rule of thumb. For example, if trying to create both instance type groups on the same allocation, going from /24 to /23 is enough.

After expanding an existing IP range, update the vpc peering with following command:

gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
--project=PROJECT_ID \
--force
Error message Troubleshooting
(gcloud.sql.connect) It seems your client does not have ipv6 connectivity and the database instance does not have an ipv4 address. You're trying to connect to your private IP instance using Cloud Shell.

Connecting from Cloud Shell to an instance with only a private IP address isn't supported.

Got packet bigger than max_allowed_packet bytes when dumping table. The packet was larger than allowed by settings.

Use mysqldump with the max_allowed_packet option.

To learn more about using mysqldump flags for managed import migration, see Allowed and default initial sync flags

Error message Troubleshooting
InnoDB: Write to file ./ibtmp1 failed at offset XXXX, YYYY bytes should have been written, only 0 were written. The instance reached a hard limit when conducting an automated backup.

Check that your OS and file system support files of this size. Check that the disk isn't full or out of disk quota. You can request an increase to your quotas from the Google Cloud console or edit the instance to upgrade it to a larger disk size.

Internal error. The project could be missing the Service Networking service account required for this feature.

To repair service permissions, disable the Service Networking API, wait five minutes and then re-enable it.

Invalid request: Incorrect Service Networking config for instance. Service Networking API isn't enabled in the project.

Enable the Service Networking API in your project. If you see this error when you're trying to assign a private IP address to a Cloud SQL instance, and you're using a Shared VPC, you also need to enable the Service Networking API for the host project.

Instance is not eligible for replica creation. The primary instance doesn't meet the necessary requirements for replication. For a list of requirements, see Replication limitations.
Error message Troubleshooting
Login failed for user 'XXX'. Confirm that the user has privileges on the instance and database to which they are trying to connect and ensure the right credentials are being used.
Login 'test' owns one or more database(s). Change the owner of the database(s) before dropping the login. If you want to drop the user login associated with a database owner that's no longer active, you must first assign a new database owner.
Error message Troubleshooting
Metadata table locked. Another query, process, or transaction is blocking your query and locked the table.

Find the process that locked the table and stop it:

  1. Diagnose with: sql> show processlist;

    The first item in the list might be the one holding the lock, which the following items are waiting on.

  2. The SHOW INNODB STATUS command can also be helpful.
  3. Run the command KILL <var>PID</var>.
Error message Troubleshooting
Network association failed. The Service Networking API isn't enabled in the project.

Enable the Service Networking API in your project. If you see this error when you're trying to assign a private IP address to a Cloud SQL instance, and you're using a Shared VPC, you also need to enable the Service Networking API for the host project.

Error message Troubleshooting
Operation failed because another operation was already in progress. Most operations in Cloud SQL are synchronous. You can run only one at a time.

Wait for the previous operation to finish before beginning another.

Error message Troubleshooting
Password authentication failed for user "postgres".