MySQL · 8.0

MySQL 8.0 gerenciado

O banco sobe com host, porta exclusiva do banco, usuário e certificados prontos. A autenticação é X509: cada conexão apresenta um certificado de cliente, e é a plataforma que emite os arquivos para você baixar.

Como nasceu

O MySQL nasceu para ser rápido e prático

Michael “Monty” Widenius e seus colaboradores criaram um banco leve, portátil e fácil de integrar — uma origem que ainda aparece no foco em simplicidade.

Michael “Monty” Widenius

Dan Strömberg · CC BY-SA 4.0

Uma necessidade concreta

O time começou tentando usar o mSQL, mas precisou de mais velocidade e flexibilidade para suas tabelas.

Uma API familiar

Em vez de abandonar o ecossistema existente, criaram uma nova interface SQL mantendo quase a mesma API do mSQL, facilitando a migração.

Um nome de família

MySQL recebeu o nome da filha de Monty, My — um detalhe pessoal de um projeto que se tornou infraestrutura global.

O que vem pronto num MySQL daqui

A parte chata de um MySQL novo — certificado, usuário, TLS — já está feita quando a instância aparece no painel.

Versão 8.0, já configurada

A plataforma sobe o container e devolve o host no formato id-sem-hifens.db.usa1.vertraweb.app com uma porta exclusiva desse banco. Não há my.cnf para editar nem servidor para instalar na sua máquina.

X509 obrigatório

Senha sozinha não conecta: o servidor exige certificado de cliente. CA, certificado de servidor e certificado de cliente são gerados automaticamente e ficam disponíveis para download no dashboard ou pela API.

Tabelas e console SQL no painel

A aba Dados abre schemas, tabelas, colunas, índices e linhas — 200 por página — e um console SQL com timeout de 10 s aplicado pelo próprio engine. É o phpMyAdmin do dia a dia, sem instalar nada. A partir do plano Intermediary.

Snapshot, restauração e resets

Iniciar, parar, reiniciar, resetar senha, resetar certificados, tirar snapshot com download em ZIP e restaurar um anterior — tudo pelo painel, com 30 segundos de intervalo entre restaurações.

Onde o MySQL costuma entrar

É o relacional que a maior parte das aplicações web já espera encontrar — driver, ORM e ferramenta de migração existem para todas as linguagens da plataforma.

Aplicações web em PHP

PDO e mysqli falam com a instância como com qualquer MySQL 8.0 — a diferença é que você precisa apontar o CA e o certificado de cliente nas opções de SSL do driver, porque o servidor exige X509.

Projetos que já nascem com MySQL

Laravel, Prisma, Sequelize, Hibernate e Django trazem dialeto de MySQL configurado. Migrar de um MySQL local para cá é trocar host, porta e as opções de TLS na string de conexão.

Catálogo, pedidos e cadastro

Produto, cliente e pedido são dados de forma estável, e InnoDB resolve transação e chave estrangeira sem código de aplicação. Para conferir uma consulta antes de subir, use o console SQL da aba Dados.

Banco do app que já roda aqui

A aplicação e o banco ficam no mesmo painel e no mesmo plano: um deploy, uma conta, e a conexão sai pelo host do banco com TLS em vez de atravessar a internet aberta até outro provedor.

Dados de conexão

Estes valores aparecem no painel do banco assim que ele termina de subir. O id é o identificador do banco sem os hifens.

Versão8.0
Porta<port>
TLSObrigatório
AutenticaçãoX509 obrigatório
Host<id>.db.usa1.vertraweb.app

Conectando pelo cliente mysql

São três arquivos, não um: certificate.pem para validar o servidor, certificate.crt e certificate.key para o servidor validar você. Sem os dois últimos, o X509 recusa a conexão mesmo com a senha certa.

bash
mysql -h <id>.db.usa1.vertraweb.app -P <port> -u root -p default   --ssl-mode=VERIFY_IDENTITY --ssl-ca=certificate.pem --ssl-cert=certificate.crt --ssl-key=certificate.key

Um plano para cada fase do projeto

A memória e o armazenamento do banco mudam por plano; o engine, não. Compare os planos e escolha o que cabe agora.

Comparar planos

Outros bancos gerenciados

Mesmo painel, mesmos certificados, outro engine.

Perguntas frequentes sobre MySQL gerenciado

As dúvidas que mais chegam ao suporte sobre bancos MySQL.

Como conecto com TLS?

TLS é obrigatório e a autenticação é X509, então o cliente precisa dos três arquivos: --ssl-ca=certificate.pem, --ssl-cert=certificate.crt e --ssl-key=certificate.key. Em drivers, é o mesmo trio nas opções de SSL (ssl.ca, ssl.cert, ssl.key).

Onde baixo os certificados?

Na página do banco no dashboard, ou pela API. A CA, o certificado de servidor e o de cliente são gerados automaticamente na criação do banco e podem ser baixados quando você precisar.

O que o reset destrutivo apaga?

O conteúdo do banco: resetar devolve a instância ao estado inicial e não tem como desfazer. Resetar senha e resetar certificados são outras duas operações — elas trocam credenciais e preservam os dados. Tire um snapshot antes.

Como restauro um snapshot?

Pela lista de snapshots do banco: escolha o ponto e confirme a restauração. Há um intervalo de 30 segundos entre uma restauração e a seguinte, e o conteúdo do snapshot também pode ser baixado em ZIP.

Quantos bancos posso ter e o que muda por plano?

Nos planos pagos, não há uma quantidade fixa de bancos: cada instância é criada com a RAM escolhida e precisa caber na memória disponível do plano. Este MySQL exige no mínimo 1.024 MB. O Free ("suspenso") permite 1 app + 1 banco, mas a RAM do plano Free ainda está pendente de definição. Snapshots manuais começam no Scale; a aba Dados, no Intermediary.

Crie seu MySQL agora

Escolha a memória, espere o banco subir e baixe os certificados no painel para a primeira conexão.

Criar conta