This page describes how to start an instance, stop an instance, and restart an
instance that is running.
Activation policy 
When you start, stop, or restart an instance, you need to set an activation
policy to use. The activation policy indicates if the instance is activated to
accept connection requests.
Activation policy options are:
ALWAYS - The instance is always up and running.NEVER- The instance is not restarted. 
Set your activation policy to 
ALWAYS. If you
are not using your instance, you can set its activation policy to
NEVER to avoid instance charges.
Note:  NEVER is not supported for read replica instances. Start an instance 
To start a stopped instance:
Console 
  
In the Google Cloud console, go to the Cloud SQL Instances  page.
Go to Cloud SQL Instances 
 
  
To open the Overview  page of an instance, click the instance name.
 
  Click Start . 
  In the Start database instance?  dialog box, click
  Start .Always  and the instance is started. 
 
 
gcloud 
Use ALWAYS  for the activation policy:
gcloud  sql  instances  patch  INSTANCE_NAME   \ 
--activation-policy= ALWAYS  
REST v1 
    
    
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  project-id : The project IDinstance-id : The instance IDactivation-policy : The activation policy is ALWAYS  or NEVER  
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id   
  Request JSON body:
  
{
  "settings": {
    "activationPolicy": "activation-policy "
  }
}
  
To send your request, expand one of these options:
  curl (Linux, macOS, or Cloud Shell) 
  
  
    
      Note: 
        
          The following command assumes that you have logged in to
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \project-id /instances/instance-id "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenproject-id /instances/instance-id " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-20T21:30:35.667Z",
  "operationType": "UPDATE",
  "name": "operation-id ",
  "targetId": "instance-id ",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
  "targetProject": "project-id "
}
  
 
REST v1beta4 
    
    
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  project-id : The project IDinstance-id : The instance IDactivation-policy : The activation policy is ALWAYS  or NEVER  
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id   
  Request JSON body:
  
{
  "settings": {
    "activationPolicy": "activation-policy "
  }
}
  
To send your request, expand one of these options:
  curl (Linux, macOS, or Cloud Shell) 
  
  
    
      Note: 
        
          The following command assumes that you have logged in to
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \project-id /instances/instance-id "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenproject-id /instances/instance-id " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-20T21:30:35.667Z",
  "operationType": "UPDATE",
  "name": "operation-id ",
  "targetId": "instance-id ",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
  "targetProject": "project-id "
}
  
 
 
To see how the
underlying REST API request 
is constructed for this task, see the
APIs Explorer on the instances:patch page .
Stop an instance 
You can manually stop an instance when needed. When you stop an instance, it
remains stopped, and does not respond to application connections, until you
start it again.
Stopping an instance suspends instance charges. The instance data is unaffected,
and charges for storage and IP addresses continue to apply.
Note:  When an instance is nearly out of storage capacity, it's stopped to
prevent the loss of information. A red circle with an exclamation mark indicates
this status. When you open the instance, a red banner suggests that you
increase the storage capacity 
and enable automatic storage increases .
Click the Edit instance  button on the banner to increase storage capacity.
As an alternative, you can restart the service to reduce storage requirements
  by deleting any data that you don't require (and also perform any other operations
  on the instance). After 24 hours, if the instance is still nearly out of
  storage capacity, it's again stopped with the same message.
Note:  You cannot stop a read replica instance. To stop an instance:
Console 
  
In the Google Cloud console, go to the Cloud SQL Instances  page.
Go to Cloud SQL Instances 
 
  
To open the Overview  page of an instance, click the instance name.
 
  Click Stop . 
  In the Stop database instance?  dialog box, click
  Stop .
  The activation policy of the instance is set to Off (Never) and the
  instance is stopped.
   
 
 
gcloud 
gcloud  sql  instances  patch  INSTANCE_NAME   \ 
--activation-policy= NEVER  
REST v1 
    
    
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  project-id : The project IDinstance-id : The instance IDactivation-policy : The activation policy is NEVER  
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id   
  Request JSON body:
  
{
  "settings": {
    "activationPolicy": "activation-policy "
  }
}
  
