You can use the MySQL command-line client to connect to Cloud SQL. This
page describes how to connect a  mysql 
client 
to your Cloud SQL instance,
whether running locally on your client machine, on a Compute Engine VM,
or in the Cloud Shell.
Before you begin
Before you can use a mysql 
client to connect to your Cloud SQL
instance, do the following:
-  Create a Cloud SQL instance, including configuring the default user. See Create instances and Set the password for the default user account . 
-  Optionally, create a Compute Engine VM instance and then connected to the instance using SSH. See Create and start a VM instance , About SSH connections , or Connect to Windows VMs using RDP . 
-  Determine how you'll connect to your instance. For the connection options and how to choose from among them, see About connection options . 
Use a MySQL client on a local machine or a Compute Engine VM
Using a mysql 
client to connect to your Cloud SQL
instance involves three high-level tasks:
- Install the client .
- Configure access to your Cloud SQL instance .
- Connect to your Cloud SQL instance .
Install the client
To install the mysql 
client, do the following:
- Download the MySQL Community Server for your platform from the MySQL Community Server download page 
.
 The Community Server includes the MySQL client.
- Install the Community Server, following the directions on the download page.
For more information about installing MySQL, see Installing and Upgrading MySQL .
Configure access to your Cloud SQL instance
To configure access to your instance, do the following:
- From the client machine or Compute Engine VM instance, use What's my IP to see the IP address of the client machine.
- Copy that IP address.
-  In the Google Cloud console, go to the Cloud SQL Instances page. 
- To open the Overview page of an instance, click the instance name.
- Select Connections from the SQL navigation menu.
- Select the Networking tab.
- In the Authorized networks section, click Add network and enter the IP address of the machine where the client is installed.
- Click Done . Then click Save at the bottom of the page to save your changes.
- Connect to your instance, either using SSL/TLS or without encryption (without using SSL/TLS) .
Connect to your Cloud SQL instance without encryption
To let you connect without encryption, the instance must have SSL mode 
set to ALLOW_UNENCRYPTED_AND_ENCRYPTED 
. In the Google Cloud console,
the equivalent configuration is Allow unencrypted network traffic 
.
For more information about the SSL/TLS configuration of your instance, see Configure SSL/TLS certificates .
To connect to your instance, do the following:
- Confirm that you have installed the client and configured access to your instance .
- Start the mysqlclient:mysql --ssl-mode = DISABLED --host = INSTANCE_IP_ADDRESS --user = root --password 
- Enter your password.
- The mysql prompt appears.
Connect to your Cloud SQL instance using SSL/TLS
To connect to your instance using SSL/TLS and built-in authentication:
Before you begin, confirm that you have installed the client and configured access to your instance .
- Start the mysqlclient:mysql --ssl-mode = REQUIRED \ --host = INSTANCE_IP_ADDRESS \ --user = root --password 
- Enter the password.
- At the MySQL prompt, enter the \scommand to verify that your connection is using SSL/TLS.
- Look for the output line with SSL: 
. ... SSL: Cipher in use is DHE-RSA-AES256-SHA ... For information about troubleshooting connection issues, see Debug connection issues . 
Connect to your Cloud SQL instance using SSL/TLS and client certificate verification
If ssl_mode 
on your Cloud SQL instance is configured to TRUSTED_CLIENT_CERTIFICATE_REQUIRED 
,
then you must also provide a verified client identity when you log in.
To connect using SSL/TLS certificates with client verification, you need the following:
- A client public key certificate in a client-cert.pem file.
- A client private key in a client-key.pem file.
In addition, to let the client verify the server's identity for mutual authentication, specify the server certificate server-ca.pem .
For example, to start themysql 
client: mysql --ssl-mode = VERIFY_CA \ --ssl-ca = server-ca.pem \ --ssl-cert = client-cert.pem \ --ssl-key = client-key.pem \ --host = INSTANCE_IP_ADDRESS \ --user = root --password
If you do not have a client certificate and a corresponding private key, then create a new client certificate .
Using the client in the Cloud Shell
To connect to a Cloud SQL instance (public IP only):
- Go to the Google Cloud console.
- Click the Cloud Shell icontowards the right in the toolbar. The Cloud Shell takes a few moments to initialize. 
- At the Cloud Shell prompt, use the built-in
  client to connect to your Cloud SQL instance: gcloud sql connect INSTANCE_ID \ --user = root 
- Enter your password.
The gcloud sql connect 
command does not support connecting
    to a Cloud SQL instance using private IP, or using SSL/TLS. To connect
    with encryption, install and use the proxy in the Cloud Shell:
-  Install the proxy 
(Linux 64-bit) in the /home/USERdirectory.
- Start the proxy, using gcloud CLI authentication: ./cloud-sql-proxy INSTANCE_CONNECTION_NAME & 
- Connect to the database by using the TCP connection: mysql -u USERNAME -p --host=127.0.0.1 
What's next
- Learn about configuring an instance with a private IP address .
- Learn about options for connecting to your instance from your application .
- Learn about the  mysqlclient .
Try it for yourself
If you're new to Google Cloud, create an account to evaluate how Cloud SQL performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
Try Cloud SQL free
