Envie comentários
Criar e gerenciar bancos de dados
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página contém informações sobre como criar, listar e excluir os bancos de dados MySQL em uma instância do Cloud SQL.
Uma instância recém-criada tem quatro bancos de dados de sistema:
information_schema
: fornece acesso a metadados do banco de dados e informações sobre o servidor MySQL.
mysql
: o esquema do sistema. Esse arquivo contém tabelas que armazenam informações exigidas pelo servidor MySQL durante a execução.
performance_schema
: um recurso para monitorar a execução do MySQL Server em um nível baixo.
sys
: contém um conjunto de objetos que ajuda os DBAs e os desenvolvedores a interpretar os dados coletados pelo esquema de desempenho.
Para saber mais sobre os bancos de dados MySQL, consulte a
documentação do MySQL .
Antes de começar
Antes de concluir as tarefas nesta página, é necessário fazer o seguinte:
Criou uma instância do Cloud SQL. Para saber mais, consulte
o artigo Criar instâncias .
Se você planeja usar o cliente mysql para criar ou gerenciar os bancos de dados, é necessário fazer o seguinte:
Acesso configurado e conectado à instância com um cliente mysql
.
Para mais informações sobre as opções de conexão dos aplicativos externos, consulte
esta página .
Para criar um banco de dados na instância do Cloud SQL:
Observação : o comprimento máximo do nome do banco de dados é 64 caracteres.
Para mais informações sobre outros critérios para esse nome, consulte Nomes de objeto de esquema .
Se você não especificar um conjunto de caracteres e uma ordenação personalizados ao criar o banco de dados,
ele terá os seguintes valores padrão:
MySQL 5.6, 5.7 : criado com o Google Cloud console, a API Cloud SQL Admin, a gcloud CLI , o Terraform ou o cliente mysql.
Conjunto de caracteres: utf8
Compilação: utf8_general_ci
MySQL 8.0.x e versões mais recentes (criadas com o console Google Cloud )
Conjunto de caracteres: utf8
Compilação: utf8_general_ci
MySQL 8.0.x e versões mais recentes (criadas com a API Cloud SQL Admin, a gcloud CLI , o Terraform ou o cliente mysql)
Conjunto de caracteres: utf8mb4
Compilação: utf8mb4_0900_ai_ci
Se você precisar modificar a configuração do conjunto de caracteres ou da ordenação
do banco de dados após a criação, consulte
Atualizar o conjunto de caracteres e a ordenação de um banco de dados .
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "Instâncias do Cloud SQL"
Para abrir a página Visão geral de uma instância, clique no nome da instância.
Selecione Banco de dados no menu de navegação do SQL.
Clique em Create database .
Na caixa de diálogo Criar um banco de dados , especifique o nome do banco de dados e, se quiser, o conjunto de caracteres e a compilação.
Para mais informações sobre conjuntos de caracteres e compilações, consulte Conjuntos de caracteres, compilações, Unicode .
Clique em Criar .
Para criar um banco de dados, use um recurso do Terraform .
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto Google Cloud , siga as etapas nas
seções a seguir.
Preparar o Cloud Shell
Inicie o Cloud Shell .
Defina o projeto Google Cloud padrão
em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração
do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também
chamado de módulo raiz .
No Cloud Shell , crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf
, por exemplo, main.tf
. Neste
tutorial, o arquivo é chamado de main.tf
.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no main.tf
recém-criado.
Se preferir, copie o código do GitHub. Isso é recomendado
quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
Salve as alterações.
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade
:
terraform init -upgrade
Aplique as alterações
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes
no prompt:
terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
Abra seu Google Cloud projeto para ver
os resultados. No console Google Cloud , navegue até seus recursos na UI para verificar
se foram criados ou atualizados pelo Terraform.
Observação :as amostras do Terraform geralmente presumem que as APIs necessárias estejam
ativadas no seu projeto Google Cloud .
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento deletion_protection
como false
.
deletion_protection = "false"
Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes
no prompt:
terraform apply
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes
no prompt:
terraform destroy
REST v1
A solicitação a seguir usa o método databases:insert para criar um novo banco de dados na instância especificada.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases
Corpo JSON da solicitação:
{
"project": "project-id ",
"instance": "instance-id ",
"name": "database-name "
}
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação :
o comando a seguir pressupõe que você fez login na CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
É possível verificar a conta ativa atual executando
gcloud auth list
.
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "[email protected] ",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
A solicitação a seguir usa o método databases:insert para criar um novo banco de dados na instância especificada.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases
Corpo JSON da solicitação:
{
"project": "project-id ",
"instance": "instance-id ",
"name": "database-name "
}
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação :
o comando a seguir pressupõe que você fez login na CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
É possível verificar a conta ativa atual executando
gcloud auth list
.
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "[email protected] ",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Listar seus bancos de dados
Para listar todos os bancos de dados em uma instância:
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "Instâncias do Cloud SQL"
Para abrir a página Visão geral de uma instância, clique no nome da instância.
Clique em Bancos de dados no menu à esquerda. A
página Bancos de dados listará os bancos de dados com o tipo de compilação,
o conjunto de caracteres e o tipo de banco de dados.
gcloud
Para informações de referência, consulte gcloud
sql databases list
.
gcloud sql databases list \
--instance= INSTANCE_NAME
REST v1
A solicitação a seguir usa o método databases:list para listar os bancos de dados em uma instância.
Ao listar os bancos de dados usando a API, você verá os outros bancos de dados de modelo e um banco de dados de sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação :
o comando a seguir pressupõe que você fez login na CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
É possível verificar a conta ativa atual executando
gcloud auth list
.
execute o seguinte comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag ",
"name": "sys",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/sys",
"project": "project-id "
}
Observação : a API databases.list
só aceita payloads de resposta que incluem até 4 MB de texto.
Se você executar uma solicitação de lista de banco de dados em uma instância grande, poderá receber um erro. Se isso acontecer, recomendamos executar a solicitação diretamente da instância para receber a lista de bancos de dados.
REST v1beta4
A solicitação a seguir usa o método databases:list para listar os bancos de dados em uma instância.
Ao listar os bancos de dados usando a API, você verá os outros bancos de dados de modelo e um banco de dados de sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação :
o comando a seguir pressupõe que você fez login na CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
É possível verificar a conta ativa atual executando
gcloud auth list
.
execute o seguinte comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases"
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag ",
"name": "sys",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/sys",
"project": "project-id "
}
Observação : a API databases.list
só aceita payloads de resposta que incluem até 4 MB de texto.
Se você executar uma solicitação de lista de banco de dados em uma instância grande, poderá receber um erro. Se isso acontecer, recomendamos executar a solicitação diretamente da instância para receber a lista de bancos de dados.
Cliente MySQL
Para informações de referência, consulte MOSTRAR BANCOS DE DADOS na documentação do MySQL.
SHOW DATABASES ;
Excluir um banco de dados
Para excluir um banco de dados da instância do Cloud SQL:
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "Instâncias do Cloud SQL"
Para abrir a página Visão geral de uma instância, clique no nome da instância.
Clique em Bancos de dados no menu à esquerda.
Na lista de bancos de dados, encontre o banco de dados que você quer excluir e clique no ícone da lixeira.
Na caixa de diálogo Excluir banco de dados , insira o nome do banco de dados
e clique em Excluir .
Observação : a exclusão de um banco de dados remove todos os arquivos do diretório do banco de dados,
incluindo aqueles que não são usados diretamente por ele, como arquivos
#sql-*
criados a partir de operações interrompidas ALTER TABLE no
MySQL 5.6 e no MySQL 5.7.
gcloud
Para informações de referência, consulte gcloud
sql databases delete
.
gcloud sql databases delete DATABASE_NAME \
--instance= INSTANCE_NAME
Observação: a exclusão de um banco de dados remove todos os arquivos do diretório do banco de dados, incluindo aqueles que não são usados diretamente por ele. Como arquivos
#sql-*
criados a partir de operações interrompidas ALTER TABLE no
MySQL 5.6 e no MySQL 5.7.
REST v1
A solicitação a seguir usa o método databases:delete para excluir o banco de dados especificado.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação :
o comando a seguir pressupõe que você fez login na CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
É possível verificar a conta ativa atual executando
gcloud auth list
.
execute o seguinte comando:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name "
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /databases/database-name " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "[email protected] ",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
REST v1beta4
A solicitação a seguir usa o método databases:delete para excluir o banco de dados especificado.
Observação : a exclusão de um banco de dados remove todos os arquivos do diretório do banco de dados,
incluindo aqueles que não são usados diretamente por ele, como arquivos
#sql-*
criados a partir de operações interrompidas ALTER TABLE no
MySQL 5.6 e no MySQL 5.7.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
project-id : o ID do projeto
instance-id : o ID da instância
database-name : o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação :
o comando a seguir pressupõe que você fez login na CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
É possível verificar a conta ativa atual executando
gcloud auth list
.
execute o seguinte comando:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name "
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /databases/database-name " | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "[email protected] ",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Cliente MySQL
Para informações de referência, consulte REMOVER BANCO DE DADOS na documentação do MySQL.
DROP DATABASE [ database_name ];
Observação :se o diretório do banco de dados contiver arquivos que não sejam usados diretamente
pelo banco de dados, o comando DROP DATABASE
vai gerar erros
indicando que o diretório do banco de dados não pode ser excluído, como:
Erro ao descartar banco de dados (não é possível rmdir './database_name ', errno: 39)
Erro ao descartar banco de dados (não é possível rmdir './nome_do_banco_de_dados ', errno: 17)
Exemplos desses arquivos são arquivos #sql-*
criados a partir de operações interrompidas
ALTER TABLE no MySQL 5.6 e no MySQL 5.7. Para excluir esses arquivos e
concluir a operação DROP DATABASE, repita a operação usando um dos
outros métodos: o console, o comando gcloud
ou a chamada de
API REST.
A seguir
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o
desempenho do Cloud SWL em situações
reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e
implantar cargas de trabalho.
Faça uma avaliação gratuita do Cloud SQL
Envie comentários
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons , e as amostras de código são licenciadas de acordo com a Licença Apache 2.0 . Para mais detalhes, consulte as políticas do site do Google Developers . Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-01 UTC.
Quer enviar seu feedback?
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-01 UTC."],[],[]]