Para instalar o MySQL manualmente em uma instância do Compute Engine que você criou, siga estas etapas.
Para ter uma visão geral das várias opções de configuração do MySQL no Compute Engine, consulte MySQL no Compute Engine. Para saber quais ofertas do Compute Engine são adequadas para o MySQL, consulte Configurar o MySQL no Compute Engine.
Antes de começar
- Use o console Google Cloud para ativar a API Compute Engine.
- Instale a Google Cloud CLI.
Configure seu espaço de trabalho para tornar os comandos menos detalhados. Substitua os valores do seu projeto por PROJECT_ID, REGION e ZONE nos comandos a seguir. Para ver a lista completa de zonas, consulte Regiões e zonas disponíveis.
gcloud config set project PROJECT_ID gcloud config set compute/region REGION gcloud config set compute/zone ZONE
Criar uma instância do Compute Engine e estabelecer uma conexão SSH
Crie uma instância do Compute Engine para MySQL e estabeleça uma conexão SSH para se conectar a ela. O sistema operacional padrão é o Debian versão 10. Se preferir usar um sistema operacional diferente neste tutorial, escolha uma das opções descritas na página de imagens públicas da documentação do Compute Engine.
Console
Criar a instância do Compute Engine
Para criar a instância do Compute Engine no Google Cloud console, faça o seguinte:
No console Google Cloud , acesse a página Instâncias de VM do Compute Engine.
Selecione o projeto recém-criado e clique em Continuar.
Clique em Criar instância ou Nova instância, caso você já tenha instâncias. Atribua o nome mysql-test a ela.
Para especificar um sistema operacional diferente do padrão, na seção Disco de inicialização, clique em Alterar para configurar as propriedades do disco de inicialização. Na guia Imagens públicas, selecione um sistema operacional e clique em Salvar.
Para estar em conformidade com as práticas recomendadas de segurança, crie a instância sem um endereço IP externo.
Expanda Opções avançadas e expanda Rede. Em Interfaces de rede, expanda a interface padrão e, no menu Endereço IPv4 externo, selecione Nenhum.
Clique em Criar.
Configurar a conversão de endereços de rede
Para configurar e gerenciar a conversão de endereços de rede com o Cloud NAT, faça o seguinte:
No console Google Cloud , acesse a página do Cloud NAT.
Clique em Primeiros passos ou Criar gateway Cloud NAT.
Em Nome do gateway, digite
nat-simple-configuration
.Para selecionar o Cloud Router, na seção Selecionar o Cloud Router, faça o seguinte:
- Em Rede, selecione default.
- Em Região, selecione a região especificada para a VM.
Em Cloud Router, selecione Criar novo roteador.
Na caixa de diálogo Criar um roteador que aparece, insira um Nome para o roteador (por exemplo,
nat-router-simple-configuration
) e clique em Criar.
Clique em Configurações avançadas.
Na seção Logging, selecione Tradução e erros. Essa configuração configura o Cloud NAT para enviar todos os registros ao Cloud Logging.
Clique em Criar.
Estabeleça uma conexão SSH com a VM
Para estabelecer uma conexão SSH, faça o seguinte:
Na página Instâncias de VM, localize a nova instância na lista.
Na coluna Conectar da VM, clique em SSH. O terminal SSH é aberto em uma janela do navegador.
gcloud
Para criar uma instância do Compute Engine, use o comando
gcloud compute instances create
. Para especificar o sistema operacional, adicione o parâmetro--image-family
seguido pela família de imagens ou o parâmetro--image
seguido pelo nome de uma versão de imagem específica. Por exemplo, para usar a imagem mais recente da família Debian 10, adicione--image-family debian-10
. Ao usar imagens públicas, o projeto de imagem precisa ser fornecido usando o parâmetro--image-project
.gcloud compute instances create \ --image-family debian-10 \ --image-project debian-cloud \ --no-address \ mysql-test
Criar um Cloud Router.
gcloud compute routers create nat-router-simple-configuration \ --network=default
Configurar e gerenciar a conversão de endereços de rede com o Cloud NAT
gcloud compute routers nats create nat-simple-configuration \ --router=nat-router-simple-configuration \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --enable-logging
Conecte-se à instância usando
ssh
.gcloud compute ssh \ --tunnel-through-iap \ mysql-test
A conexão SSH é feita usando o encaminhamento de TCP, que é processado pelo Identity-Aware Proxy (IAP).
Instalar o MySQL
As etapas a seguir descrevem como instalar o MySQL em uma instância do Compute Engine.
Debian 10+
Estas instruções instalam o MySQL 8 ou 5.7.
As versões 10 e posteriores do Debian contêm o MariaDB em vez do MySQL como parte do sistema de gerenciamento de pacotes. O MariaDB mantém a compatibilidade com o protocolo MySQL, mas tem um conjunto de recursos em evolução independente. Para mais detalhes, consulte MariaDB x MySQL.
Para instalar o MySQL, faça o download do pacote de versão e instale manualmente usando
o comando dpkg
.
Instale a dependência
wget
.sudo apt-get install -y wget
Faça o download do pacote de versão do MySQL Community Server.
export DEB_FILE=mysql-apt-config_0.8.20-1_all.deb cd /tmp curl -L --output ${DEB_FILE} \ https://dev.mysql.com/get/${DEB_FILE}
Verifique a integridade do arquivo do pacote de versão.
cat > ${DEB_FILE}.md5 << EOL 799bb0aefb93d30564fa47fc5d089aeb ${DEB_FILE} EOL md5sum --check ${DEB_FILE}.md5
A autenticidade e a integridade do arquivo estarão verificadas se você vir a saída a seguir:
mysql-apt-config_0.8.20-1_all.deb: OK
Depois de verificar o arquivo, adicione o pacote MySQL ao repositório de pacotes local.
sudo dpkg -i ${DEB_FILE}
Confirme as opções de instalação, incluindo a versão do MySQL.
Com a opção do menu superior MySQL Server e Cluster selecionada, pressione Return e use as teclas de seta para escolher uma versão do servidor.
Neste guia, você precisa escolher MySQL 8.0 ou 5.7. Pressione Return no teclado depois de selecionar a versão.
Quando estiver tudo certo com as opções selecionadas no menu de configurações, use as teclas de seta para selecionar
Ok
no menu e pressione Return no teclado.Atualize o cache do pacote.
sudo apt-get update
Se você receber a mensagem de erro de GPG As seguintes assinaturas não foram verificadas porque a chave pública não está disponível: NO_PUBKEY 467B942D3A79BD29, importe as chaves de GPG ausentes com um que segue este padrão:
sudo apt-key adv \ --keyserver keyserver.ubuntu.com \ --recv-keys 467B942D3A79BD29
Na mensagem de erro demonstrativa, a chave pública ausente é
467B942D3A79BD29
. Forneça esse valor com a opção--recv-keys
.Repita o comando para atualizar o cache do pacote.
Instale o MySQL. O processo de instalação inicia o serviço MySQL para você.
sudo apt-get -y install mysql-community-server
Você precisará fornecer alguns detalhes para a instalação, como a senha raiz.
Debian 9
Estas instruções instalam o MySQL 8 ou 5.7.
Por padrão, algumas versões do Debian, como o Debian 9, instalam o MariaDB como o servidor padrão do MySQL. O MariaDB foi projetado para ser amplamente compatível com o MySQL e pode ser invocado com os mesmos comandos. Para saber mais detalhes sobre as diferenças entre o MariaDB e o MySQL padrão, consulte Como passar do MySQL para o MariaDB no Debian 9.
Para instalar o MySQL, siga estas instruções:
Faça o download do pacote de versão do MySQL Community Server.
export DEB_FILE=mysql-apt-config_0.8.17-1_all.deb cd /tmp curl -L --output ${DEB_FILE} \ https://dev.mysql.com/get/${DEB_FILE}
Verifique a integridade do arquivo do pacote de versão.
cat > ${DEB_FILE}.md5 << EOL 9e393c991311ead61dcc8313aab8e230 ${DEB_FILE} EOL md5sum --check ${DEB_FILE}.md5
A autenticidade e a integridade do arquivo estarão verificadas se você vir a saída a seguir.
mysql-apt-config_0.8.17-1_all.deb: OK
Depois de verificar o arquivo, adicione o pacote MySQL ao repositório de pacotes local.
sudo dpkg -i ${DEB_FILE}
Confirme as opções de instalação, incluindo a versão do MySQL.
Com a opção do menu superior MySQL Server e Cluster selecionada, pressione Return e use as teclas de seta para escolher uma versão do servidor.
Neste guia, você precisa escolher MySQL 8.0 ou 5.7. Pressione Return no teclado depois de selecionar a versão.
Quando estiver tudo certo com as opções selecionadas no menu de configurações, use as teclas de seta para selecionar
Ok
no menu e pressione Return no teclado.Atualize o cache do pacote.
sudo apt-get update
Se você receber a mensagem de erro de GPG As seguintes assinaturas não foram verificadas porque a chave pública não está disponível: NO_PUBKEY 467B942D3A79BD29, importe as chaves de GPG ausentes com um que segue este padrão:
sudo apt-key adv \ --keyserver keyserver.ubuntu.com \ --recv-keys 467B942D3A79BD29
Na mensagem de erro demonstrativa, a chave pública ausente é
467B942D3A79BD29
. Forneça esse valor com a opção--recv-keys
.Repita o comando para atualizar o cache do pacote.
Instale o MySQL. O processo de instalação inicia o serviço MySQL para você.
sudo apt-get -y install mysql-community-server
Ubuntu
Para o Ubuntu 1804 e versões anteriores, estas instruções instalam o MySQL 5.7.
Para o Ubuntu 2004 e versões posteriores, estas instruções instalam o MySQL 8.
Atualize o gerenciador de pacotes
apt-get
.sudo apt-get update
Instale o MySQL. O processo de instalação inicia o serviço MySQL para você.
sudo apt-get -y install mysql-server
Por padrão, nas distribuições do Ubuntu, o MySQL autentica o usuário
root
com o plug-inauth_socket
. Execute esta consulta para verificar a configuração padrão:echo "SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user='root' ;" \ | sudo mysql -t -u root
A saída mostra que o usuário
root
que se conecta a partir delocalhost
usará o plug-inauth_socket
:+------+-----------------------+-------------+-----------+ | user | authentication_string | plugin | host | +------+-----------------------+-------------+-----------+ | root | | auth_socket | localhost | +------+-----------------------+-------------+-----------+
Altere essa configuração e a senha raiz para uma difícil de adivinhar:
export PASSWORD=`uuidgen`; echo "Root password is : $PASSWORD" echo "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$PASSWORD'" \ | sudo mysql -u root
A saída contém a nova senha raiz:
Root password is : 25fe2177-778a-414f-b80e-5fb8c8671de3
CentOS ou RHEL 7
Estas instruções instalam o MySQL 8.
A versão 7 do CentOS e do RHEL contém MariaDB em vez de MySQL como parte do sistema de gerenciamento de pacotes. Para instalar o MySQL, atualize o gerenciador de pacotes.
Faça o download do pacote de versão do MySQL Community Server.
export RPM_FILE=mysql80-community-release-el7-4.noarch.rpm cd /tmp curl -L --output ${RPM_FILE} \ https://dev.mysql.com/get/${RPM_FILE}
Verifique a integridade do arquivo do pacote de versão.
cat > ${RPM_FILE}.md5 << EOL 8b55d5fc443660fab90f9dc328a4d9ad ${RPM_FILE} EOL md5sum --check ${RPM_FILE}.md5
A autenticidade e a integridade do arquivo estarão verificadas se você vir a saída a seguir.
mysql80-community-release-el7-4.noarch.rpm: OK
Atualize o gerenciador de pacotes para incluir o MySQL.
sudo rpm -Uvh ${RPM_FILE}
Instale o MySQL.
sudo yum -y install mysql-community-server
Inicie o servidor MySQL.
sudo /usr/bin/systemctl start mysqld
Consiga a senha raiz temporária nos registros do servidor
sudo cat /var/log/mysqld.log | grep -i 'temporary password'
Rocky Linux ou RHEL 8
Estas instruções instalam o MySQL 8.
A versão 8 do Rocky Linux, CentOS Stream e RHEL contém o MariaDB em vez do MySQL como parte do sistema de gerenciamento de pacotes. Para instalar o MySQL, atualize o gerenciador de pacotes.
Faça o download do pacote de versão do MySQL Community Server.
export RPM_FILE=mysql80-community-release-el8-2.noarch.rpm cd /tmp curl -L --output ${RPM_FILE} \ https://dev.mysql.com/get/${RPM_FILE}
Verifique a integridade do arquivo do pacote de versão.
cat > ${RPM_FILE}.md5 << EOL 0ba3feb1c9ee35d30e5ae683accaf54b ${RPM_FILE} EOL md5sum --check ${RPM_FILE}.md5
A autenticidade e a integridade do arquivo estarão verificadas se você vir a saída a seguir.
mysql80-community-release-el8-2.noarch.rpm: OK
Atualize o gerenciador de pacotes para incluir o MySQL.
sudo rpm -iUvh ${RPM_FILE}
Instale o MySQL. Durante a instalação, desative o repositório do AppStream para que a instalação use o servidor da comunidade.
sudo yum module disable -y mysql sudo yum install -y \ --disablerepo=appstream \ mysql-community-server
Inicie o servidor MySQL.
sudo /usr/bin/systemctl start mysqld
Consiga a senha raiz temporária nos registros do servidor
sudo cat /var/log/mysqld.log | grep -i 'temporary password'
Melhorar a segurança da instalação do MySQL
Para melhorar a segurança da instalação do MySQL, execute o comando mysql_secure_installation
. Se você não tiver configurado uma senha durante o processo de instalação, crie uma nesta etapa. Para mais informações sobre esse comando, consulte a documentação do MySQL relativa a mysql_secure_installation.
sudo mysql_secure_installation
Conectar-se ao MySQL
As etapas a seguir descrevem como se conectar ao MySQL a partir da instância mysql-test
.
MySQL 8.0
Conecte-se ao MySQL usando o cliente do MySQL.
sudo mysql -u root -p
Quando você se conecta ao MySQL, o prompt muda para
mysql>
:Agora é possível executar os comandos do MySQL. Por exemplo, este comando mostra os threads em execução, inclusive a conexão atual:
mysql> SHOW processlist;
+----+-----------------+-----------+------+---------+------+------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------+------+---------+------+------------------------+------------------+ | 5 | event_scheduler | localhost | NULL | Daemon | 1889 | Waiting on empty queue | NULL | | 14 | root | localhost | NULL | Query | 0 | init | show processlist | +----+-----------------+-----------+------+---------+------+------------------------+------------------+ 2 rows in set (0.00 sec)
Use o comando a seguir para gerar uma lista de usuários.
mysql> SELECT User, Host, authentication_string FROM mysql.user;
+------------------+-----------+------------------------------------------------------------------------+ | User | Host | authentication_string | +------------------+-----------+------------------------------------------------------------------------+ | mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | | root | localhost | $A$005$,BS{G+*#cVYxb6x40q0aFS5dp2/Kz6u2vennR5qe0eBKVA/6VW5B | +------------------+-----------+------------------------------------------------------------------------+ 4 rows in set (0.00 sec)
Ao terminar de executar os comandos, use o comando
exit
para encerrar o cliente MySQL. Em seguida, useexit
novamente para sair da instância do Compute Engine.mysql> exit
Bye
MySQL 5.7
Conecte-se ao MySQL usando o cliente do MySQL.
sudo mysql -u root -p
Quando você se conecta ao MySQL, o prompt muda para
mysql>
:Agora é possível executar os comandos do MySQL. Por exemplo, este comando mostra os threads em execução, inclusive a conexão atual:
mysql> SHOW processlist;
+----+------+-----------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+-------+------------------+ | 51 | root | localhost | NULL | Query | 0 | NULL | show processlist | +----+------+-----------+------+---------+------+-------+------------------+ 1 row in set (0.00 sec)
Use o comando a seguir para gerar uma lista de usuários.
mysql> SELECT User, Host, authentication_string FROM mysql.user;
+---------------+-----------+-------------------------------------------+ | User | Host | authentication_string | +---------------+-----------+-------------------------------------------+ | root | localhost | *A047B05AAB007B33F8F2BD1FD404661D167D6348 | | mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | +---------------+-----------+-------------------------------------------+ 3 rows in set (0.00 sec)
Ao terminar de executar os comandos, use o comando
exit
para encerrar o cliente MySQL. Em seguida, useexit
novamente para sair da instância do Compute Engine.mysql> exit
Bye
A seguir
- Para mais informações sobre o MySQL, consulte a documentação oficial do MySQL.
- Conheça a grande variedade de pilhas de desenvolvimento no Cloud Marketplace que usam o MySQL.
- Caso seus requisitos incluam alta disponibilidade e dimensionalidade, considere as
seguintes opções:
- Instale o MySQL Cluster no Compute Engine para ter alta disponibilidade e escalonabilidade com cluster sem compartilhamento e auto-fragmentação.
- Clique para implantar o Percona, uma solução de código aberto para geração de cluster no MySQL, no Cloud Marketplace.
- Instale o Vitess, a solução de código aberto que veicula todo o tráfego de banco de dados do YouTube desde 2011. O Vitess é adequado para aplicativos executados em contêineres. Para informações sobre como usar o Vitess em um ambiente em contêineres, consulte Como executar o Vitess no Kubernetes.