Algumas ou todas as informações nesta página podem não se aplicar ao Cloud de Confiance da S3NS. Consulte
Diferenças do Google Cloud para saber mais.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Criar e gerenciar bancos de dados
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 Cloud de Confiance 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 Cloud de Confiance )
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 Cloud de Confiance , 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 Cloud de Confiance , siga as etapas nas
seções a seguir.
Preparar o Cloud Shell
Inicie o Cloud Shell .
Defina o projeto Cloud de Confiance 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 Cloud de Confiance projeto para conferir
os resultados. No console do Cloud de Confiance , 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 Cloud de Confiance .
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ê tenha feito login na CLI do 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.
.
Para saber qual é a conta ativa no momento, execute o comando 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)
Observação :
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list .
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$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ê vai 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": "user@example.com",
"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ê tenha feito login na CLI do 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.
.
Para saber qual é a conta ativa no momento, execute o comando 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)
Observação :
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list .
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$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ê vai 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": "user@example.com",
"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 Cloud de Confiance , 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ê tenha feito login na CLI do 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.
.
Para saber qual é a conta ativa no momento, execute o comando 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)
Observação :
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list .
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ê tenha feito login na CLI do 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.
.
Para saber qual é a conta ativa no momento, execute o comando 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)
Observação :
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list .
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 Cloud de Confiance , 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ê tenha feito login na CLI do 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.
.
Para saber qual é a conta ativa no momento, execute o comando 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)
Observação :
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list .
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": "user@example.com",
"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ê tenha feito login na CLI do 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.
.
Para saber qual é a conta ativa no momento, execute o comando 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)
Observação :
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list .
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": "user@example.com",
"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
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 2026-05-15 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-05-15 UTC."],[],[]]