- NAME
-
- gcloud sql instances create - creates a new Cloud SQL instance
- SYNOPSIS
-
-
gcloud sql instances create
INSTANCE
[--activation-policy
=ACTIVATION_POLICY
] [--active-directory-domain
=ACTIVE_DIRECTORY_DOMAIN
] [--[no-]assign-ip
] [--async
] [--audit-bucket-path
=AUDIT_BUCKET_PATH
] [--audit-retention-interval
=AUDIT_RETENTION_INTERVAL
] [--audit-upload-interval
=AUDIT_UPLOAD_INTERVAL
] [--authorized-networks
=NETWORK
,[NETWORK
,…]] [--availability-type
=AVAILABILITY_TYPE
] [--no-backup
] [--backup-location
=BACKUP_LOCATION
] [--backup-start-time
=BACKUP_START_TIME
] [--cascadable-replica
] [--collation
=COLLATION
] [--connector-enforcement
=CONNECTOR_ENFORCEMENT
] [--cpu
=CPU
] [--database-flags
=FLAG
=VALUE
,[FLAG
=VALUE
,…]] [--database-version
=DATABASE_VERSION
; default="MYSQL_8_0"] [--[no-]deletion-protection
] [--deny-maintenance-period-end-date
=DENY_MAINTENANCE_PERIOD_END_DATE
] [--deny-maintenance-period-start-date
=DENY_MAINTENANCE_PERIOD_START_DATE
] [--deny-maintenance-period-time
=DENY_MAINTENANCE_PERIOD_TIME
] [--edition
=EDITION
] [--enable-bin-log
] [--[no-]enable-data-cache
] [--[no-]enable-dataplex-integration
] [--[no-]enable-google-ml-integration
] [--enable-google-private-path
] [--enable-password-policy
] [--enable-point-in-time-recovery
] [--failover-replica-name
=FAILOVER_REPLICA_NAME
] [--[no-]insights-config-query-insights-enabled
] [--insights-config-query-plans-per-minute
=INSIGHTS_CONFIG_QUERY_PLANS_PER_MINUTE
] [--insights-config-query-string-length
=INSIGHTS_CONFIG_QUERY_STRING_LENGTH
] [--[no-]insights-config-record-application-tags
] [--[no-]insights-config-record-client-address
] [--maintenance-release-channel
=MAINTENANCE_RELEASE_CHANNEL
] [--maintenance-window-day
=MAINTENANCE_WINDOW_DAY
] [--maintenance-window-hour
=MAINTENANCE_WINDOW_HOUR
] [--master-instance-name
=MASTER_INSTANCE_NAME
] [--memory
=MEMORY
] [--network
=NETWORK
] [--password-policy-complexity
=PASSWORD_POLICY_COMPLEXITY
] [--[no-]password-policy-disallow-username-substring
] [--password-policy-min-length
=PASSWORD_POLICY_MIN_LENGTH
] [--password-policy-password-change-interval
=PASSWORD_POLICY_PASSWORD_CHANGE_INTERVAL
] [--password-policy-reuse-interval
=PASSWORD_POLICY_REUSE_INTERVAL
] [--psc-auto-connections
=[network
=NETWORK
],[project
=PROJECT
]] [--[no-]recreate-replicas-on-primary-crash
] [--replica-type
=REPLICA_TYPE
] [--replication
=REPLICATION
] [--require-ssl
] [--retained-backups-count
=RETAINED_BACKUPS_COUNT
] [--retained-transaction-log-days
=RETAINED_TRANSACTION_LOG_DAYS
] [--root-password
=ROOT_PASSWORD
] [--ssl-mode
=SSL_MODE
] [--[no-]storage-auto-increase
] [--storage-size
=STORAGE_SIZE
] [--storage-type
=STORAGE_TYPE
] [--threads-per-core
=THREADS_PER_CORE
] [--tier
=TIER
,-t
TIER
] [--time-zone
=TIME_ZONE
] [--timeout
=TIMEOUT
; default=3600] [--allowed-psc-projects
=PROJECT
,[PROJECT
,…]--enable-private-service-connect
] [--disk-encryption-key
=DISK_ENCRYPTION_KEY
:--disk-encryption-key-keyring
=DISK_ENCRYPTION_KEY_KEYRING
--disk-encryption-key-location
=DISK_ENCRYPTION_KEY_LOCATION
--disk-encryption-key-project
=DISK_ENCRYPTION_KEY_PROJECT
] [--region
=REGION
; default="us-central" |--gce-zone
=GCE_ZONE
|--secondary-zone
=SECONDARY_ZONE
--zone
=ZONE
] [GCLOUD_WIDE_FLAG …
]
-
- DESCRIPTION
- Creates a new Cloud SQL instance.
- EXAMPLES
-
To create a MySQL 5.7 instance with ID
that has 2 CPUs, 4 GB of RAM, and is in the regionprod-instance
(a zone will be auto-assigned), where the 'root' user has its password set tous-central1
, run:password123
gcloud sql instances create prod-instance --database-version=MYSQL_5_7 --cpu=2 --memory=4GB --region=us-central1 --root-password=password123
To create a Postgres 9.6 instance with ID
that has 2 CPUs, 8 GiB of RAM, and is in the zoneprod-instance
, where the 'postgres' user has its password set tous-central1-a
, run:password123
gcloud sql instances create prod-instance --database-version=POSTGRES_9_6 --cpu=2 --memory=8GiB --zone=us-central1-a --root-password=password123
To create a SQL Server 2017 Express instance with ID
that has 2 CPUs, 3840MiB of RAM, and is in the zoneprod-instance
, where the 'sqlserver' user has its password set tous-central1-a
, run:password123
gcloud sql instances create prod-instance --database-version=SQLSERVER_2017_EXPRESS --cpu=2 --memory=3840MiB --zone=us-central1-a --root-password=password123
- POSITIONAL ARGUMENTS
-
INSTANCE
- Cloud SQL instance ID.
- FLAGS
-
--activation-policy
=ACTIVATION_POLICY
-
Activation policy for this instance. This specifies when the instance should be
activated and is applicable only when the instance state is
RUNNABLE
. The default isalways
. More information on activation policies can be found here: https://cloud.google.com/sql/docs/mysql/start-stop-restart-instance#activation_policy.ACTIVATION_POLICY
must be one of:always
,never
. --active-directory-domain
=ACTIVE_DIRECTORY_DOMAIN
- Managed Service for Microsoft Active Directory domain this instance is joined to. Only available for SQL Server instances.
--[no-]assign-ip
-
Assign a public IP address to the instance. This is a public, externally
available IPv4 address that you can use to connect to your instance when
properly authorized. Use
--assign-ip
to enable and--no-assign-ip
to disable. --async
- Return immediately, without waiting for the operation in progress to complete.
--audit-bucket-path
=AUDIT_BUCKET_PATH
- The location, as a Cloud Storage bucket, to which audit files are uploaded. The URI is in the form gs://bucketName/folderName. Only available for SQL Server instances.
--audit-retention-interval
=AUDIT_RETENTION_INTERVAL
- The number of days for audit log retention on disk, for example, 3dfor 3 days. Only available for SQL Server instances.
--audit-upload-interval
=AUDIT_UPLOAD_INTERVAL
- How often to upload audit logs (audit files), for example, 30mfor 30 minutes. Only available for SQL Server instances.
- The list of external networks that are allowed to connect to the instance. Specified in CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24).
--availability-type
=AVAILABILITY_TYPE
-
Specifies level of availability.
AVAILABILITY_TYPE
must be one of:regional
- Provides high availability and is recommended for production instances; instance automatically fails over to another zone within your selected region.
zonal
- Provides no failover capability. This is the default.
--backup
-
Enables daily backup. Enabled by default, use
--no-backup
to disable. --backup-location
=BACKUP_LOCATION
- Choose where to store your backups. Backups are stored in the closest multi-region location to you by default. Only customize if needed.
--backup-start-time
=BACKUP_START_TIME
- Start time of daily backups, specified in the HH:MM format, in the UTC timezone.
--cascadable-replica
-
Specifies whether a SQL Server replica is a cascadable replica. A cascadable
replica is a SQL Server cross-region replica that supports replica(s) under it.
This flag only takes effect when the
--master-instance-name
flag is set, and the replica under creation is in a different region than the primary instance. --collation
=COLLATION
- Cloud SQL server-level collation setting, which specifies the set of rules for comparing characters in a character set.
--connector-enforcement
=CONNECTOR_ENFORCEMENT
-
Cloud SQL Connector enforcement mode. It determines how Cloud SQL Connectors are
used in the connection. See the list of modes here.
CONNECTOR_ENFORCEMENT
must be one of:CONNECTOR_ENFORCEMENT_UNSPECIFIED
- The requirement for Cloud SQL connectors is unknown.
NOT_REQUIRED
- Does not require Cloud SQL connectors.
REQUIRED
- Requires all connections to use Cloud SQL connectors, including the Cloud SQL Auth Proxy and Cloud SQL Java, Python, and Go connectors. Note: This disables all existing authorized networks.
--cpu
=CPU
- Whole number value indicating how many cores are desired in the machine. Both --cpu and --memory must be specified if a custom machine type is desired, and the --tier flag must be omitted.
--database-flags
=FLAG
=VALUE
,[FLAG
=VALUE
,…]-
Comma-separated list of database flags to set on the instance. Use an equals
sign to separate flag name and value. Flags without values, like
skip_grant_tables, can be written out without a value after, e.g.,
skip_grant_tables=
. Use on/off for booleans. View the Instance Resource API for allowed flags. (e.g.,--database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1
) --database-version
=DATABASE_VERSION
; default="MYSQL_8_0"-
The database engine type and versions. If left unspecified, MYSQL_8_0 is used.
See the list of database versions at https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/SqlDatabaseVersion.
Apart from listed major versions, DATABASE_VERSION also accepts supported minor
versions.
DATABASE_VERSION
must be one of:MYSQL_5_6
,MYSQL_5_7
,MYSQL_8_0
,MYSQL_8_4
,POSTGRES_9_6
,POSTGRES_10
,POSTGRES_11
,POSTGRES_12
,POSTGRES_13
,POSTGRES_14
,POSTGRES_15
,POSTGRES_16
,POSTGRES_17
,SQLSERVER_2017_EXPRESS
,SQLSERVER_2017_WEB
,SQLSERVER_2017_STANDARD
,SQLSERVER_2017_ENTERPRISE
,SQLSERVER_2019_EXPRESS
,SQLSERVER_2019_WEB
,SQLSERVER_2019_STANDARD
,SQLSERVER_2019_ENTERPRISE
,SQLSERVER_2022_EXPRESS
,SQLSERVER_2022_WEB
,SQLSERVER_2022_STANDARD
,SQLSERVER_2022_ENTERPRISE
. --[no-]deletion-protection
-
Enable deletion protection on a Cloud SQL instance. Use
--deletion-protection
to enable and--no-deletion-protection
to disable. --deny-maintenance-period-end-date
=DENY_MAINTENANCE_PERIOD_END_DATE
-
Date when the deny maintenance period ends, that is
.2021-01-10
--deny-maintenance-period-start-date
=DENY_MAINTENANCE_PERIOD_START_DATE
-
Date when the deny maintenance period begins, that is
.2020-11-01
--deny-maintenance-period-time
=DENY_MAINTENANCE_PERIOD_TIME
-
Time when the deny maintenance period starts or ends, that is
.05:00:00
--edition
=EDITION
-
Specifies the edition of Cloud SQL instance.
EDITION
must be one of:enterprise
,enterprise-plus
. --enable-bin-log
- Allows for data recovery from a specific point in time, down to a fraction of a second. Must have automatic backups enabled to use. Make sure storage can support at least 7 days of logs.
--[no-]enable-data-cache
-
Enable use of data cache for accelerated read performance. This flag is only
available for Enterprise_Plus edition instances. Use
--enable-data-cache
to enable and--no-enable-data-cache
to disable. --[no-]enable-dataplex-integration
-
Enable Dataplex integration for Google Cloud SQL. Use
--enable-dataplex-integration
to enable and--no-enable-dataplex-integration
to disable. --[no-]enable-google-ml-integration
-
Enable Vertex AI integration for Google Cloud SQL. Currently, only PostgreSQL is
supported. Use
--enable-google-ml-integration
to enable and--no-enable-google-ml-integration
to disable. --enable-google-private-path
- Enable a private path for Google Cloud services. This flag specifies whether the instance is accessible to internal Google Cloud services such as BigQuery. This is only applicable to MySQL and PostgreSQL instances that don't use public IP. Currently, SQL Server isn't supported.
--enable-password-policy
- Enable the password policy, which enforces user password management with the policies configured for the instance. This flag is only available for Postgres.
--enable-point-in-time-recovery
- Allows for data recovery from a specific point in time, down to a fraction of a second, via write-ahead logs. Must have automatic backups enabled to use. Make sure storage can support at least 7 days of logs.
--failover-replica-name
=FAILOVER_REPLICA_NAME
- Also create a failover replica with the specified name.
--[no-]insights-config-query-insights-enabled
-
Enable query insights feature to provide query and query plan analytics.
Use
--insights-config-query-insights-enabled
to enable and--no-insights-config-query-insights-enabled
to disable. --insights-config-query-plans-per-minute
=INSIGHTS_CONFIG_QUERY_PLANS_PER_MINUTE
- Number of query plans to sample every minute. Default value is 5. Allowed range: 0 to 20.
--insights-config-query-string-length
=INSIGHTS_CONFIG_QUERY_STRING_LENGTH
- Query string length in bytes to be stored by the query insights feature. Default length is 1024 bytes. Allowed range: 256 to 4500 bytes.
-
Allow application tags to be recorded by the query insights feature.
Use
--insights-config-record-application-tags
to enable and--no-insights-config-record-application-tags
to disable. --[no-]insights-config-record-client-address
-
Allow the client address to be recorded by the query insights feature.
Use
--insights-config-record-client-address
to enable and--no-insights-config-record-client-address
to disable. --maintenance-release-channel
=MAINTENANCE_RELEASE_CHANNEL
-
Which channel's updates to apply during the maintenance window. If not
specified, Cloud SQL chooses the timing of updates to your instance.
MAINTENANCE_RELEASE_CHANNEL
must be one of:preview
- Preview updates release prior to production updates. You may wish to use the preview channel for dev/test applications so that you can preview their compatibility with your application prior to the production release.
production
- Production updates are stable and recommended for applications in production.
week5
- week5 updates release after the production updates. Use the week5 channel to receive a 5 week advance notification about the upcoming maintenance, so you can prepare your application for the release.
--maintenance-window-day
=MAINTENANCE_WINDOW_DAY
-
Day of week for maintenance window, in UTC time zone.
MAINTENANCE_WINDOW_DAY
must be one of:SUN
,MON
,TUE
,WED
,THU
,FRI
,SAT
. --maintenance-window-hour
=MAINTENANCE_WINDOW_HOUR
- Hour of day for maintenance window, in UTC time zone.
--master-instance-name
=MASTER_INSTANCE_NAME
- Name of the instance which will act as master in the replication setup. The newly created instance will be a read replica of the specified master instance.
--memory
=MEMORY
- Whole number value indicating how much memory is desired in the machine. A size unit should be provided (eg. 3072MiB or 9GiB) - if no units are specified, GiB is assumed. Both --cpu and --memory must be specified if a custom machine type is desired, and the --tier flag must be omitted.
--network
=NETWORK
-
Network in the current project that the instance will be part of. To specify
using a network with a shared VPC, use the full URL of the network. For an
example host project, 'testproject', and shared network, 'testsharednetwork',
this would use the form:
--network
=projects/testproject/global/networks/testsharednetwork
--password-policy-complexity
=PASSWORD_POLICY_COMPLEXITY
-
The complexity of the password. This flag is available only for PostgreSQL.
PASSWORD_POLICY_COMPLEXITY
must be one of:COMPLEXITY_DEFAULT
- A combination of lowercase, uppercase, numeric, and non-alphanumeric characters.
COMPLEXITY_UNSPECIFIED
- The default value if COMPLEXITY_DEFAULT is not specified. It implies that complexity check is not enabled.
--[no-]password-policy-disallow-username-substring
-
Disallow username as a part of the password. Use
--password-policy-disallow-username-substring
to enable and--no-password-policy-disallow-username-substring
to disable. --password-policy-min-length
=PASSWORD_POLICY_MIN_LENGTH
- Minimum number of characters allowed in the password.
--password-policy-password-change-interval
=PASSWORD_POLICY_PASSWORD_CHANGE_INTERVAL
- Minimum interval after which the password can be changed, for example, 2m for 2 minutes. See <a href="/sdk/gcloud/reference/topic/datetimes"> $ gcloud topic datetimes</a> for information on duration formats. This flag is available only for PostgreSQL.
--password-policy-reuse-interval
=PASSWORD_POLICY_REUSE_INTERVAL
- Number of previous passwords that cannot be reused. The valid range is 0 to 100.
--psc-auto-connections
=[network
=NETWORK
],[project
=PROJECT
]-
A comma-separated list of networks or a comma-separated list of network-project
pairs. Each project in this list is represented by a project number (numeric) or
by a project ID (alphanumeric). This allows Private Service Connect connections
to be created automatically for the specified networks. For example, this
connection uses "the form
psc-auto-connections
=network=projects/testproject1/global/networks/testnetwork1
" or "the formpsc-auto-connections
=project=testproject1,network=projects/testproject1/global/networks/testnetwork1
". Setspsc_auto_connections
value.network
-
Required, Sets
network
value. project
-
Sets
project
value.
Shorthand Example:
--psc-auto-connections=network=string,project=string
JSON Example:
--psc-auto-connections='{"network": "string", "project": "string"}'
File Example:
--psc-auto-connections=path_to_file.(yaml|json)
--[no-]recreate-replicas-on-primary-crash
-
Allow/Disallow replica recreation when a primary MySQL instance operating in
reduced durability mode crashes. Not recreating the replicas might lead to data
inconsistencies between the primary and its replicas. This setting is only
applicable for MySQL instances and is enabled by default. Use
--recreate-replicas-on-primary-crash
to enable and--no-recreate-replicas-on-primary-crash
to disable. --replica-type
=REPLICA_TYPE
-
The type of replica to create.
REPLICA_TYPE
must be one of:READ
,FAILOVER
. --replication
=REPLICATION
-
Type of replication this instance uses. The default is synchronous.
REPLICATION
must be one of:synchronous
,asynchronous
. --require-ssl
- Specified if users connecting over IP must use SSL.
--retained-backups-count
=RETAINED_BACKUPS_COUNT
- How many backups to keep. The valid range is between 1 and 365. Default value is 7 for Enterprise edition instances. For Enterprise_Plus, default value is 15. Applicable only if --no-backups is not specified.
--retained-transaction-log-days
=RETAINED_TRANSACTION_LOG_DAYS
- How many days of transaction logs to keep. The valid range is between 1 and 35. Only use this option when point-in-time recovery is enabled. If logs are stored on disk, storage size for transaction logs could increase when the number of days for log retention increases. For Enterprise, default and max retention values are 7 and 7 respectively. For Enterprise_Plus, default and max retention values are 14 and 35.
--root-password
=ROOT_PASSWORD
- Root Cloud SQL user's password.
--ssl-mode
=SSL_MODE
-
Set the SSL mode of the instance.
SSL_MODE
must be one of:ALLOW_UNENCRYPTED_AND_ENCRYPTED
- Allow non-SSL and SSL connections. For SSL connections, client certificate will not be verified.
ENCRYPTED_ONLY
- Only allow connections encrypted with SSL/TLS.
TRUSTED_CLIENT_CERTIFICATE_REQUIRED
- Only allow connections encrypted with SSL/TLS and with valid client certificates.
--[no-]storage-auto-increase
-
Storage size can be increased, but it cannot be decreased; storage increases are
permanent for the life of the instance. With this setting enabled, a spike in
storage requirements can result in permanently increased storage costs for your
instance. However, if an instance runs out of available space, it can result in
the instance going offline, dropping existing connections. This setting is
enabled by default. Use
--storage-auto-increase
to enable and--no-storage-auto-increase
to disable. --storage-size
=STORAGE_SIZE
- Amount of storage allocated to the instance. Must be an integer number of GB. The default is 10GB. Information on storage limits can be found here: https://cloud.google.com/sql/docs/quotas#storage_limits
--storage-type
=STORAGE_TYPE
-
The storage type for the instance. The default is SSD.
STORAGE_TYPE
must be one of:SSD
,HDD
. --threads-per-core
=THREADS_PER_CORE
- The number of threads per core. The value of this flag can be 1 or 2. To disable SMT, set this flag to 1. Only available in Cloud SQL for SQL Server instances.
--tier
=TIER
,-t
TIER
-
Machine type for a shared-core instance e.g.
. For all other instances, instead of using tiers, customize your instance by specifying its CPU and memory. You can do so with thedb-g1-small
--cpu
and--memory
flags. Learn more about how CPU and memory affects pricing: https://cloud.google.com/sql/pricing. --time-zone
=TIME_ZONE
- Set a non-default time zone. Only available for SQL Server instances.
--timeout
=TIMEOUT
; default=3600-
Time to synchronously wait for the operation to complete, after which the
operation continues asynchronously. Ignored if --async flag is specified. By
default, set to 3600s. To wait indefinitely, set to
unlimited
. --allowed-psc-projects
=PROJECT
,[PROJECT
,…]- A comma-separated list of projects. Each project in this list might be represented by a project number (numeric) or by a project ID (alphanumeric). This allows Private Service Connect connections to be established from specified consumer projects.
--enable-private-service-connect
- When the flag is set, a Cloud SQL instance will be created with Private Service Connect enabled.
-
Key resource - The Cloud KMS (Key Management Service) cryptokey that will be
used to protect the instance. The 'Compute Engine Service Agent' service account
must hold permission 'Cloud KMS CryptoKey Encrypter/Decrypter'. The arguments in
this group can be used to specify the attributes of this resource.
--disk-encryption-key
=DISK_ENCRYPTION_KEY
-
ID of the key or fully qualified identifier for the key.
To set the
kms-key
attribute:-
provide the argument
--disk-encryption-key
on the command line.
This flag argument must be specified if any of the other arguments in this group are specified.
-
provide the argument
--disk-encryption-key-keyring
=DISK_ENCRYPTION_KEY_KEYRING
-
The KMS keyring of the key.
To set the
kms-keyring
attribute:-
provide the argument
--disk-encryption-key
on the command line with a fully specified name; -
provide the argument
--disk-encryption-key-keyring
on the command line.
-
provide the argument
--disk-encryption-key-location
=DISK_ENCRYPTION_KEY_LOCATION
-
The Google Cloud location for the key.
To set the
kms-location
attribute:-
provide the argument
--disk-encryption-key
on the command line with a fully specified name; -
provide the argument
--disk-encryption-key-location
on the command line.
-
provide the argument
--disk-encryption-key-project
=DISK_ENCRYPTION_KEY_PROJECT
-
The Google Cloud project for the key.
To set the
kms-project
attribute:-
provide the argument
--disk-encryption-key
on the command line with a fully specified name; -
provide the argument
--disk-encryption-key-project
on the command line; -
set the property
core/project
.
-
provide the argument
-
At most one of these can be specified:
--region
=REGION
; default="us-central"- Regional location (e.g. asia-east1, us-east1). See the full list of regions at https://cloud.google.com/sql/docs/instance-locations.
-
At most one of these can be specified:
--gce-zone
=GCE_ZONE
-
(DEPRECATED) Preferred Compute Engine zone (e.g. us-central1-a, us-central1-b,
etc.).
Flag
--gce-zone
is deprecated and will be removed by release 255.0.0. Use--zone
instead. --secondary-zone
=SECONDARY_ZONE
- Preferred secondary Compute Engine zone (e.g. us-central1-a, us-central1-b, etc.).
--zone
=ZONE
- Preferred Compute Engine zone (e.g. us-central1-a, us-central1-b, etc.).
- GCLOUD WIDE FLAGS
-
These flags are available to all commands:
--access-token-file
,--account
,--billing-project
,--configuration
,--flags-file
,--flatten
,--format
,--help
,--impersonate-service-account
,--log-http
,--project
,--quiet
,--trace-token
,--user-output-enabled
,--verbosity
.Run
$ gcloud help
for details. - NOTES
-
These variants are also available:
gcloud alpha sql instances create
gcloud beta sql instances create
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-15 UTC.