This page describes how to get started with Google Cloud SQL by:
- Creating a Google Cloud SQL instance
- Using the MySQL Client to connect a Google Cloud SQL instance
- Configuring a Google Cloud SQL instance
- Connecting to a Google Cloud SQL instance
You can also watch the video on this page which covers the same concepts. The video shows you how to create a Google Cloud SQL instance, configure it, and then connect to it from standard tools and applications running on App Engine and Compute Engine.
Creating a Google Cloud SQL instance
Google Developers Console
- Go to the Google Developers Console.
- Select an existing project and select Continue, or create a new project.
- Click New Instance to create a new Cloud SQL instance in your project.
- Enter a name for the instance. The instance name will be automatically
combined with your project name, and if applicable, a domain name as follows:
- Domain-specific (older projects):
- Click Create.
After the instance is running, select the instance, and then click
Access Control to finish configuring the instance.
- In the IP Address pane, click Request IPv4 address and use this as the IP address your applications or tools use to connect to the instance.
In the Users pane, click New User and create a user
rootand specify a password. This will create the MySQL account 'root'@'%'. For more information see Creating Users.
You must create one account before you can connect to the instance using the standard MySQL protocol.
- In the Authorization pane, in the Authorized Networks section, click add and add your IP address.
Cloud SQL Command Line
- Install the Cloud SDK if you haven't already.
Use the following command to create an instance:
$ gcloud sql instances create
The instance name will be automatically combined with your project name, and if applicable, a domain name as follows:
- Domain-specific (older project):
- Modify the instance and grant access to your IP address:
$ gcloud sql instances patch YOUR_INSTANCE_NAME --authorized-networks YOUR_IP_ADDRESS
- Set the root password for the instance:
$ gcloud sql instances set-root-password YOUR_INSTANCE_NAME --password-file PASSWORD_FILE
You must set a password before you can connect to the instance using the standard MySQL protocol.
- Assign an IP address to the instance and retrieve it:
$ gcloud sql instances patch YOUR_INSTANCE_NAME --assign-ip $ gcloud sql instances describe YOUR_INSTANCE_NAME
In the output, find the "ipAddress" field. Use this as the IP address your applications or tools use to connect to the instance.
That's it! You have created your Google Cloud SQL instance and you configured it with an IP address so you can connect to it. For instructions on migrating existing instances to use MySQL 5.6, see Migrating from MySQL 5.5 to MySQL 5.6.
Connecting to an instance
There are many ways you can connect to a Google Cloud SQL instance (see Configuring a Google Cloud SQL instance below). In the next steps, you will use the standard MySQL Client to create a database and query it.
Install the MySQL Client.
Connect to the instance and use the IP address you created for it.
$ mysql --host=INSTANCE_IP --user=root --password
Create a database and table, enter some data, and query the data.
CREATE DATABASE guestbook; USE guestbook; CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255), entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID)); INSERT INTO entries (guestName, content) values ("first guest", "hello world!"); SELECT * FROM entries;
For more information about connecting using the MySQL Client, including how to connect with SSL, see Using MySQL Client.
Configuring an instance
For information about managing your Google Cloud SQL instances, see:
- Configuring Access
- Creating Users
- Creating, Editing, Deleting, and Restarting Instances
- Configuring SSL for an Instance
- Viewing Information about an Instance
- Importing and Exporting Data
- Schedule Backups and Configure Point-in-Time Recovery
Working with your instance
You can connect to Google Cloud SQL instances in the following ways:
- Using MySQL Client
- From Admin and Reporting tools
- From External Applications
- From Google Apps Script scripts
- From App Engine Java applications
- From App Engine Python applications
- From App Engine PHP applications
- From App Engine Go applications