To send your request, expand one of these options:
  curl (Linux, macOS, or Cloud Shell) 
  
  
    
      Note: 
        
          The following command assumes that you have logged in to
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \project-id /instances/instance-id "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenproject-id /instances/instance-id " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-20T21:30:35.667Z",
  "operationType": "UPDATE",
  "name": "operation-id ",
  "targetId": "instance-id ",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
  "targetProject": "project-id "
}
  
 
REST v1beta4 
    
    
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  project-id : The project IDinstance-id : The instance IDactivation-policy : The activation policy is NEVER  
  HTTP method and URL:
  
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id   
  Request JSON body:
  
{
  "settings": {
    "activationPolicy": "activation-policy "
  }
}
  
To send your request, expand one of these options:
  curl (Linux, macOS, or Cloud Shell) 
  
  
    
      Note: 
        
          The following command assumes that you have logged in to
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X PATCH \project-id /instances/instance-id "  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenproject-id /instances/instance-id " | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-20T21:30:35.667Z",
  "operationType": "UPDATE",
  "name": "operation-id ",
  "targetId": "instance-id ",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
  "targetProject": "project-id "
}
  
 
 
To see how the
underlying REST API request 
is constructed for this task, see the
APIs Explorer on the instances:patch page .
Restart an instance 
Restarting an instance drains the connections from the instance and stops it.
Next, the instance restarts and is ready to accept new connections.
Restarting an instance doesn't change the public or private IP addresses of the
instance.
Note:  Restarting a running instance can resolve some problems with the instance. However, restarting an instance causes a disruption in service, and empties the instance cache, which results in a temporary reduction in performance. If you have restarted your instance recently, check the instance logs to ensure it has fully recovered before restarting it again.
After you restart the instance, the process and buffer caches are stopped and then refreshed.
To restart an instance:
Console 
  
In the Google Cloud console, go to the Cloud SQL Instances  page.
Go to Cloud SQL Instances 
 
  
To open the Overview  page of an instance, click the instance name.
 
  Click Restart . 
  In the Restart database instance?  dialog box,
  click Restart . 
 
 
gcloud 
Restart the instance:
gcloud  sql  instances  restart  INSTANCE_NAME   
REST v1 
    
    
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  project-id : The project IDinstance-id : The instance IDactivation-policy : The activation policy is ALWAYS  or NEVER  
  HTTP method and URL:
  
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /restart  
  Request JSON body:
  
{
  "settings": {
    "activationPolicy": "activation-policy "
  }
}
  
To send your request, expand one of these options:
  curl (Linux, macOS, or Cloud Shell) 
  
  
    
      Note: 
        
          The following command assumes that you have logged in to
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X POST \project-id /instances/instance-id /restart"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenproject-id /instances/instance-id /restart" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-20T21:30:35.667Z",
  "operationType": "RESTART",
  "name": "operation-id ",
  "targetId": "instance-id ",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
  "targetProject": "project-id "
}
  
 
REST v1beta4 
    
    
  
  
  
    
    
  
  
  
    
  
  Before using any of the request data,
  make the following replacements:
  project-id : The project IDinstance-id : The instance IDactivation-policy : The activation policy is ALWAYS  or NEVER  
  HTTP method and URL:
  
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /restart  
  Request JSON body:
  
{
  "settings": {
    "activationPolicy": "activation-policy "
  }
}
  
To send your request, expand one of these options:
  curl (Linux, macOS, or Cloud Shell) 
  
  
    
      Note: 
        
          The following command assumes that you have logged in to
          the gcloud CLI with your user account by running
          gcloud initgcloud auth loginCloud Shell ,
            which automatically logs you into the gcloud CLI
            .
          You can check the currently active account by running
          gcloud auth list
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
  
  
curl -X POST \project-id /instances/instance-id /restart"  
  PowerShell (Windows) 
  
  
    
      
    
  
  
    
      Save the request body in a file named request.json,
      and execute the following command:
    
    
  
  
  
    
  
  
  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
  
    
  
  
  
    
  
  
  
    
  
  
  
  
    
  
  
$cred = gcloud auth print-access-tokenproject-id /instances/instance-id /restart" | Select-Object -Expand Content  
    You should receive a JSON response similar to the following:
    
  
{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-20T21:30:35.667Z",
  "operationType": "RESTART",
  "name": "operation-id ",
  "targetId": "instance-id ",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
  "targetProject": "project-id "
}
  
 
 
To see how the
underlying REST API request 
is constructed for this task, see the
APIs Explorer on the instances:restart page .